1 数据库的封装
一般以Dao开头或结尾,Dao意思是data access object。
2 TextView,
如果想在AS开发的时候显示text,而在真机上不显示,可以使用tools:text = "xxx",
需要引入xmlns:tools="http://schemas.android.com/tools"
3 Java 休眠2秒代码
TimeUnit.SECONDS.sleep(2); 需要try catch
4 I/O
okio 使用起来比java.io方便很多
5. 线程池 ExecutorService 的理解和使用
6. StringBuilder
String、StringBuffer和StringBuilder的区别
7 android组件间的通信
监听器(定义接口,实现方法)、本地广播、EventBus
8 switch case 中作用域是一个,如果在case 1中定义了一个变量,然后在case 2中就不能在定义这个变量,解决方法:可以在case中用一个大括号括起来就可以新建一个局部作用域
SystemClock.uptimeMillis() // 从开机到现在的毫秒数(手机睡眠的时间不包括在内);
System.currentTimeMillis() // 从1970年1月1日 UTC到现在的毫秒数;
11 当前线程
Thread.currentThread()
12 更新UI线程
runOnUiThread(new Runnable() { @override public void run() { } })
12 AS忽略警告
通过 // noinspection GradleCompatible 可以忽略下一行的警告
13 图片加载库
UniversalImageLoader
Volley
Picasso
Glide
14 获取sd卡的根目录
Environment.getExternalStorageDirectory().getPath()
参考:
Android Environment 获取各种路径的方法
15
Arrays.asList() 详解
16
Android Drawable文件下shape和selector的使用
17 实现延迟3秒后执行
使用Handler的postDelayed方法
Handler mHandler = new Handler(); mHandler.postDelayed(new Runnable(){}, 3000);
mHandler.removeCallbacks(mRunnable);可以防止内存泄漏
18 压缩图片的网站
https://tinypng.com
19 android的消息处理机制,Handler与Message
参考
2. Handler消息机制之深入理解Message.obtain()
20 AS 编辑器设置模板
21. Gson解析
22.
Android DisplayMetrics类获取屏幕大小
23 android 下载包
Uri uri = Uri.parse("xxx"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent);
24 四大组件的共同特性
1) 都需要继承
2)都需要在AndroidManifest.xml进行配置
25
Android App包瘦身优化实践
26 动画氛围帧动画,属性动画,视图动画。
帧动画参考
Android animation-list动画
27 recreate 重建整个activity
28 invalidate方法是用于进行View的刷新,invalidate方法应用在UI线程中.
参考:
Android自定义View之invalidate方法和postInvalidate方法
29 dp2px
public class Utils { public static int dp2px(Context context, int dpVal) { return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dpVal, context.getApplicationContext().getResources().getDisplayMetrics()) } }
30 android事件分发机制
31 退出app
System.exit(0);
android.os.Process.killProcess(android.os.Process.myPid());
32
Android中Parcelable接口用法
33 利用LeakCanary检测内存泄漏