Android学习笔记
1、Android 创建AVD时,会让设置skin选项,表示分辨率,可以选择android提供的分辨率,也可以自定义分辨率(山寨手机)
2、AndroidMainfest.xml(清单文件)列出应用程序所具有的功能
3、<intent-filter>意图过滤器用于匹配意图,
4、定义程序在启动列表中,此Activity作为程序的入口:
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
5、应用程序打包过程(原理):
*.java-编译成*.class--à通过dx工具生成*.dex文件--à通过打包(签名)成*.apk
应用程序打包过程:
程序右键选择Export-à选择Android-àExport Android Application—>….-->*.apk
程序包安装到手机过程:
adb install c:\...\*.apk或把*.apk文件拷贝到手机中,在手机中找到文件点击安装
启动程序过程:
创建进程-à创建主线程-à在主线程中实例化Activity-à(操作系统会把应用有关的信息(Context)存放进Activity,然后调用onCreate())
6、FrameLayout:帧布局里面的控件是叠加的,后面的控件叠加在前面的控件上。
7、SAX/DOM/PULL解析和加载XML
8、在Android中使用时SharePerferences来保存用户偏好。
9、文件位置:存在/data/data/包名/files/xxx;
首选项:存放在/data/data/报名/shared_prefs/xxx.xml
数据库文件:存放在/data/data/报名/databases/xxx.db
10、SQLiteOpenHelper类和SQLiteDatabase类来操作数据库。
使用SQLiteDatabase类的execSQL和rawQuery方法来处理表添删改查操作,也可以insert/update/delete/query方法来操作数据库表。
11、SQLiteDatabase类中可以设置事务操作:
SQLiteDatabase db = dbHelper.getWritableDatabase();
Try{
Db.beginTransaction();
……………..//一堆数据库操作
Db.setTransactionSuccessful();//设置事务的标志位true。
}Catch(Exception e){
………….
}finally{
Db.endTransaction();
//事务提交,事务的标志位true时会提交事务,否则事务回滚。默认状态时false。
}
12、添加第三方jar包方法:
在项目源码下,有个libs文件夹,把第三方jar包拷贝进去,就可以使用此jar包。
13、使用socket或http进行通信时,要加入Internet权限(“android.permission.INTERNET”)。
14、建议使用Content provider(内容提供者)对外提供数据。统一了数据的访问方式。可以提供XML/TXT/DB….的数据。组件要在清单文件中配置,Content provider是一个组件,需要在清单文件中配置。
15、URI:schema+主机名或者authority+路径
主机名或者authority:
说明是哪个Content provider,外部调用者会根据这个标识来找到它。
路径:
表示要操作哪些数据。
对于Content Provider,schema是”content://”
比如一个content provider的uri(标识操作equipment表中的第10条记录)为:
content://cn.zst.provider.equpmentprovider/equipment/10
16、在Thread子线程中更新UI或者操作数据库时,需要用到Context对象,而Thread类本省获取不到Context对象,此时可以采用在初始化Thread对象时把Activity类对象传进去,这样借助Activity对象的Context就能正常使用UI和操作数据库了。