Android开发环境详解和开发指南中文版1
本文由shuyahui2010贡献
pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
Android SDK 2.2
开发环境详解
Google 在旧金山 Moscone 会展中心举办 Google I/O 2010 大会第二天(美国时 间 5 月 20 日上午)的会议之上如约正式发布了代号为“Froyo(冻酸奶)”的最新版 Android 2.2 操作系统。而紧接着网络中也开始提供 SDK(开发者套件)安装包的下 载,虽然仅凭 SDK 包尚无法让我们体验到诸如 Flash10.1 等应用,但据官 方介绍, 新版系统带来性能的大幅度提升,除了支持 Flash 10.1,另外还在系统界面、功能等 方面进行了许多细节性优化. Android 2.2 是非常值得期待,下面是根据个人实践经验配置 Android SDK2.2+Eclipse 的开放环境编写的详细步骤。根据这些步骤,就是门外汉也可有完 成。
系统环境的要求可以参考 androidappdocs.appspot/sdk/requirements.html
一,下载所软件包
1 JDK (1)JDK
要求 JDK1.5+,建议 JDK6.X 下载网址 java.sun/javase/downloads/index.jsp 下载后,一步一步安装!设置系统变量 JAVA_HOME 为你安装目录, 在系统 变量 path 的后面加入 ;%JAVA_HOME%\bin;
本文是对 Android SDK1.5 版的英文开发资料 Android Development Guide 一文应用程序框 架部分的翻译,覆盖了 Android 应用开发所有主要的概念。部分内容整理自网络。本文仅用 于技术学习,请勿用于商业用途。
图 1.1 JAVA_HOME 设置
图 1.2 Path 系统变量配置 本文实践选择 JDK1.6.0_19
2 IDE (2)IDE
Eclipse 3.4 (Ganymede) or 3.5 (Galileo) 下载网址 /downloads 建议下载下面其中的一个版本 Eclipse IDE for Java EE Developers Eclipse IDE for Java Developers Eclipse for RCP/Plug-in Developers Eclipse Classic
下载完成后,解压即可! 本文选择当前最新的 eclipse-reporting-galileo-SR2-win32 (Base On Eclipse 3.5 SR2)
3 Android (3)Android SDK
准确来说下载的不是 SDK 而是 SDK 下载安装器,因为下载下来的并没 SDK, 而 需要连接到官方网址下载所需的 SDK。 下载网址 androidappdocs.appspot/sdk/index.html,选择 Windows 的平台的下载。 当前最新版为 android-sdk_r06-windows.zip , 大约 22M。 解压即可。
二,设置开发环境
1 (1)下载和配置 SDK
配置方法有 2 种, 第一种,通过 SDK 下载器自动下载和配置。适合网络好,下载速度快的情况下。 第二种,借助工具下载 SDK 文件,手工配置。适合网络不是很好,下载速度慢的情况 下。
下面先说第一种方法。 方法 1―――自动 1)运行 Android SDK 下载安装器
图 2.1 2)配置和下载 SDK
SDK 下载器
选择 Available Packages 然后选择你要
安装的 sdK 包,最后按 Install Selected 按钮进行安装。
图 2.2 下载 SDK
其实一般启动 SDK Setup,都会自动检查更新包,弹出类似如下界面。根据你的 要求自行选择所需安装包,安装即可。其功能同上面(图 2.2)
图 2.3 更新(下载)SDK
安装快慢完全取决你网速和 Google Android 的带宽。全部下载下来大约 1G 多。
3)技巧,如果你的电脑不支持 https 连接,请选择 setting 的将 Force …… Sources to be fetched by using …… 的选项打勾。
图 2.4 https->http 选项
方法 2 ――手工方法 1) 按下面提供的网址下载,当然你也通过其他非(通过百度或 google 搜索 到)下载。这些文件都是我根据 SDK 下载器的更新文件 le/android/l 分析得到,应该是 最新的 ,你可有通过迅雷和快车下载这些文件。 le/android/repository/android-1.5_r04-windows.zip dl-ssl.
google/android/repository/android-1.6_r03-windows.zip le/android/repository/android-2.0.1_r01-windows.z ip le/android/repository/android-2.0_r01-windows.zip le/android/repository/android-2.1_r02-windows.zip le/android/repository/android-2.2_r01-windows.zip le/android/repository/docs-2.2_r01-linux.zip le/android/repository/google_apis-3-r03.zip
le/android/repository/google_apis-4_r02.zip le/android/repository/google_apis-5_r01.zip le/android/repository/google_apis-6_r01.zip le/android/repository/google_apis-7_r01.zip le/android/repository/google_apis-8_r01.zip le/android/repository/jboss-5.1.0.GA.zip le/android/repository/samples-2.1_r01-linux.zip le/android/repository/samples-2.2_r01-linux.zip le/android/repository/tools_r06-windows.zip le/android/repository/
usb_driver_r03-windows.zip 2) 下载完后,按下面的映射关系解压文件 前面是你下载的文件,箭头后面是你解压到的 SDK 下载器所在目录下的目录 android-1.5_r04-windows.zip==>platforms\android-3 android-1.6_r03-windows.zip==>platforms\android-4 android-2.0_r01-windows.zipp==>platforms\android-5 android-2.0.1_r01-windows.zip==>platforms\android-6 android-2.1_r02-windows.zipp==>platforms\android-7 android-2.2_r01-windows.zip==>platforms\android-8
google_apis-3-r03.zip==>add-ons\addon_google_apis_google_inc_3 google_apis-4_r02.zip==>add-ons\addon_google_apis_google_inc_4 google_apis-5_r01.zip==>add-ons\addon_google_apis_google_inc_5 google_apis-6_r01.zip==>add-ons\addon_google_apis_google_inc_6 google_apis-7_r01.zip==>add-ons\addon_google_apis_google_inc
_7 google_apis-8_r01.zip==>add-ons\addon_google_apis_google_inc_8
docs-2.2_r01-linux.zip==>doc
samples-2.1_r01-linux.zip==>samples\android-7 samples-2.2_r01-linux.zip==>samples\android-7
tools_r06-windows.zip==>tools
usb_driver_r03-windows.zip==>usb_driver
不带子目录地解压到对应目录,当然可 有先解压,然后改其解压的目录名
图 2.5 手工安装示意图 3) 解压完后,启动一下 SDK 下载器,检查是否安装成功! 选择 Installed Packages 查看是否安装成功
图 2.6 检查安装是否成功
2 (2)下载和配置 ADP
ADT:Android Development Tools, Eclipse 的 Android 开发插件 1) 2)
Eclipse 解压缩后目录中的 启动 Eclipse
选择 Eclipse 菜单 Help -> Install New Software… -> 选择选项卡上的 Available Software,点击右侧按钮“Add ……”,输入 le/android/eclipse/ 如果不支持 https 可有输入 le/android/eclipse/
图 2.7 ADT 下载
选择所有安装包,然后 Next Next 安装向导提示进行下载并安装。
图 2.8 ADT 安装 安装完后,系统会提示重启 Eclipse。 手工方式安装 你也可使用下载方式安装 下载网站 dl.google/android/ADT-0.9.7.zip (最新网址请参考 androidappdocs.appspot/sdk/eclipse-adt.html) 然后在进入图 2.7 点击 Archive 按钮 选择 ADT-0.9.7.zip 即可其他步骤类似上 面。在此不再详述。
图 2.9 手工方式更新 3) 设置 SDK 路径 Eclipse 重启后,选择 Window > Preferences……,在打开的属性框,选择 Android, 在 SDK location 中输入你的 Android SDK 所在的目录,然后按 Apply 按钮 即可看 到你安装 SDk 包,如下图
图 2.10 设置 SDK 路线 4) 设置 Android SDK and AVD Manager AVD:Android Virtual Device Android 虚拟设备 选择 window--Android SDK and AVD Manager 在弹出的 Android SDK and AVD Manager 对话框,选择 Virtual Devices,按 new 按钮 创建虚拟设备
图 2.11 Android SDK and AVD Manager
选择 SDK SD 卡(内存卡) 大小 显示屏大小
图 2.12 创建 AVD
至此开发环境配置完成。
三,测试 Android 程序在模拟器中的运行
以最经典的例子 hello world 作为测试 1) 新建项目 打开 Eclipse 选择 File > New > Project >Android Project
拉 一 下 还
图 3.1 工程创建 1
图 3.2 工程创建 2 2) 异常提示的解决 创建后出现异常,主要某些 jar 包不到(图 3.3), 解决办法:
project> properties ,在 order And Export 选项中选中 Android 2.2 按确定即 可!
图 3.3 创建异常
选上wap歌词中文是什么意思
图 3.4 设置 3) 代码编辑
图 3.5 代码编辑 4) 运行和测试 运行,右键项目文件夹选择 Run As>Adroid Application 运行, 注意:菜单绿的运行按钮可能不到 Adroid Application,不知道是否是 ADT 的
Bug。
图 3.6 运行 5) 运行效果图如下,运行可能有的慢
Android 是比较新的东西,欢迎沟通和交流!
郑重声明:转载请务必保留作者信息
blog.csdn/iefreer
目录
应用程序基础 Application Fundamentals Fundamentals…… 4 关键类…… 4 应用程序组件…… 5 激活组件:intent…… 7 关闭组件…… 7 manifest 文件…… 8 Intent 过滤器…… 9 Activity 和任务…… 10 Affinity(吸引力)和新任务…… 11 加载模式…… 12 清理堆栈…… 13 启动任务…… 14 进程和线程……14 进程……15 线程……15 远程过程调用…… 15 线程安全方法…… 16 组件生命周期…… 17 Activity 生命周期……17 调用父类……18 服务生命周期…… 21 广播接收器生命周期……22 进程与生命周期……22
用户界面 User Interface Interface…… 24 视图层次 View Hierarchy Hierarchy…… 24 布局 Layout Layout……25 部件 Widgets Widgets…… 26 用户界面事件 UI Events Events……26 菜单 Menus Menus…… 26 高级话题 Advanced Topics Topics……27 Adapter……27 适配器 Adapter 风格与主题 Styles and Themes Themes……27 资源和资产 Resources and Assets Assets……28 资源引用 Resource Reference Reference…… 43 国际化和本地化 Internationalization and Localization Localization…… 43 Filters…… 43 意图和意图过滤器 Intents and Intent Filters 意图过滤器 Intent filters filters……47 cases…… 51通常情况 Common cases 使用意图匹配 Using intent matching matching……52 数据存储 Data Storage Storage…… 52 概览 Storage quickview quickview…… 52 ? 系统偏好:快速,轻量级存储…… 52 ? 文件:存储到设备内部或可移动闪存……52 ? 数据库:任意的结构化存储…… 52 ? 支持基于网络的存储……52 系统偏好 Preferences Preferences…… 53 文件 Files Files…… 54 Databases……54 数据库 Databases
网络 Network Network……55 内容提供器 Content Providers Providers……55 内容提供器的基础知识 Content Provider Basics Basics……56 查询一个内容提供器 Querying a Content Provider Provider……57 修改数据 Modifying Data Data……61 创建一个内容提供器 Creating a Content Provider Provider…… 64 Content URI 总结……67 File…… 68 清单文件 l File 清单文件结构 Structure of the Manifest File File……69 文件约定 File Conventions Conventions…… 71 文件特性 File Features Features…… 73
应用程序基础 Application Fundamentals
关键类
1. 2. 3. 4. 5. Activity Service BroadcastReceiver ContentProvider Intent
Android 应用程序使用 Java 做为开发语言。 aapt 工具把编译后的 Java 代码连同其它应用程序需要的数 据和资源文件一起打包到一个 Android 包文件中,这个文件使用.apk 做为扩展名,它
是分发应用程序并 安装到移动设备的媒介,用户只需下载并安装此文件到他们的设备。单一.apk 文件中的所有代码被认为是 一个应用程序。 从很多方面来看,每个 Android 应用程序都存在于它自己的世界之中: 默认情况下,每个应用程序均运行于它自己的 Linux 进程中。当应用程序中的任意代码开始执行 时,Android 启动一个进程,而当不再需要此进程而其它应用程序又需要系统资源时,则关闭这 个进程。
?
每个进程都运行于自己的 Java 虚拟机(VM)中。所以应用程序代码实际上与其它应用程序的代 码是隔绝的。 默认情况下,每个应用程序均被赋予一个唯一的 Linux 用户 ID,并加以权限设置,使得应用程序 的文件仅对这个用户、这个应用程序可见。当然,也有其它的方法使得这些文件同样能为别的应
用程序所访问。
使两个应用程序共有同一个用户 ID 是可行的,这种情况下他们可以看到彼此的文件。从系统资源维护的 角度来看,拥有同一个 ID 的应用程序也将在运行时使用同一个 Linux 进程,以及同一个虚拟机。
应用程序组件
Android 的核心功能之一就是一个应用程序可以使用其它应用程序的元素 (如果那个应用程序允许的话) 。 比如说,如果你的应用程序需要一个图片卷动列表,而另一个应用程序已经开发了一个合用的而又允许别 人使用的话,你可以直接调用那个卷动列表来完成工作,而不用自己再开发一个。你的应用程序并没有吸 纳或链接其它应用程序的代码,它只是在有需求的时候启动了其它应用程序的那个功能部分。 为达到这个目的,系统必须在一个应用程序的一部分被需要时启动这个应用程序,并将那个部分的 Java 对象实例化。 与在其它系统上的应用程序不同, Android 应用程序没有为应用准备一个单独的程序入口 (比 如说,没有 main()方法), 而是为系统依照需求实例化提供了基本的组件。共有四种组件类型: Activity
Activity 是为用户操作而展示的可视化用户界面。比如说,一个 activity 可以展示一个菜单项列表供用户
选择,或者显示一些包含说明的照片。一个短消息应用程序可以包括一个用于显示做为发送对象的联系人 的列表的 activity,一个给选定的联系人写短信的 activity 以及翻阅以前的短信和改变设置的 activity。 尽管它们一起组成了一个内聚的用户界面, 但其中每个 activity 都与其它的保持独立。 每个都是以 Activity 类为基类的子类实现。 一个应用程序可以只有一个 activity,或者,如刚才提到的短信应用程序那样,包含很多个。每个 activity 的作用,以及其数目,自然取决于应用程序及其
设计。一般情况下,总有一个应用程序被标记为用户在应 用程序启动的时候第一个看到的。从一个 activity 转向另一个的方式是靠当前的 activity 启动下一个。 每个 activity 都被给予一个默认的窗口以进行绘制。一般情况下,这个窗口是满屏的,但它也可以是一个 小的位于其它窗口之上的浮动窗口。一个 activity 也可以使用超过一个的窗口──比如,在 activity 运行 过程中弹出的一个供用户反应的小对话框,或是当用户选择了屏幕上特定项目后显示的必要信息。 窗口显示的可视内容是由一系列视图构成的,这些视图均继承自 View 基类。每个视图均控制着窗口中一 块特定的矩形空间。父级视图包含并组织它子视图的布局。叶节点视图(位于视图层次最底端)在它们控 制的矩形中进行绘制,并对用户对其直接操作做出响应。所以,视图是 activity 与用户进行交互的界面。 比如说,视图可以显示一个小图片,并在用户指点它的时候产生动作。Android 有很多既定的视图供用户 直接使用,包括按钮、文本域、卷轴、菜单项、复选框等等。
视图层次是由 Activity.setContentView() 方法放入 activity 的窗口之中的。上下文视图是位于视图层 次
根位置的视图对象。(参见用户界面章节获取关于视图及层次的更多信息。) 服务 服务没有可视化的用户界面,而是在一段时间内在后台运行。比如说,一个服务可以在用户做其它事情的 时候在后台播放背景音乐、从网络上获取一些数据或者计算一些东西并提供给需要这个运算结果的 activity 使用。每个服务都继承自 Service 基类。 一个媒体播放器播放播放列表中的曲目是一个不错的例子。播放器应用程序可能有一个或多个 activity 来 给用户选择歌曲并进行播放。然而,音乐播放这个任务本身不应该为任何 activity 所处理,因为用户期望 在他们离开播放器应用程序而开始做别的事情时,音乐仍在继续播放。为达到这个目的,媒体播放器 activity 应该启用一个运行于后台的服务。而系统将在这个 activity 不再显示于屏幕之后,仍维持音乐播 放服务的运行。 你可以连接至(绑定)一个正在运行的服务(如果服务没有运行,则启动之)。连接之后,你可以通过那 个服务暴露出来的接口与服务进行通讯。对于音乐服务来说,这个接口可以允许用户暂停、回退、停止以 及重新开始播放。 如同 activity 和其它组件一样,服务运行于应用程序进程的主线程内。所以它不会对其它组件或用户界面 有任何干扰,它们一般会派生一个新线程来进行一些耗时任务(比如音乐回放)。参见下述 进程和线程 。 广播接收器
广播接收器是一个专

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。