android相关文档Word下载.docx
《android相关文档Word下载.docx》由会员分享,可在线阅读,更多相关《android相关文档Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
意图字段包括渴望的动作、种类、数据、数据的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/Ninepatchimage
一种可变尺寸的位图资源,可用作设备上的背景或其他图片。
15.资源
用户提供的XML、位图或其他文件,构建程序时会导入进来,稍后会被代码加载,Android支持多种类型的资源,请参考Resources中的详细描述,程序定义的资源文件应当保存在res/子目录下。
16.服务(Service)
运行在后台执行多种固定任务的类,如播放音乐或检测网络活动。
17.主题(Theme)
一系列定义多种默认显示设置的参数(文字大小、背景颜色等)。
Android在R.style中提供了几个标准的主题(以"
Theme_"
开头)。
18.URIs
Android使用URI字符串请求数据(如通信录列表)和动作(如在浏览器中打开网页)。
URI字符串可以具有不同的格式。
所有请求数据的URI必须以“content:
//”开头。
有效的动作URI字符串会被设备上的适当的程序处理,例如,以“http:
//”开头的URI字符串会被浏览器处理。
Android模拟器
AndroidEmulator是一款功能非常齐全的模拟器,电话本、通话等功能都可进行模拟。
甚至其内置的浏览器和GoogleMaps都可以联网。
用户可以使用键盘输入,单击模拟器按键输入,甚至还可以使用鼠标单击、拖动屏幕进行操作。
1.模拟器和真机的不同之处
*不支持呼叫和接听实际来电,但可以通过控制台模拟电话呼叫(呼入和呼出)。
*不支持USB连接。
*不支持相机/视频捕捉。
*不支持音频输入(捕捉),但支持输出(重放)。
*不支持扩展耳机。
*不能确定连接状态。
*不能确定电池电量水平和交流充电状态。
*不能确定SD卡的插入/弹出。
*不支持蓝牙。
2.参数大全
Android模拟器emulator.exe文件包含了很多参数,平时在EclipseIDE中,模拟器运行被自动调用的,如果仅仅使用Androidemulator或采用NetBean这样的开放环境又如何设置呢?
我们总结了一下模拟器的所有参数及使用方法,具体如下所示。
AndroidEmulatorusage:
emulator[options][-qemuargs]
options:
-system<
dir>
readsystemimagesfrom<
-datadir<
writeuserdatainto<
-kernel<
file>
emulatedkernel指定内核文件
-ramdisk<
ramdiskimage(default<
system>
/ramdisk.img)创建内存磁盘
-image<
systemimage(default<
/system.img)
-initdata<
initialuserimage(default<
/userdata.img)
-data<
workinguserimage(default<
datadir>
/userdata-qemu.img)
-wipe-data
resettheuserdataimage(copyitfrominitdata)清除所有用户数据
-nocache
disablethecachepartition禁止分区缓存
-sdcard<
SDcardimage(default<
/sdcard.img)使用SD卡映像
-skindir<
searchskinsin<
(default<
/skins)搜索外观皮肤路径
-skin<
skin>
selectagivenskin选择Android模拟器皮肤ID
-noskin
don'
tuseanyemulatorskin不使用任何模拟器外观,这样有助于提高模拟器速度,内存小的用户可以尝试
-netspeed<
speed>
maximumnetworkdownload/uploadspeeds设置网络速度如GPRS、EDGE、3G更多详细的内容下面有介绍
-netdelay<
delay>
networklatencyemulation网络延时设置
-netfast
disablenetworkshaping(fullspeed,nolatency)网络全速工作
-trace<
name>
enablecodeprofiling(pressF9tostart)跟踪调试
-debug-kernel
sendkerneloutputtotheconsole内核调试
-console
enableconsoleshelloncurrentterminal启用控制台Shell在当前中端
-nojni
disableJNIchecksintheDalvikruntime禁用JNI检查
-logcat<
tags>
enablelogcatoutputwithgiventags设置log输出标签
-noaudio
disableandroidaudiosupport禁用音频支持
-useaudio
enableandroidaudiosupport(default)启用音频支持
-mic<
WAVfileforaudioinput使用wav文件模拟mic麦克输入
-flash-keys
flashkeypressesonthedeviceskin
-raw-keys
disableUnicodekeyboardreverse-mapping
-radio<
device>
redirectradiomodeminterfacetocharacterdevice
-oldradio
enableoldVM-basedsimulatedradio
-onion<
image>
useoverlayimageoverscreen
-onion-alpha<
%age>
specifyonionskintranslucency(default50)
-http-proxy<
proxy>
makeTCPconnectionsthroughaHTTP/HTTPSproxy代理服务器设置
-verbose
enableverboseoutput
-verbose-keys
enableverbosekeypresses
-verbose-proxy
enableproxydebugmessages
-version
displayemulaterversionnumber
-qemu
passargumentstoqemu
-qemu-h
displayqemuhelp
-help
printthishelp
Defaultnetworklatencyis'
none'
<
canbeoneofthefollowing:
http:
//<
server>
:
<
port>
username>
password>
@<
the'
http:
//'
prefixcanbeomitted.If'
-http-proxy<
'
isnotused,
http_proxy'
environmentvariableislookedupandanyvaluematching
the<
formatwillbeusedautomatically
3.快捷键
Android模拟器同样存在很多快捷键,当模拟器运行时,可以使用下面的快捷键来操作Androidemulator,这样比用键盘和鼠标操作更高效,不妨试一下:
D:
\unsetup\android-sdk-windows-1.1_r1\tools>
emulator.exe-help-keys
Whenrunningtheemulator,usethefollowingkeypresses:
HOME
Homebutton主界面键
F2,PAGEUP
Menu(Soft-Left)button左软键
Shift-F2,PAGEDOWN
Star(Soft-Right)button右软键
ESCAPE
Backbutton后退键
F3
Call/Dialbutton拨号/呼叫键
F4
Hangup/EndCallbutton结束通话
F7
Powerbutton电源键
F5
Searchbutton搜索键
KEYPAD_PLUS,Ctrl-F5
Volumeupbutton增大音量键
KEYPAD_MINUS,Ctrl-F6
Volumedownbutton减小音量键
Ctrl-KEYPAD_5,Ctrl-F3
Camerabutton相机键
KEYPAD_7,Ctrl-F11
switchtopreviouslayout返回键
KEYPAD_9,Ctrl-F12
switchtonextlayout后一个界面
F8
togglecellnetworkon/off禁止/启用所有网络
F9
togglecodeprofiling开始跟踪
Alt-ENTER
togglefullscreenmode打开/关闭全屏模式
F6
toggletrackballmode打开/关闭轨迹球
DELETE
showtrackball显示轨迹球
KEYPAD_5
DPadcenter导航中建/OK键
KEYPAD_4
DPadleft左键
KEYPAD_6
DPadright右键
KEYPAD_8
DPadupshang上键
KEYPAD_2
DPaddown下键
KEYPAD_MULTIPLY
increaseonionalpha
KEYPAD_DIVIDE
decreaseonionalpha
4.模拟器使用注意事项
平时使用emulator测试开发程序时,可能会遇到系统关于C盘空间不足之类的提示,这是由于Android模拟器每次运行时会临时生成几个.tmp后缀的临时文件,一段时间后,其可能占用几G的磁盘空间。
所以需要手工定期清理一下C:
\DocumentsandSettings\sh\LocalSettings\Temp\AndroidEmulator文件夹下的内容。
Android的ADB工具使用
在SDK的Tools文件夹下包含着Android模拟器操作的重要命令ADB,ADB的全称为AndroidDebugBridge,就是调试桥的作用,借助这个工具,我们可以管理设备或手机模拟器的状态
,还可以进行以下的操作:
(1)快速更新设备或手机模拟器中的代码,如应用或Android系统升级;
(2)在设备上运行Shell命令;
(3)管理设备或手机模拟器上的预定端口;
(4)在设备或手机模拟器上复制或粘贴文件。
ADB的工作方式比较特殊采用监听SocketTCP5554等端口的方式让IDE和Qemu通信,默认情况下ADB会daemon相关的网络端口,所以当我们运行Eclipse时ADB进程就会自动运行,在Eclipse中通过DDMS来调试Android程序;
也可以通过手动方式调用,以下为一些常用的操作供参考。
1.版本信息
\unsetup\android-sdk-windows-1.0_r1\tools>
adbversion
AndroidDebugBridgeversion1.0.20
2.安装应用到模拟器
adbinstall[-l][-r]<
。
其中file是需要安装的apk文件的决定路径。
3.卸载已经安装的应用
(1)方法1:
adbuninstall[-k]<
package>
其中package表示需要卸载的应用的包的名字,k表示是否保留应用的配置信息和cache数据。
(2)手动删除。
adbshell
cd/data/app
rmapp.apk
4.进入设备或模拟器的Shell
通过上面的命令,就可以进入设备或模拟器的Shell环境中,在这个Linux
Shell中,可以执行各种Linux
的命令,另外如果只想执行一条Shell命令,可以采用以下的方式:
adbshell[command]
如:
adbshelldf
/dev:
49564Ktotal,0Kused,49564Kavailable(blocksize4096)
/sqlite_stmt_journals:
4096Ktotal,0Kused,4096Kavailable(blocksize4096)
/system:
69120Ktotal,65508Kused,3612Kavailable(blocksize4096)
/data:
76544Ktotal,63684Kused,12860Kavailable(blocksize4096)
/cache:
69120Ktotal,1244Kused,67876Kavailable(blocksize4096)
5.转发端口
可以使用forward命令进行任意端口的转发—一个模拟器/设备实例的某一特定主机端口向另一不同端口的转发请求。
下面演示了如何建立从主机端口7100到模拟器/设备端口8100的转发。
adbforwardtcp:
7100tcp:
8100
同样地,可以使用ADB来建立命名为抽象的UNIX域套接口,上述过程如下所示:
7100local:
logd
6.复制文件
可以使用adbpull,push命令将文件复制到一个模拟器/设备实例的数据文件或是从数据文件中复制。
install命令只将一个apk文件复制到一个特定的位置,与其不同的是,pull和push命令可让用户复制任意的目录和文件到一个模拟器/设备实例的任何位置。
从模拟器或者设备中复制文件或目录,使用如下命:
adbpull<
remote>
local>
将文件或目录复制到模拟器或者设备,使用如下命令:
adbpush<
在这些命令中,<
和<
分别指通向自己的发展机(本地)和模拟器/设备实例(远程)上的目标文件/目录的路径。
下面是一个例子:
adbpushfoo.txt/sdcard/foo.txt
7.搜索模拟器/设备的实例
取得当前运行的模拟器/设备的实例的列表及每个实例的状态,如:
adbdevices
Listofdevicesattached
HT843GZ03305
device
8.查看bug报告
adbbugreport
========================================================
==dumpstate
------SYSTEMLOG------
04-1216:
59:
46.521D/ShowTrack(23968):
MyOverlay:
darw..mDefCaption=I'
mHere.
46.531D/ShowTrack(23968):
46.541D/ShowTrack(23968):