《Android开发指南中文版》由会员分享,可在线阅读,更多相关《Android开发指南中文版(86页珍藏版)》请在金锄头文库上搜索。
1、Android开发指南中文版-应用程序框架2009/9/10个人主页:http:/ Android SDK1.5版的英文开发资料 Android Development Guide一文应用程序框架部分的翻译,覆盖了 Android应用开发所有主要的概念。部分内容整理自网络。本文仅用于技术学习,请勿用于商业用途。目录应用程序基础 Application Fundamentals .4关键类 .4应用程序组件 .5激活组件:intent .7关闭组件 .7manifest文件 .8Intent过滤器 .8Activity和任务 .10Affinity(吸引力)和新任务 .11加载模式 .12清理堆
2、栈 .13启动任务 .14进程和线程 .14进程 .15线程 .15远程过程调用 .15线程安全方法 .16组件生命周期 .17Activity生命周期 .17调用父类 .18服务生命周期 .21广播接收器生命周期 .22进程与生命周期 .22用户界面 User Interface .24视图层次 View Hierarchy .24布局 Layout .25部件 Widgets .26用户界面事件 UI Events .26菜单 Menus .26高级话题 Advanced Topics .27适配器 Adapter.27风格与主题 Styles and Themes.27资源和资产 Res
3、ources and Assets .28资源引用 Resource Reference.43国际化和本地化 Internationalization and Localization.43意图和意图过滤器 Intents and Intent Filters .43意图过滤器 Intent filters.47通常情况 Common cases.51使用意图匹配 Using intent matching.52数据存储 Data Storage .52概览 Storage quickview.52 系统偏好:快速,轻量级存储 .52 文件:存储到设备内部或可移动闪存 .52 数据库:任意的结
4、构化存储 .52 支持基于网络的存储 .52系统偏好 Preferences.53文件 Files.54数据库 Databases.54网络 Network.55内容提供器 Content Providers .55内容提供器的基础知识 Content Provider Basics.55查询一个内容提供器 Querying a Content Provider.57修改数据 Modifying Data.61创建一个内容提供器 Creating a Content Provider.64Content URI 总结 .67清单文件 The AndroidManifest.xml File .
5、68清单文件结构 Structure of the Manifest File.68文件约定 File Conventions.70文件特性 File Features.73应用程序基础 Application Fundamentals关键类1. Activity 2. Service 3. BroadcastReceiver 4. ContentProvider 5. Intent Android应用程序使用 Java做为开发语言。aapt 工具把编译后的 Java代码连同其它应用程序需要的数据和资源文件一起打包到一个 Android包文件中,这个文件使用.apk 做为扩展名,它是分发应用程
6、序并安装到移动设备的媒介,用户只需下载并安装此文件到他们的设备。单一.apk 文件中的所有代码被认为是一个应用程序。从很多方面来看,每个 Android应用程序都存在于它自己的世界之中: 默认情况下,每个应用程序均运行于它自己的 Linux进程中。当应用程序中的任意代码开始执行时,Android 启动一个进程,而当不再需要此进程而其它应用程序又需要系统资源时,则关闭这个进程。 每个进程都运行于自己的 Java虚拟机(VM)中。所以应用程序代码实际上与其它应用程序的代码是隔绝的。 默认情况下,每个应用程序均被赋予一个唯一的 Linux用户 ID,并加以权限设置,使得应用程序的文件仅对这个用户、这
7、个应用程序可见。当然,也有其它的方法使得这些文件同样能为别的应用程序所访问。 使两个应用程序共有同一个用户 ID是可行的,这种情况下他们可以看到彼此的文件。从系统资源维护的角度来看,拥有同一个 ID的应用程序也将在运行时使用同一个 Linux进程,以及同一个虚拟机。应用程序组件Android的核心功能之一就是一个应用程序可以使用其它应用程序的元素(如果那个应用程序允许的话)。比如说,如果你的应用程序需要一个图片卷动列表,而另一个应用程序已经开发了一个合用的而又允许别人使用的话,你可以直接调用那个卷动列表来完成工作,而不用自己再开发一个。你的应用程序并没有吸纳或链接其它应用程序的代码,它只是在有
8、需求的时候启动了其它应用程序的那个功能部分。为达到这个目的,系统必须在一个应用程序的一部分被需要时启动这个应用程序,并将那个部分的 Java对象实例化。与在其它系统上的应用程序不同,Android应用程序没有为应用准备一个单独的程序入口(比如说,没有 main()方法), 而是为系统依照需求实例化提供了基本的组件。共有四种组件类型:ActivityActivity是为用户操作而展示的可视化用户界面。比如说,一个activity可以展示一个菜单项列表供用户选择,或者显示一些包含说明的照片。一个短消息应用程序可以包括一个用于显示做为发送对象的联系人的列表的activity,一个给选定的联系人写短信的 activity以及翻阅以前的短信和改变设置 activity。尽管它们一起组成了一个内聚的用户界面,但其中每个activity都与其它的保持独立。每个都是以 Activity类为基类的子类实现。一个应用程序可以只有一个 activity,或者,如刚才提到的短信应用程序那样,包含很多个。每个 activity的作用,以及其数目,自然取决于应用程序及其设计。一般情况下,总有一个应用程序被标记为用户在应用程序启动的时候第一个看到的。从一个 activity转