附录一 Android 常用开发术语
本附录汇集一些在本书中使用和涉及到的Android术语介绍和说明。
1.apk扩展名
apk是Android包的扩展名,一个Android包包含了与某个Android应用程序相关的所有文件,apk文件将AndroidManifest.xml文件、应用程序代码(dex文件)、资源文件和其他文件组成一个压缩包,一个项目只能打包压缩成一个apk文件。
2..dex扩展名
Android的程序被编译成.dex(Dalvik Executable)格式文件, 然后再进行打包生成可被直接安装的apk文件。
3.应用程序(APP)
一个或多个Activity、服务、监听和Intent接收器的集合,一个应用程序有一个文件清单,并且打包成一个apk文件。
3.Action
对Intent发送器意图的描述,一个活动是一个指派给Intent的字符串值。活动字符串可以由Android定义,也可以由第三方开发者定义。例如,在网页URL中使用的android.intent.action.VIEW或者在用户应用程序中使用的 com.example.rumbler.SHAKE_PHONE来使电话震动。
4.ADB( Android Debug Bridge )
SDK自带的一个基于命令行的调试程序。它提供了设备浏览工具、设备上的拷贝工具和为调试转寄端口的功能。更多信息请参考附录三(Android的ADB工具使用)。
5.内容源
内容源是建立在类ContentProvider之上的用于处理指定格式的内容请求字符串,并返回指定格式的数据的类。关于内容源的使用信息请参考本书第7章内容。
6.Dalvik Android
虚拟机的名字,Dalvik虚拟机是一个只能解释执行dex文件的虚拟机,dex文件针对存储性能和内存管理进行了优化。 Dalvik虚拟机是基于寄存器的虚拟机,并且能够运行经过Dalvik自带的“dx”工具转换过的Java类。 虚拟机运行在兼容Posix的操作系统上,依赖于底层的功能(如线程和低级内存管理)。Dalvik的核心类库有意做得与Java标准版非常类似,但它明显更适合小型移动设备。
7.DDMS
调试监视服务(Dalvik Debug Monitor ServiceDalvik)是SDK自带的一个可视的调试工具。它提供了屏幕捕捉、日志存储和进程检测能力。
8.Drawable
编译过的可视化资源,可以用来做背景、标题或屏幕的其他部分。它被编译在android.graphics.drawable子类中。
9.意图(Intent)
意图是一个Intent类,它包含很多描述调用者意图做什么的字段。调用者发送意图到Android意图处理器,意图处理器会遍历所有应用程序的意图过滤器来查找与该意图最匹配的Activity。意图字段包括渴望的动作、种类、数据、数据的MIME类型、一个处理类和其他约束。
10.意图过滤器(intent-filter)
Activity和意图接收器(Receiver)在它们的文件清单中包含一个或多个过滤器,用来描述什么类型的意图或者信息是它们能处理或想接收的。一个意图过滤器列出了一系列要求,例如,意图或信息必须满足的数据类型、被请求的动作和URI的格式。对于Activity,Android搜索意图和Activity过滤器匹配程度最高的Activity;对于消息,Android会将消息转发给所有匹配意图过滤器的接收器。
11.Intent接收器(Receiver)
一个监听是由Context.broadcastIntent()发出的信息广播的类,详细信息请参考本书第9章。
12.布局资源
一个描述Activity屏幕布局的XML文件。
13.文件清单
应用程序中的一个XML文件,用于描述包中多个Activity、Intent过滤器、服务和其他内容。可以打开AndroidManifest.xml查看其包含的内容。
14.Nine-patch / 9-patch / Ninepatch image
一种可变尺寸的位图资源,可用作设备上的背景或其他图片。
15.资源
用户提供的XML、位图或其他文件,构建程序时会导入进来,稍后会被代码加载,Android支持多种类型的资源,请参考Resources中的详细描述,程序定义的资源文件应当保存在res/ 子目录下。
16.服务(Service)
运行在后台执行多种固定任务的类,如播放音乐或检测网络活动。
17.主题(Theme)
一系列定义多种默认显示设置的参数(文字大小、背景颜色等)。Android在R.style中提供了几个标准的主题(以"Theme_"开头)。
18.URIs
Android使用URI字符串请求数据(如通信录列表)和动作(如在浏览器中打开网页)。URI字符串可以具有不同的格式。所有请求数据的URI必须以“content://”开头。有效的动作URI字符串会被设备上的适当的程序处理,例如,以“ http://”开头的URI字符串会被浏览器处理。
附录二 Android模拟器
Android Emulator是一款功能非常齐全的模拟器,电话本、通话等功能都可进行模拟。甚至其内置的浏览器和Google Maps都可以联网。用户可以使用键盘输入,单击模拟器按键输入,甚至还可以使用鼠标单击、拖动屏幕进行操作。
1.模拟器和真机的不同之处
* 不支持呼叫和接听实际来电,但可以通过控制台模拟电话呼叫(呼入和呼出)。
* 不支持USB连接。
* 不支持相机/视频捕捉。
* 不支持音频输入(捕捉),但支持输出(重放)。
* 不支持扩展耳机。
* 不能确定连接状态。
* 不能确定电池电量水平和交流充电状态。
* 不能确定SD卡的插入/弹出。
* 不支持蓝牙。
2.参数大全
Android模拟器emulator.exe文件包含了很多参数,平时在Eclipse IDE中,模拟器运行被自动调用的,如果仅仅使用Android emulator或采用NetBean这样的开放环境又如何设置呢? 我们总结了一下模拟器的所有参数及使用方法,具体如下所示。
Android Emulator usage: emulator [options] [-qemu args]
options:
-system read system images from
-datadir write user data into
-kernel emulated kernel 指定内核文件
-ramdisk ramdisk image (default /ramdisk.img) 创建内存磁盘
-image system image (default /system.img)
-initdata initial user image (default /userdata.img)
-data working user image (default /userdata-qemu.img)
-wipe-data reset the user data image (copy it from initdata) 清除所有用户数据
-nocache disable the cache partition 禁止分区缓存
-sdcard SD card image (default /sdcard.img) 使用SD卡映像
-skindir search skins in (default /skins) 搜索外观皮肤路径
-skin select a given skin 选择Android模拟器皮肤ID
-noskin don't use any emulator skin 不使用任何模拟器外观,这样有助于提高模拟器速度,内存小的用户可以尝试
-netspeed maximum network download/upload speeds 设置网络速度如GPRS、EDGE、3G更多详细的内容下面有介绍
-netdelay network latency emulation 网络延时设置
-netfast disable network shaping (full speed, no latency) 网络全速工作
-trace enable code profiling (press F9 to start) 跟踪调试
-debug-kernel send kernel output to the console 内核调试
-console enable console shell on current terminal 启用控制台Shell在当前中端
-nojni disable JNI checks in the Dalvik runtime 禁用JNI检查
-logcat enable logcat output with given tags 设置log输出标签
-noaudio disable android audio support 禁用音频支持
-useaudio enable android audio support (default) 启用音频支持
-mic WAV file for audio input 使用wav文件模拟mic麦克输入
-flash-keys flash key presses on the device skin
-raw-keys disable Unicode keyboard reverse-mapping
-radio redirect radio modem interface to character device
-oldradio enable old VM-based simulated radio
-onion use overlay image over screen
-onion-alpha