安卓小笔记
1.凡是和访问网络有关的,都放在子线程中进行,防止网络状况不好而导致应用停止,影响用户。
2.子线程不能直接更新界面。一般这种情况,在主线程中创建一个Handler。子线程sendMessage,主线程handlerMessage。
3.View.inflater可以将xml布局文件转化为view对象。
4.进度条可以在子线程中更新,因为它的内部已经实现了handler,传递消息。Progressbar.setmaxsize, Progressbar.setProgress().
5.安卓中线程数一般为3~5个,线程太多反而运行得慢,并不是越多越快,实际上还是单核运行,需要来回切换不同的线程。
6.多线程断点下载开源框架:afinal,XUtils
不要重复制作一个轮子,把别人做好的轮子装到自己车上开就可以了。。。。。。。。。。。。。。
7.外面导入的jar包直接复制放在libs目录下。
8.双斜杠//后面跟的是主机名。
9.显示意图和隐式意图的区别
显示意图必须指定要激活的组件的完整包名和类名(应用程序之间耦合在一起,如果包名或者类名改变,组件激活就不成功),一般激活自己应用的组件的时候采用显式意图。
隐式意图只需要指定动作和数据就可以了(好处是应用程序之间没有耦合,包名或类名改变不影响,只要意图过滤器中的动作和数据不变就可以了),一般激活别人写的应用采用隐式意图,不需要关心对方的包名和类名。
10.一个activity中可以关心两个intent。
11.一个activity用什么主题可以在Theme里面设置,但是那只是预览,要想生效,还得去清单文件里面配置Theme.
12.清单文件里面配置configChanges设置可以忽略的选项,选择orientation忽略横竖屏切换,keyBoardHidden,避免软键盘影响生命周期,还得忽略screenSize,ctrl+f11切换横竖屏,指定screenOrientation=landscape指定横屏。
setData和setDataType的区别。
android 5,Java8!