新手学习记录,基本基于2.3版本,不正确的请指出
在Android Emulator登录Gmail账户
1、用Google API创建AVD,
仅仅用Android SDK API创建的无法用Gmail账户
2、通过eclipse启动AVD,注意配置参数,选择Run Configerations,注意联网
3、登录同步Gmail账户
4、整机reset,再执行第3步(如果出现不稳定链接错误)
现在就可以开始测试程序了
linux下eclipse反编译插件的安装参考:http://jiangnanguying.iteye.com/blog/506947
安装方式可以自由发挥,貌似64位和32位的linux都可以
学习笔记
Linear Tabular Relative三种布局,还有种特殊的Frame布局
FILL_PARENT和MATCH_PARENT一样
FILL_PARENT已经被丢弃了,新的版本用MATCH_PARENT
这个Contacts已经被丢弃了,用ContactsContract来代替
ContactsContract结构是个什么样子的?
Contact是不能直接增加的,必须先有个Raw Contact
Data包含Contacts,Data是广范围的联系人
Activity
Activity生命周期
Active or Running
Paused
Stopped
Killed
当内存不够时,操作系统会回收非活动的Activity
Activity Stack
父子Activity之间的跳转通过Intent
更多Intent的操作和特性参考其他资料balabala
各种相关方法
startActivity(Intent)
startActivityForResult(Intent, int)
onActivityResult(int, int, Intent)
setResult(int)
父子Activity之间调用的各种返回碼(也可以自定义代碼)
RESULT_CANCELED
RESULT_OK
如果Child Activity崩溃了,那么Parent会收到RESULT_CANCELED代碼
长时间任务(例如数据库操作或者某些竞争资源的访问)都需要放在AsyncTask后台执行,执行完之后再通知UI
对于和当前Activity无关的长时间任务,可以发起一个Service,让它在后台执行,这样即使当前Activity变为非活动的了,该长时间任务也可以继续执行
比如在照相机程序中需要将拍摄的照片上传到网络中,因为上传网络是个比较耗时的任务,所以可以让它以Service在后台执行,这样即使突然的来电或其他程序导致照相机程序变为非活动的也不会影响到上传任务的执行
layout_weight只能在LinearLayout使用?
要想在TableLayout中使用,怎么办?
关于工具
DDMS Perspective打开基本可以看到你想用的任何工具
模拟器加载SD Card启动
lucane@KNIGHT:~$ emulator -avd avd23 -sdcard /home/lucane/.android/avd/avd23.avd/sdcard.img
用Eclipse的File Explorer无法将生成的vcf文件pull下来,提示
[2010-12-27 23:58:54] Failed to pull selection
[2010-12-27 23:58:54] (null)
于是只好用命令行试试竟然可以
sudo ./adb pull /sdcard/backup.vcf .