android学习笔记 Android Environment 获取各种路径的方法 Arrays.asList() 详解 Android Drawable文件下shape和selector的使用 Android DisplayMetrics类获取屏幕大小 Android App包瘦身优化实践 Android animation-list动画 Android自定义View之invalidate方法和postInvalidate方法

android学习笔记
Android Environment 获取各种路径的方法
Arrays.asList() 详解
Android Drawable文件下shape和selector的使用
Android DisplayMetrics类获取屏幕大小
Android App包瘦身优化实践
Android animation-list动画
Android自定义View之invalidate方法和postInvalidate方法

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

android学习笔记
Android Environment 获取各种路径的方法
Arrays.asList() 详解
Android Drawable文件下shape和selector的使用
Android DisplayMetrics类获取屏幕大小
Android App包瘦身优化实践
Android animation-list动画
Android自定义View之invalidate方法和postInvalidate方法

okio 使用起来比java.io方便很多

5. 线程池 ExecutorService 的理解和使用

6. StringBuilder 

String、StringBuffer和StringBuilder的区别

 7 android组件间的通信

监听器(定义接口,实现方法)、本地广播、EventBus 

8 switch case 中作用域是一个,如果在case 1中定义了一个变量,然后在case 2中就不能在定义这个变量,解决方法:可以在case中用一个大括号括起来就可以新建一个局部作用域

9 android时间间隔

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()

参考:

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

参考

1. Handler引起内存泄漏的原因及解决方法

2. Handler消息机制之深入理解Message.obtain()

3. Handler与Message的简单demo

20 AS 编辑器设置模板

android学习笔记
Android Environment 获取各种路径的方法
Arrays.asList() 详解
Android Drawable文件下shape和selector的使用
Android DisplayMetrics类获取屏幕大小
Android App包瘦身优化实践
Android animation-list动画
Android自定义View之invalidate方法和postInvalidate方法

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事件分发机制

android学习笔记
Android Environment 获取各种路径的方法
Arrays.asList() 详解
Android Drawable文件下shape和selector的使用
Android DisplayMetrics类获取屏幕大小
Android App包瘦身优化实践
Android animation-list动画
Android自定义View之invalidate方法和postInvalidate方法

31 退出app

System.exit(0);
android.os.Process.killProcess(android.os.Process.myPid());

 32 

Android中Parcelable接口用法

33 利用LeakCanary检测内存泄漏