Android编程指南+程序员入门(中文版)

所需积分/C币:23 2011-12-20 21:34:08 1.3MB PDF
1
收藏 收藏
举报

Android编程指南+程序员入门(中文版),安卓培训文档
编程环境搭建 1、配置 android的开发环境 先从网上下载SDK,网址为http://code.googlecom/android/download.html 下载完成之后,解压缩文件到一个合适的路径。一般解压文件夹的命名规则是 android sdk< platforn>< release>< build>。在此文件夹下有文件夹 tools, samples等其它的文件夹。 这个SDK包含了所有的开发工具,不过基本都是字符界面的。 Eclipse集成开发环境 提供了很好的图形化开发界面,对SDK有很好的支持。现在一般用Ec|ⅰpse开发 Android 的应用程序。 要用 Eclipse开发 Android的应用程序,必需要下载 Android的 Eclispe插件(ADT httpdl-ssl.googlecom/android/adt-0.4.0.zip)才可以把Android的SDK集成到 Eclipse的开发环境中。 下载 Eclipse3.2或者 Eclipse3.3,解压之后,如果系统装了JDK1.5或者1.5以上版 本的就可以直接打开。接下来就是配置了,步骤如下: 1.解压缩ADT文件到你的本地目录; 2.启动 Eclipse,选择菜单Help> Software Updates> Find and install 3.在弹出的对话框中选者 Search for new features to install and press Next 4.在 Eclipse的对话框中选者 New local site…; 5.在弹出的对话框中,选者你的ADT目录。 eDit Local site D: android ADT-0, 4.0/ADT-0,4.0 p Cancel 6.在此步骤是,你应该可以看见你的 new site已经在 search list(处于被选中状态)。 选择 Finish 7.现在已经配置好了ADT了,此时你选择 Eclipse菜单 Window> References…, 弹出对话框 e Preferences 回 pe filter text Android +I-Gen android preference Buil- SDK Location: D:landroid, android-sdk m5-rC14-Nindows rose ·An +]Install Update +Run DEbug +web ard xml Restore defaults 如上图配置就可以后,选者Appy>ok 2、配置运行环境 ADT插件提供了新工程的创建的 Wizard,你可以使用它来创建新的工程或者导入 个现存的工程。创建一个工程的步骤如下 1.选择Fie>NeW> Project 2.选择 Android> Android Project, and press Next 3.在对话框 the contents for the project: 选择创建新的工程:输入工程名称,Java的类组织包, Activity的名词还有你的 程序的显示名称 选择导入现有的工程:选择现有工程的工作目录。 现在已经创建了一个工程,下面步骤是如何进行运行它。 1.选择Run> Open Run Dialog或者Run> Open Debug Dialog 2.在左边的列表中,右击 Android Application然后选择New 3.输入一个名称作为当前的配置。 4. On the Android tab, browse for the project and Activity to start 5. On the Emulator tab, set the desired screen and network properties, as well as any other emulator startup options. You can set additional options on the Common tab as desired 最后点击Appy保存当前配置, or press Run or Debug( as appropriate). 3、开发工具介绍 用于 Eclipse集成开发环境的 Android应用开发工具插件:它为 Eclipse集成开发环 境增加了强大的功能,使得创建和调试 Android应用程序更加简单和快速。如果你使用 Eclipse来开发 Android应用,ADT插件将给你带来极大的帮助: 可以从 Eclipse集成开发环境直接访问 Android开发工具。例如,ADT允许你直接从 Eclipse访问DDMS工具的很多功能,包括截屏、port- forwarding、设置断点、查看线程和 进程信息。 它提供一个新的项目向导,用于快速创建一个新的 Android应用需要的所有基本文件。 它使构建 Android应用的过程自动化和简单化。 它提供一个 Android代码编辑器,用于为 Android的 manifest和资源文件编写有效 的XML。 、 Android程序模块 1、 Androidmanifest xn|文件 Androidmanifest xm是每一个应用都需要的文件。位于工程文件根目录下,描述了 程序包的一个全局变量,包括的应用组件( activities, services等等)和为每个组件的实现 类,什么样的数据可以操作,以及在什么地方运行。 这个文件的一个重要数据(概念)是 intent过滤器。这个过滤器描述了何时何种情况下 让 activity启动。当一个 activity想要执行一个动作,例如打开一个联系人选取屏幕,会创 建一个 Intent对象.该对象包含了很多的描述信息,描述了你想做什么操作,你想处理什么 数据,数据的类型,以及一些其它的重要信息. Android拿这个 ntent的信息与所有应用的 intent过滤器比较,找到一个最能恰当处理请求者要求的数据和 action的 activity。 另外还要声明您的应用 Activities, Content providers, Services,和 Intent Receivers,你也可以在 Androidmanifest xn文件中指定权限和 Instrumentation(安 全控制和测试) 一个 Android Manifest . xm文件的例子 <?xml version =l0 encoding=utf-8?> <manifestxmins:android="http://schemas.androidcom/apk/res/android package=com. my domain. app. helloactivity <application android: label=@string/app name> <activity class=".HelloActivity"> <intent-filter> <action android value="android. intent action MAIN"/> ≤ category android: value=android intent. category. laUncheR"/> </intent-filter> </activity> </application> </manifest> 这里记录了一些通用特性: 几乎所有的 Androidman ifest xm文件(同其它的 Android文件一样)都会包含一个 命名空间的声明xmins:android=http://schemas.androidcom/apk/res/android在 第一个元素中.该声明使标准 Android属性在该文件中得以使用,该属性为文件的ⅹm元 素提供了大部分数据 大多数 Android manifest. xm文件仅包含一个< application>元素,该元素定了这 个程序包内所有应用层面上可用的组件和属性 下面列出了 Androidmanifest xn这个文件详细的结构大纲,描述了所有可用标签。 <manifest> 文件根节点,描述了程序包的所有內容。在其节点下面内可以放置: <uses-permission> 请求一个安全授权,必须被授予该权限,您的程序包才能正确的操作.査看安全模块文 档,了解有关授权的更多信息.一个 manifest可以包含零个或多个这样的节点。 ≤ permiss|on> 声明一个安全授权,用来限制哪些应用可以访问您的程序包内的组件和特有机制.查看 安全模块文档,了解有关授权的更多信息.一个 manifest可以包含零个或多个这样的节点。 <application> 描述程序包内应用级别组件的根节点.该节点能够描述应用程序的全局(和/或)默认属 性,例如标签,图标,主题,需要的授权,等等.一个 manifest可以包含零个或一个这样的 节点(多个 application节点是不允许的).在该节点下,可以包含零个或多个以下每个组件 的声明 ≤ activity Activity是应用于用户交互的最主要机制.当一个应用运行的时候,用户看到的第一个 屏幕就是 activity,并且,用户所使用的其它绝大多数屏幕(界面)也会是 activity。 ≤ service Service是一个在后台任意时刻都可以运行的组件.同 activity标签一样,你可以选择 包含一个或多个< intent -filter>元素; 鸯 rovider> ContentProvider组件是用来管理数据持久化及数据发布的,发布的数 可以被其它的应用访问 2、 Activity Actⅳvity是一个与用户交互的系统模块,几乎所有的 Activity都是和用户进行交互的, 所以在每个 Activity进行初始化的时候,都要执行 setcontentview(View)函数来指定 界面U在 Activity中有两个重要的函数: on create( Bundle函数是你进行初始化的地方,这个也是执行 setcontentview(View)函数的地方, setcontentview(View)函数可以传入一个由XML 编制的U界面,可以使∪|和具体实现完全分离。 on Pause(函数是处理用户离开当前 Activity的地方。更重要的是,任何在当前 Activity中的任何改变都要在这个函数中提交。一般是使用 ContentProvider来保存数据 当从一个界面跳到另一个界面的时候,实质上是从一个 Activity跳转到另一个 Activity的时候。使用函数 Context.startActivity来实现。另外,所有的 Activity都要在 AndroidManifest. xm中注册。 Activity的生命周期是用 Activity stack来管理的。当一个新的 Activity启动,就把 这个 Activity放在 Stack的顶部,然后这个Actⅳvty就变成了一个运行的 Activity。以前 运行的 Activity现在被压在 Stack的地步,处于 Pause状态。只有 Stack顶部的 Activity 才可以在前台运行,且处于活动状态。 Activity有四种状态: 活动状态,当 Activity处于 Stack顶时,就是手机当前的现实屏幕,这是 Activity就 处于 activity或者运行状态。 运行但是失去焦点,当 Activity还处于运行状态时,但是屏幕是有另外-个 Activity 处于文档处于焦点状态,当前的 Activity就处于 pause。前 停止,当 Activity被另一个 Activity完全覆盖的时候,就被停止了,其实就是虽然在 运行,但是用户却看不见。 结束,当 Activity处于 pause或者stop时,系统可以结束 Activity,回收资源,这 是 Activity就是处于结束状态了。 处于结束状态的是 Activity,如果要使用户可见,只要重启才可以。 下面的图表示了 Activity的生命周期。 starts created UGcr navigates n start on Restart ctivity onResumeo Process is Activity is killed nning y Wew activity is started comes如he foreground Other appications need memory onFrcczc( Your acuity 20-s onPauseo foreground Your activty is no longer visibe n Stop onDestroyo Activity is shut dowl Actiⅳvity的生命周期是被以下的函数控制的 public class activity extends ApplicationContext t protected void on Create(Bundle icicle) rotected void on start() protected void on restart(; protected void on Resume( protected void on Freeze(Bundle outlcicle): protected void on Pause() protected void on Stop protected void on Destroy( 般的程序都有几个界面,所以一个程序都有几个 Activity。在 Activity进行转换的时 候需要借助函数 startsubActivity( Intent I, int type);第一个参数为指定的需要跳转的 Activity。在这个参数中含包含了原始的 Activity需要向跳转的目标 Activity需要传递的数 据。此数据是使用函数 putExtra()放 ntent; Intent i= new Intent(this noteedit class i putExtra(NotesDbAdapter, KEY ROWID, id) startSubActivity(i, ACTIVITY EDIT) 3、View 一个界面就是一个 Activity,但是界面上会有很多的控件之类的,只要是用户可以看 到的,这些东西都是veW。一个iew占有一个长方形的地方,而且view是可以嵌套的。 VieW还可以负责响应用户的动作。 所有的view的结构都是被安排在树形结构中。你既可以在代码中改变ⅤieW的结构树, 也可以在ⅩML文件中去作修改。VieW也是所有的布局管理器的基类。 在创建一个Ⅵiew的结构树的时候,一个会有几个你会很感兴趣的操作。 设置属性,比方说一个 Textview,应该会有一些属性值和一些函数去设置比如像字 体,颜色等的属性。 设置焦点,使用 requestFocus()可以设置焦点 接下来是最重要的,就是注册监听事件的函数,一个的Vew都是相应的函数来设置 监听事件。 还有一个是设置可见性的函数。 下面的这一段代码是在Xm中配值一个 Button,然后再 Activity中获得这个 Button 的实例,然后可以设置这个 Button的监听函数。 Xm中的代码如下 <Button android: id=@+id/my button android: layout width=wrap content android layout height="wrap content android: text=@string/my button text /> Activity中的代码如下: Button my Button =(Button)findview Byld(R id my button) 然后是设置监听函数: my Button, setonClickListener(new view. OnClickListeneroi public void onClick(viewview)t //To-DO Android框架是负责组织,显示,绘制ⅤieWs的。一般不直接在Ⅵiew上调用函数, 除非是自己实现一个 View Group 4、 Intent Intent是对被执行操作的抽象描述。调用 startActivity( Intent),可以启动 Activity;调用 broadcastIntent( Intent),可以把 Intent发送给任何相关的 ntentreceiver组件;调用 startservice( (Intent, Bundle)以及 bondservice( Intent, String, Serviceconnection,int)可以让应用和后台服务进行通信。 Intent提供了一个在不同应用的代码之间进行动态绑定( (late runtime binding)的 机制。它主要被用来启动 Activities,因此可以被看作是 Activities之间的粘合剂。 Intent 大体上是一个被动数据结构,该数据结构包括被执行动作的抽象描述。 Intent中的主要內 容有 action-需要被执行的动作。比如 VIEW ACTION,ED| T ACTION,MA|NACT|ON data-执行动作要操作的数据,在 Intent里用指向数据记录的URl( ContentUR|) 表示。比如联系人数据库中的一个联系人记录。 除了 action,data两个主要属性, Intent还具有一些其它属性,这些属性也可以被 用在 Intent里: category-类别,被执行动作的附加信息。例如 LAUNCHER CATEGORY表示 ntent的接受者应该在 Launcher中作为顶级应用出现;而 ALTERNATIVE CATEGORY 表示当前的 Intent是一系列的可选动作中的一个,这些动作可以在同一块数据上执行。 type--数据类型,显式指定 Intent的数据类型(MME)。一般上 ntent的数据类型 能够根据数据本身进行判定,但是通过设置这个属性,可以强制采用显式指定的类型而不 再进行推导。 component--组件,为使用 ntent的组件类指定名称。通常会根据 ntent中包含 的其它信息一一比如 action,data/type, categories--进行查找,最终找到一个与 之匹配的组件。如果这个属性存在的话,将直接使用它指定的组件,不再执行上述查找过程。 指定了这个属性以后, Intent的其它所有属性都是可选的。 extras--额外的附加信息,是其它所有附加信息的集合。使用 extras可以为组件提 供扩展信息,比如,如果要发送电子邮件,也就是要执行“发送电子邮件”的动作,可以将 电子邮件的标题、正文等保存在 extras里 在 Intent类里定义了多种标准 action和 category常量(字符串),同时应用也可 以根据自己的需要进行定义。 ntent有两种主要形式 显式意图: 显式意图是指定了 component属性的 intents。调用 setcomponent( ComponentName)或者 setclass( Context, Class)可以为 intents 设定 component属性一—指定具体的组件类。这些 intents一般不包括包括其它任何信 息,它们通常只是用来通知应用启动内部的 activities作为该应用的(当前)用户界面。 隐式意图: 隐式意图是没有指明 comonent的 intents。这些 intents必须包括足够的信息,这样 系统才能确定在所有的可用组件中,对一个 intent来说运行哪一个组件才是最合适的。 Intent解析机制主要是将已安装应用程序包里的 Intent- Filter描述和 Inten进行匹 配。如果使用广播发送 Intent,还要在已经注册的 IntentReceiver中尽心匹配。更多的相 关描述可以在 IntentFilter中找到。 X

