6、版本控制
module->build.gradle->android中
compileSdkVersion 22
buildToolsVersion "22.0.1"
1、compileSdkVersion是SDK的版本,也就是API Level,例如API-19、API-20、API-21等。
2、buildToolsVersion是构建工具的版本,包括打包工具aapt、dx等。这个工具的目录位于_sdk_path/build-tools/XX.XX.XX。这个版本号一般是API Level.0.x。 例如API20对应的build-tool的版本就是20.0.0,在这之间可能有小版本,例如20.0.1等。
3、可以用高版本的build-tool去构建一个低版本的sdk工程,例如build-tool的版本为20,去构建一个sdk版本为18的
8、android系统版本对应关系
10、Android SDK 功能解析
SDK中比较重要的目录包括【build-tools】【platforms】【platform-tools】【tools】
【build-tools】里是不同版本(例如21.1.1)的build工具,这些工具包括了apt打包工具、dx.bat、aidl.exe等
【platform】是存放不同API-level版本SDK目录的地方
【platform-tools】是一些android平台相关的工具,adb、fastboot等
【tools】是指的安卓开发相关的工具,例如android.bat、ddms.bat(Dalvik debug Monitor Service)、draw9patch.bat等等
9、异步任务AsyncTask的doInBackground执行慢
NoticesManage.NoticesManageTask task = new NoticesManage.NoticesManageTask(baseHandler);
task.execute(new String[]{NOTICES_MANAGE_LIST_NOTICES});
1.此种方式异步任务内部是在自己的线程池里面同步顺序执行,也就是说此时的异步是相对与ui线程的异步。所以有时候doInBackground执行的慢(慢到五六分中才执行)很正常了。
NoticesManage.NoticesManageTask task = new NoticesManage.NoticesManageTask(baseHandler);
task.executeOnExecutor(Executors.newCachedThreadPool(), new String[]{NOTICES_MANAGE_LIST_NOTICES});
2.此方式异步任务新建一个线程池 线程在这里并发执行,解决了doInBackground执行慢的问题。
10、SharedPreferences.Editor的apply和commit方法区别
SharedPreferences.Editor的apply 和commit方法的区别:
1.apply没有返回值而commit返回boolean表明修改是否成功;
2.apply是将修改数据原子提交到内存,而后异步真正提交到硬盘,而commit是同步的提交到硬件磁盘,因此,在多个并发的提交commit的时候,他们会等待正在处理的commit保存到磁盘后操作,从而降低了效率。而apply只售原子的提交到内容,后面有调用apply的函数将会直接覆盖前面的内存数据,从一定程度上提高了很多效率。
3.apply方法不会提示任何失败的提示。
由于在一个进程中,SharedPreferences是单实例,一般不会出现并发冲突,如果对提交的结果不关心的话,建议使用apply,当然需要确保提交成功后且有后续操作的话,还是要用commit。
20、圆角图片
30、AlertDialog.builder点击对话框外面和按返回键对话框不会消失
// 设置setCancelable属性
public void showNoProject() {
Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setCancelable(false);
builder.show();
}
30、gif图片显示
40、上下滚动广告条
96、给ImageView添加点击效果
1)、新建selector.xml文件
97、控件显示到上层
- 控件是覆盖显示的,后加进来的控件覆盖前面的控件。
- view.bringToFront() 可以将布局在下层的控件放到上层。
98、设置EditText光标在左上方
当EditText高度设置高了之后,光标会在垂直居中。
此时设置android:gravity="top"就可以实现,默认为center
99、ERROR: Could not determine artifacts for androidx.test.ext:junit:1.1.0: Skipped due to earlier error
多编译几次即可
Q.E.D.