Android帮助文档第一部分新手上路.docx
《Android帮助文档第一部分新手上路.docx》由会员分享,可在线阅读,更多相关《Android帮助文档第一部分新手上路.docx(46页珍藏版)》请在冰豆网上搜索。
Android帮助文档第一部分新手上路
Android帮助文档(第一部分)新手上路
1、安装SDK1
下载SDK1
系统和软件配置要求1
安装SDK2
Eclipse上开发Android应用程序3
创建Android工程4
运行和调试程序4
利用其他的开发环境和工具开发Android应用程序5
Eclipse小提示8
2、Hello,Android!
9
3、App的结构18
Activity19
IntentReceiver20
Service20
ContentProvider20
4、入门指引20
入门指引:
记事本应用21
记事本练习122
记事本练习229
记事本练习338
入门指引:
额外的练习(ExtraCredit)43
1、安装SDK
下载SDK
本页介绍了如何安装Android的SDK开发包和配置开发环境。
如果你还没有下载SDK,点击下面的链接开始
DownloadtheSDK
系统和软件配置要求
要通过AndroidSDK中提供的代码和工具进行Android应用程序的开发,需要一个合适的用于开发的电脑和合适的开发环境,具体要求如下:
支持的操作系统
∙WindowsXP或者Vista
∙MacOSX10.4.8或更新的版本(只支持x86架构)
∙Linux(在UbuntuDapperDrake上测试过)
支持的开发环境
∙Eclipse
oEclipse3.2,3.3(Europa)
oAndroid开发工具插件(可选)
∙其他的开发环境或者IDE
oJDK5.0或者JDK6.0(仅有JRE是不够的)
o与GNU的Java编译器不兼容
oApacheAnt对Linux和Mac版本需要1.6.5或更新,对Windows版本需要1.7或更新
安装SDK
下载好SDK包后,将zip文件解压缩至合适的地方。
在下文中,我们默认你的SDK安装目录为$SDK_ROOT你可以选择将$SDK_ROOT/tools加入到你的路径中
∙Linux下,打开文件~/.bash_profile或者~/.bashrc,找到设定PATH环境变量的一行,将$SDK_ROOT/tools的完整路径加入其中。
如果没有找到设定PATH变量的行,你可以自己添加一行:
exportPATH=${PATH}:
<你的$SDK_ROOT/tools的完全路径>
∙Mac下,在你的home目录中找到文件.bash_profile,和Linux的一样处理。
如果还没有在机器上设定这个文件,你可以创建一个.bash_profile文件。
∙Windows下,右键点击【我的电脑】,选择【属性】,在【高级】页中,点击【环境变量】按键,在弹出的对话框中双击“系统变量”中的变量“Path”,将$SDK/tools的完全路径加入其中。
通过将$SDK/tools加入系统路径,在运行adb和其它一些命令行工具时就不需要键入完全路径名了。
需要注意到是,当你升级了SDK后,如果安装路径有变动的话,不要忘记了更新你的PATH变量的设置,将其指向变动后的路径。
安装Eclipse插件(ADT)
如果你选择Eclipse作为Android的开发环境,可以安装一个专门为Android定制的插件:
AndroidDevelopmentTools(ADT),ADT插件集成
了对Android工程和工具的支持,它包含了大量功能强大的扩展,使得创建、运行、调试Android程序更简单更快捷。
如果你不打算使用Eclipse,那么就不需要下载或者安装ADT插件。
为了下载和安装ADT插件,请按照下面的步骤设置Eclipse的远程更新站点:
1.启动Eclipse,依次选择Help>SoftwareUpdates>FindandInstall....
2.在弹出的窗口中,选择Searchfornewfeaturestoinstall,然后点击Next
3.点击NewRemoteSite
4.在弹出的对话框中,为远程站点输入一个自定义的名字(例如:
AndroidPlugin),然后输入下面的内容作为其默认的URL:
然后点击OK
https:
//dl-
1.现在你应该可以在搜索列表中看见刚才新加入的站点了(默认已经选中了),点击Finish
2.在随后的SearchResults对话框中,选中AndroidPlugin>EclipseIntegration>AndroidDevelopmentTools,然后点击Next
3.阅读许可协议,然后选择Accepttermsofthelicenseagreement,点击Next
4.点击Finish
5.ADT插件没有signed,在安装过程中会弹出确认窗口,你只需要点击InstallAll就可以了
6.重启Eclipse
7.重启后,在Eclipse的Preferences中指定SDK的路径
a.选择Window>Preferences...打开Preference的面板。
(MacOSX:
Eclipse>Preferences)
b.在左侧的面板中选择Android
c.在主面板中,点击Browse...定位到SDK的目录
d.点击Apply,然后点击OK
更新ADT插件
按照下面的步骤将你的ADT插件升级到最新版本:
1.选择Help>SoftwareUpdates>FindandInstall...
2.选择Searchforupdatesofthecurrentlyinstalledfeatures,然后点击Finish
3.如果ADT插件有任何更新,选择并且安装
∙另一种更新的方法:
1.选择Help>SoftwareUpdates>ManageConfiguration
2.在其中找到AndroidDevelopmentTools<版本号>并选中
3.在AvailableTasks下选择ScanforUpdates
Eclipse上开发Android应用程序
要开始在Eclipse上开发Android应用程序,首先需要创建一个Android工程并且设置好启动配置项。
然后你就可以开始编写、运行和调试你的应用程序了。
本节接下来的内容默认你已经在Eclipse中安装了ADT插件。
如果你尚未安装ADT,那么建议你先参照安装Eclipse插件(ADT)一节中的介绍。
创建Android工程
ADT插件提供了一个创建新工程的向导以使你能够快速的创建一个新的Eclipse工程或者为现有代码创建一个新工程。
按照以下步骤来创建一个工程:
1.选择File>New>Project
2.选择Android>AndroidProject,然后点击Next
3.在Content中选择Project
o选择Createnewprojectinworkspace以创建一个新的工程
键入工程的名字,你程序的名称,basepackage的名字,Activityclass的名字来创建一个stub.java文件
o选择Createprojectfromexistingsource从现有代码创建一个工程。
通过这种方式,你可以编译运行SDK里面sample中的应用程序。
sample应用程序在SDK安装目录下的samples/中
找到包含有现有代码的路径并点击OK。
如果路径中含有一个有效的Android的manifestfile,ADT插件就会加载包名,程序名,activity名
4.点击Finish
ADT插件会根据你的工程的类型创建以下合适的文件夹和文件:
∙src/文件夹包含stub.javaactivityfile
∙res/文件夹包含你的资源文件
∙AndroidManifest.xml是你工程的manifest
创建启动配置
要想在Eclipse下运行并调试你的程序,你需要先创建启动配置。
启动配置中指定了要启动的工程,要用的模拟器选项等等。
要给程序创建启动配置,按照如下步骤:
1.选择Run>OpenRunDialog...或者Run>OpenDebugDialog...
2.在左侧工程类型的列表中,右键点击AndroidApplication并且选择New
3.给你的配置键入一个名字
1.在Android的Tab页上,找到用于开始的工程和Activity
2.在模拟器Tab页上,设置需要的屏幕和网络属性,和其他一些模拟器启动选项
3.在Common的Tab页上,你可以对一些附加的选项进行设置
4.点击Apply保存启动配置,或者,点击Run或者Debug
运行和调试程序
当你建立工程,并为你的程序设置好启动配置后,按照下面的步骤你就可以运行或者调试你的程序了。
在Eclipse的主菜单上选择Run>Run或者Run>Debug,来运行或者调试可用的启动配置
需要注意的是可用的启动配置默认的是最近一次在启动配置中选择的那一个。
并不一定是对应着你在Eclipse打开的那个程序。
要设置或者更改启动配置,你可以通过运行配置管理器即点击Run>OpenRunDialog...或者Run>OpenDebugDialog...
运行或者调试应用程序会引发以下的动作
∙启动模拟器
∙编译工程,并将程序安装在模拟器上
∙Run启动程序
∙Debug启动程序进入“等待调试器”模式,然后打开调试视图并连接至Eclipse的Java调试器
利用其他的开发环境和工具开发Android应用程序
推荐您使用带有Android插件的Eclipse来开发Android应用程序,ADT插件提供了编辑、编译、调试功能并集成进了IDE中。
然而,SDK中包含了可以让你用其他IDE开发的工具,包括intelliJ
调试
Android有数量众多的工具用于支持调试程序:
∙DDMS-DDMS是一个图形化的程序,支持端口转发(因此你可以在程序中设置断点),支持模拟器上的截屏,支持线程和堆栈信息和其他的一些特性。
∙logcat-Dump一份系统消息的日志。
这些消息包括模拟器抛出错误时的堆栈跟踪。
要运行logcat,点击链接获取更详细的信息。
...
I/MemoryDealer(763):
MemoryDealer(this=0x54bda0):
Creating2621440bytesheapat0x438db000
I/Logger(1858):
getView()requestingitemnumber0
I/Logger(1858):
getView()requestingitemnumber1
I/Logger(1858):
getView()requestingitemnumber2
D/ActivityManager(763):
Stopping:
HistoryRecord{409dbb20com.google.android.home.AllApps}
...
∙AndroidLog-一个记录日志的类,用来将消息写入模拟器上的日志文件中。
如果你在DDMS上运行logcat的话你可以就实时查看消息。
在你的代码中加入几个写日志方法的调用。
为了使用Log类,你只需要调用Log.v()(verbose),Log.d()(debug),Log.i()(information),Log.w()(warning)或者Log.e()(error),根据你想获得的日志信息来选择相应的方法
Log.i("MyActivity","MyClass.getView()—Requestingitemnumber"+position)
你可以用logcat来读取这些信息
∙Traceview-Android可以保存一个日志用来记录被调用的方法以及该方法被调用的次数,通过Traceview你可以在一个图形化的界面中查看这个日志文件。
点击链接获取更详细的信息。
∙Eclipse插件-Eclipse的Android插件合并了一系列的调试工具(ADB,DDMS,logcatoutput和其他一些函数)。
点击链接查看更多详情。
∙DebugandTestDeviceSettings-Android提供了一些设置用来获取诸如CPU使用率和帧速率等有用的信息。
具体请看下面的设备上调试和测试的设置
如果想知道为什么你程序无法在模拟器上显示或者为什么程序没有启动,请查看常见问题这一节
设备上调试和测试的设置
Android提供了众多的设置使你可以更容易的调试和测试程序。
要进入开发设置页面,在模拟器中转到DevTools>DevelopmentSettings。
在该设置页面有以下选项:
∙Debugapp:
选择要调试的程序。
你不需要设定其关联至调试器,但是设定这个值有两个效果:
o在调试的时候,如果你在一个断点处暂停了过长的时间,这个设定会防止Android抛出一个错误
o这个设定使你可以选择“等待调试器”选项,使程序只有在调试器关联上之后才启动
∙WaitforDebugger:
阻塞所选的程序的加载直到有调试器关联上,这样你就可以在onCreate()中设置断点,这对于调试一个Activity的启动进程是非常重要的。
当你对该选项进行了更改,任何正在运行的程序的实例都会被终止。
你只有在上面的选项中选择了一个调试程序才能够选中该选项。
你一也可以在代码中添加waitForDebugger()来实现同样的功能。
∙Immediatelydestroyactivities:
告诉系统一旦一个activity停止了就销毁该activity(例如当Android释放内存的时候)。
这对于测试代码onFreeze(Bundle)/onCreate(android.os.Bundle)是非常有用的,否则会比较困难。
如果你的程序没有保存状态,那么选择这个选项很可能会引发很多问题。
∙Showscreenupdates:
对于任何正在被重绘的screensections都会在其上闪现一个粉红色的矩形。
这对于发现不必要的screen绘制是很有必要的。
∙ShowCPUusage:
在屏幕上方显示CPU信息,显示有多少CPU资源正在被使用。
上方红色条显示总的CPU使用率,它下方绿色的条显示CPU用在compositingthescreen上的时间。
注意:
在没有重启模拟器之前,一旦你开启了该功能就不能关闭。
∙ShowscreenFPS:
显示当前的帧率。
这对于查看游戏达到的总的帧率是非常有用的。
注意:
在没有重启模拟器之前,一旦你开启了该功能就不能关闭。
∙Showbackground:
当没有activityscreens可见时,显示一个背景模式。
一般是不会出现的,仅仅在Debug的时候会出现。
设定的选项在模拟器重启之后仍然有效,如果要取消设定的选项,在取消设定以后还要重启模拟器,才能生效。
重要的调试小提示
快速的堆栈dump
要在模拟器上获得一个堆栈dump,你可以通过adbshell登入,用“ps”找到你想要的进程,然后“kill-3”,堆栈跟踪信息就会记录到日志文件中了。
在模拟器屏幕上显示有用信息
设备上可以显示诸如CPU利用率或者对重绘区域的边缘高亮显示等有用信息,在开发设置窗口可以打开或者关闭这些功能,详细信息参见[安装SDK#设备上调试和测试的设置|在模拟器上设置调试和测试配置]
从模拟器上获取系统状态信息(dumpstate)
你可以通过DalvikDebugMonitorService工具来获得dumpstate信息。
参见adb章节的dumpsysanddumpstate
从模拟器上获取程序状态信息(dumpsys)
你可以通过DalvikDebugMonitorService工具来获得dumpsys信息。
参见adb章节的dumpsysanddumpstate
获取无线连接信息
你可以通过DalvikDebugMonitorService工具来获得无线连接信息。
在Device菜单,选择“Dumpradiostate”
日志记录跟踪数据
你可以在一个activity中通过调用android.os.Debug.startMethodTracing()来用日志来记录方法调用和其他跟踪数据。
详细内容请参见RunningtheTraceviewDebuggingProgram
日志记录RadioData
默认情况下,radio信息是不会记录在系统中的(因为数据量巨大)。
然而,你可以通过下面的命令来开启radio记录
adbshell
logcat-bradio
运行adb
Andoid中自带了一个叫adb的工具,该工具功能强大,可以移动并同步文件到模拟器,转发端口。
在模拟器上运行一个UNIXshell。
详细内容参见Usingadb
从模拟器上获取屏幕截图
DalvikDebugMonitorServer(DDMS)可以从模拟器上获取屏幕截图
利用调试帮助类
Android为了开发者的方便提供了诸如util.Log和Debug等帮助类
编译安装Android应用程序
Android需要专门的编译工具来正确的编译资源文件和Android程序的其他部分。
基于此,你需要为你的程序准备一个专门的编译环境。
Andorid的编译过程通常包括编译XML和其他资源文件、创建正确的输入格式。
经过编译的Android程序是一个.apk文件,.apk文件是一个压缩文件,它其中包含了.dex文件、资源文件、rawdata文件和其他文件。
Andoriod暂时还不支持用本地代码(C/C++)开发第三方程序。
强烈推荐[安装SDK#在Eclipse上开发Android应用程序在Eclipse上开发Andoid应用程序],通过Eclipse+ADT插件可以支持编译、运行、调试Andorid程序。
如果你用其他IDE,参见[安装SDK#利用其他的开发环境和工具开发Android应用程序利用其他的开发环境和工具开发Android应用程序]来编译和调试Android程序,但是他们不是集成在一起的。
移除Andorid程序
要移除你安装在模拟器上的程序,你需要通过runadb并删除相应的.apk文件。
通过adbshell在模拟器上打开一个UNIXshell,进入目录data/app/,通过命令rm你程序的名称.apk来移除文件
Eclipse小提示
在Eclipse上执行arbitraryJava表达式
在Eclipse中,当程序运行到断点处暂停时,你可以执行arbitrarycode。
例如:
在一个有一个String参数的函数“zip”,你可以获取包的信息和调用类的方法。
你同样可以调用静态方法:
例如输入android.os.Debug.startMethodTracing()可以开始dmTrace
打开一个代码执行窗口,在主菜单中选择[b]Window>ShowView>Display[/b]打开显示窗口:
一个简单的文本编辑器。
输入你的表达式,高亮文本,点击图标“J”(或者Ctrl+Shift+D)来运行你的代码。
Thecoderunsinthecontextoftheselectedthread,whichmustbestoppedatabreakpointorsingle-steppoint.(Ifyoususpendthethreadmanually,youhavetosingle-steponce;thisdoesn'tworkifthethreadisinObject.wait().)
如果你此时在一个断点处暂停,你可以简单通过Ctrl+Shift+D来高亮并执行一段代码。
YoucanhighlightablockoftextwithinthesamescopebypressingALT+SHIFT+UPARROWtoselectlargerandlargerenclosingblocks,orDOWNARROWtoselectsmallerblocks.
下面是一些在Eclipse中显示窗口中的输入和响应的例子:
Input
Response
zip
(java.lang.String)/work/device/out/linux-x86-debug/android/app/android_sdk.zip
zip.endsWith(".zip")
(boolean)true
zip.endsWith(".jar")
(boolean)false
Youcanalsoexecutearbitrarycodewhennotdebuggingbyusingascrapbookpage.SearchtheEclipsedocumentationfor"scrapbook".
手动运行DDMS
尽管调试推荐的方式是利用ADT插件,你仍然可以通过手动运行DDMS并配置Eclipse在8700端口调试。
(注意:
确定你已经启动了DDMS)
取自"
2、Hello,Android!
Firstimpressionsmatter,andasadeveloperyouknowthatthefirstimpressionyougetofadevelopmentframeworkishoweasyitistowrite"Hello,World!
"Well,inAndroid,it'sprettyeasy.Here'showitlooks:
第一印象,作为一个开发人员,我们对一个新的开发框架的第一印象通常是看他的”Hello,World!
”程序有多简单。
在Android中,实现起来是非常简单的。
实现HelloWorld需要几个步骤:
∙CreatetheProject
∙ConstructtheUI
∙RuntheCode:
Hello,Android
∙创建项目
∙设计用户界面
∙运行程序:
Hello,Android
Thesectionsbelowspellitalloutindetail.
以下几节讨论更加详细的内容
∙UpgradingtheUI