...展开详情
试读 127P Android编程指南+程序员入门(中文版)
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 分享精英

关注 私信
上传资源赚钱or赚积分
最新推荐
Android编程指南+程序员入门(中文版) 23积分/C币 立即下载
1/127
Android编程指南+程序员入门(中文版)第1页
Android编程指南+程序员入门(中文版)第2页
Android编程指南+程序员入门(中文版)第3页
Android编程指南+程序员入门(中文版)第4页
Android编程指南+程序员入门(中文版)第5页
Android编程指南+程序员入门(中文版)第6页
Android编程指南+程序员入门(中文版)第7页
Android编程指南+程序员入门(中文版)第8页
Android编程指南+程序员入门(中文版)第9页
Android编程指南+程序员入门(中文版)第10页
Android编程指南+程序员入门(中文版)第11页
Android编程指南+程序员入门(中文版)第12页
Android编程指南+程序员入门(中文版)第13页
Android编程指南+程序员入门(中文版)第14页
Android编程指南+程序员入门(中文版)第15页
Android编程指南+程序员入门(中文版)第16页
Android编程指南+程序员入门(中文版)第17页
Android编程指南+程序员入门(中文版)第18页
Android编程指南+程序员入门(中文版)第19页
Android编程指南+程序员入门(中文版)第20页

试读结束, 可继续阅读

23积分/C币 立即下载