一、为了正确的使用AsyncTask类,以下是几条必须遵守的准则:
(1)Task的实例必须在UI thread中创建;
(2)Execute方法必须在UI thread 中调用;
(3)不要手动的调用onPreExecute(),onPostExecute(Result).doInBackGround(Params...),onProgressUpdate(Progress...)这几个方法;
(4)该Task只能被执行一次,否则多次调用时将会出现异常;
(5)DoInBackground方法和onPostExecute的参数必须对应,这两个参数在AsyncTask声明的泛型参数列表中指定,第一个为doInBackground接受的参数,第二个为显示进度的参数,第三个为doInBackground返回和onPostExecute传入的参数。
二、属于PULL解析XML中字段的是
(1)START_TAGB;
(2)START_DOCUMENTC;
(3)TEXT
三、gen目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的xml界面文件、图标与常量,同步更新修改R.java。R.java在应用中起到了字典的作用。它包含了界面、图标、常量等各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编译器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编译进软件中,这样可以减少应用在手机占用的空间。
四、Res/资源(Resource)目录
在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。
五、AndroidManifest.xml功能清单文件
这个文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、GPS服务等)。另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity。
Default.properties项目环境信息,一般是不需要修改此文件。
六、在Android中,有4种activity启动模式,分别为:“standard”(默认)、“singleTop”、“singleTask”、“singleInstance”
它们主要有如下不同:
1、如何决定所属task
“standard”和“singleTop”的activity的目标task,和收到的Intent的发送者在同一个task内,除非intent包括参数FLAG_ACTIVITY_NEW_TASK。如果提供了FLAG_ACTIVITY_NEW_TASK参数,会启动到别的task里。
“singleTask”、“singleInstance”总是把activity作为一个task的根元素,他们不会被启动到一个其他task里。
2、是否允许多个实例“standard”和“singleTop”可以被实例化多次,并且存在于不同的task中,且一个task可以包括一个activity的多个实例;“singleTask”、“singleInstance”则限制只生成一个实例,并且是task的根目录。singleTop要求如果创建intent的时候栈顶已经有要创建的activity的实例,则将intent发送给实例,而不发送给新的实例。
3.是否允许其他activity存在于本task内“singleInstance”独占一个task,其他activity不能存在那个task里;如果它启动了一个新的activity,不管新的activity的launch mode 如何,新的activity都将会到别的task里运行(如同加了FLAG_ACTIVITY_NEW_TASK参数)。而另外三种模式,则可以和其它activity共存。
4.是否每次都生成新实例
“standard”对于没一个启动Intent都会生成一个activity的新实例;“singleTop”的activity如果在task的栈顶,则不生成新的该activity的实例,直接使用栈顶的实例,否则,生成该activity的实例。
如:现在task栈元素为A-B-C-D(D在栈顶),这时候给D发一个启动intent,如果D是“standard”,则生成D的一个新实例,栈变为A-B-C-D。
如:D是singleTop,则不会生成D的新实例,栈状态仍为A-B-C-D。
如:这时候给B发Intent,不管B的launchmode 是“standard”还是“singleTop”,都会生成B的新实例,栈状态变为A-B-C-D-B。
“singleInstance”是其所有栈的唯一activity,它会每次都被重用。
“singleTask”如果在栈顶,则接受intent,不在栈顶则该intent会被丢弃,但是该task仍会回到前台。
当已经存在的activity实例处理新的intent时候,会调用onNewIntent()方法,如果收到intent生成一个activity实例,那么用户可以通过back键回到上一个状态;如果是已经存在的一个activity来处理这个intent的话,用户不能通过back键返回到这之前的状态。
七、当前屏幕横屏宽度:430dp
第一个子控件未分配权重前所占宽度:300dp
第二个子控件未分配权重前所占宽度:300dp
当前屏幕剩余空间总数:
430dp-300dp-300dp=-170dp,
将当前-170dp按权重分配给两个子控件,
子控件一分配到3/5
子控件二分配到2/5
第一个子控件分配权重后宽度:
430dp+(-170)*3/5 = 198dp
第二个子控件分配权重后宽度:
430dp+(-170)*2/5 = 232dp
八、广播的注册:在清单文件中声明,添加
<receiver android:name="IncomingSMSReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIED"/>
</intent-filter>
</receiver>
广播分为静态和动态
类要继承BroadcastReceiver
静态:广播跟随程序的生命周期;
动态:当应用程序关闭后,如果有信息广播来,程序也会被系统调用自动执行。
九、调用finish(),Activity调用顺序是onCreate()->onStart()->onResume()->onPause()->onStop()->onDestroy()
十、抽象类可以有抽象方法和实现方法,避免了在子类中重复实现这些方法,在一定程度上提升代码的重用性。
接口只能有抽象方法,不能有实现方法。
十一、IPC是内部进程通信的简称,是共享“命名管道”的资源。Android中的IPC机制是为了让Activity和Service之间可以随时进行交互,故在Android中该机制,只适用于Activity和Service之间的通信,类似于远程方法调用,类似于C/S模式的访问。通过定义AIDL接口文件来定义IPC接口。Service端实现IPC接口,Client端调用IPC接口本地代理。
十二、1、在流行度方面,XML已经被业界广泛使用,而JSON才刚刚开始,但是在Ajax这个特定的领域,未来的发展一定是XML让位于JSON。到时Ajax应该变成Ajax(Asynchronous Javascript and JSON)了。
2、JSON和XML同样拥有丰富的解析手段。
3、JSON相对于XML来讲,数据体积小。
4、JSON与JavaScript的交互更加方便。
Px、dp、dip、dpi、sp
AVD
Android的数据存储
安全退出Activity
抽象,类、接口的区别
关键字
数字签名
Service的生命周期
Android的层次
JSON解析
MVC模式
静态变量和实例变量
基本数据类型
Android命令创建模拟器
共享参数
异步任务
SQLite
关键字的区别
Service
Dialog
控件
输入输出
动画
进程
Activity生命周期
JSON和XML
代理模式
GC内存泄漏
Activity生命周期
Android的数据存储
单位转换
Sim卡的EF文件
打开res raw 目录中的数据文件
Activity旋转的生命周期
I/O流
Tools工具
Activity的生命状态
相对布局
JSON解析类
Xml中控件
Android线性布局中的权重
输出语句
嵌入式操作系统
Intentservice
SAX解析
Manifest.xml
SAX解析xml
ContentProvider
AIDL支持的数据类型
listView的优化
DOM解析
Java垃圾回收
JSON和XML
Adapter
Activity生命周期
SQLite
列表的显示
RatingBar
new对象
Arraylist、Vector、LinkedList的存储功能
进程
Android系统
Res/anim/、res/xml/、res/raw/
安全退出Activity
AIDL
handler处理机制
Int long所占字节数
构造方法
Android目录
Manifest.xml
assets目录
Android的四大组件
运算符
AsyncTask的使用
Activity生命周期
XML解析
Handler
Intent作用
Intent启动方式
基本数据类型
Xml解析
序列化
Android NDK
SharePreferences(共享参数)
共享存储数据读取
Dialog(对话框)
布局方式
JSON和XML
Android系统的优势
单线程模型
Activity的生命状态
抽象与接口
Toast时长
Activity生命周期
数据类型
ContentValues类
垃圾回收
Platform-tools工具
Service的生命周期
HashMap
进程
Activity、Intent、content Provider、Service
Activity的启动模式
new对象
模式
Overload和Override
Intent传值
Activity生命周期
SOAP
URL的组成
Sleep和wait
Android
IPC(进程间通信)机制
内存回收