October 29, 2016

Activity备忘

1.生命周期

Activity的生命周期

补充说明:

2.启动模式

standard:标准模式

每次都会创建新的实例

适用于一般页面

singleTop:栈顶复用模式

如果目标Activity在栈顶,则不新建,调用原有的onNewIntent()方法;

如果目标Activi......

October 29, 2016

Context备忘

Context继承关系

Context使用场景

October 29, 2016

8种ScaleType

演示图

October 29, 2016

TextView备忘

1.字符串资源里变量替换

在android中有这样一个东西,那就是 XLIFF,全称叫 XML 本地化数据交换格式,英文全称 XML Localization Interchange File Format。

用例:

<string name="welcome">你好%1$s,欢迎使用我们的App。</string>

String welcome = getString(R.string.welcome, "小丸子");

把字符串打印出来如下:

October 29, 2016

ProGuard备忘

ProGuard的4种功能:

压缩(Shrink) 移除代码中无用的类、字段、方法、和特性

优化(Optimize) 对字节码进行优化,移除无用的指令

混淆(Obfuscate) 使用剪短无意义的名称对类、字段、方法重命名

预检(Preveirfy) 在Java平台上对处理后的代码进行预检

ProGuard的工作原理

ProGuard由Shrink,Optimize,Obfuscate,Preveirfy四个步骤组成,其中每个步骤都是可选的

编写ProGuard文件

1.基本指令

代码混淆压缩比,在0~7之间,默认为5,-optimizationpasses 5

......

October 29, 2016

5种手势工具类

1.ViewConfiguration-视图标准类

1.1.对象方法

ViewConfiguration viewConfiguration=ViewConfiguration.get(context);

//获取touchSlop。该值表示系统所能识别出的被认为是滑动的最小距离

int touc......

October 29, 2016

View的手势分发

1.Touch事件分发流程

Touch事件分发流程

特别提醒:

View是没有onInterceptTouchEvent拦截方法的

一般情况下,View都会消耗事件(onTouchEvent返回true),除非它们是不可点击的(clickable和longClickable都为false)......

October 29, 2016

9种Interpolator

Interpolator 被用来修饰动画效果,定义动画的变化率,可以使存在的动画效果accelerated(加速),decelerated(减速),repeated(重复),bounced(弹跳)等。

1.Linear Interpolator / 线性插值器

公式: y=t

2.Acceler......

October 29, 2016

16种Xfermode

下图以黄圆为dest,蓝矩为src,展示了各种图片混合模式:

图片混合模式

这里以mosaicBitmap为dest,以touchBitmap为src, 设置DST_IN模式:在相交处取dest

canvas.drawBitmap(mosaicBitmap, 0, 0,paint);//dest

pain......

October 29, 2016

SQLite备忘

一、常用语言:

1.数据操作语言(DDL):

select --从数据库表中检索数据行和列

insert --向数据库表添加新数据行

delete --从数据库表中删除数据行

update --更新数据库表中的数据

2.数据定义语言(DML):

create table --创建一个数据库表

drop table --从数据库中删除表

alter table --修改数据库表结构

create view --创建一个视图

drop view --从数据库中删除视图

create index --为数据库表创建一个索引

drop index --从数据库中删除索引

create......

October 29, 2016

3种计时器实现方法

目标:每隔一秒,发送一个事件

1.Timer

@Override

public void onDestroy() {

LogUtil.print("");

timer.cancel();

super.onDestroy();

}

/**

* 初始化

*/

private void init() {

timer = new Timer();

timer.schedule(new TimerTask() {

@Override......

October 29, 2016

abd命令备忘

1.获取服务信息:

adb shell dumpsys,默认打印出当前系统所有service信息,在后面可加上具体的服务名

需要列出当前运行的服务,可运行:

adb shell dumpsys | findstr DUMP

2.获取设备分辨率:

adb shell dumpsys display | findstr DisplayDeviceInfo

DisplayDeviceInfo{"内置屏幕": 1080 x 1920, 55.0 fps, density 480, 464.949 x 468.923 dpi...

3.获取设备电池信息:

ad......

October 29, 2016

View备忘

1.View的坐标系

2.View的继承结构

October 29, 2016

Fragment备忘

1.Fragment生命周期图:

2.Fragment与Activity生命周期对比图:

October 29, 2016

View的绘制流程

基本流程图:

October 29, 2016

AndroidStudio常用插件

1.Android Parcelable Code Generator

自动实现Parcelable接口

2.Android ButterKnife Zelezny

自动注入视图和点击事件

3.Gsonformat

根据json数据自动生成java实体类

October 29, 2016

属性动画备忘

1、属性动画流程

2、相关API:

Property Animation故名思议就是通过动画的方式改变对象的属性了,我们首先需要了解几个属性:

Duration:动画的持续时间,默认300ms。

Time interpolation:时间差值,乍一看不知道是什么,但是我说LinearInterpolator、AccelerateDe......

October 28, 2016

ViewPager备忘

1、BaseViewPagerAdapter

package com.che.lovecar.ui.check;

import android.support.v4.view.PagerAdapter;

import android.view.View;

import android.view.ViewGroup;

import java.util.List;

/**

* 作者:余天然 on 2016/10/28 下午7:58

*/

public class BaseViewPagerAdapter extends PagerAdapter {

private List&l......