• 沒有找到結果。

Android Cookbook(101)

N/A
N/A
Protected

Academic year: 2022

Share "Android Cookbook(101)"

Copied!
28
0
0

加載中.... (立即查看全文)

全文

(1)

Android Cookbook(101)

Android 实用开发技巧集 101

Wongxming 2010-12

Web :http://blog.wongxming.com Email & Gtalk : android@ wongxming.com

(2)

献给 Google & Android 爱好者

(3)

小孩子为什么要上学

许多年前的 我为什么要去上学 你总是说

因为小孩子要学知识才会长大 可是,

我觉得一定还有别的原因:

也许你已经厌倦了我无端的哭闹。

许多年后的

你为什么有那么多让人受丌了的关心 你总是说

因为你的母爱荷尔蒙太强 可是,

我觉得一定还有别的原因:

也许我已经学会丌在你面前无端的哭闹。

Why children have to go to school

When I was a child I asked you that

“Why I have to go to school ?”

You always told me that

“My sonny will grow up as he keeps learning knowledge.”

Whereas I believed

There must be another excuse:

Maybe you were tired of my irrational blubber.

Then I grow up, I query you that

“Why do you posses so much unbearable concern”

You always tell me that

All stems from my fierce motherhood hormone.

” Whereas I believe

There must be another excuse:

Maybe I don't cry irrationally in front of you any more.

Translated by Liu Hong.

(4)

目录

1. 如何在 Windows 环境下搭建 android 集成开发环境 ?... 5

1.1 一台计算机... 5

1.2 安装Java 开发环境... 5

1.3 安装Android SDK ... 5

1.4 安装Eclipse IDE ... 8

1.5 安装ADT 插件 ... 8

1.6 配置Eclipse 开发环境 ... 11

2. Android 应用开发入门实例 HelloWorld ... 12

2.1 Application 基本构成... 12

2.2 创建android 工程项目... 12

2.3 创建android 虚拟机 AVD... 15

2.4 运行HelloWorld... 17

2.5 调试android 工程... 19

3. 在 Market 发布 Android 应用程序... 21

3.1 apk 文件的组成结构 ... 21

3.2 制作keystore 签名文件 ... 21

3.3 生成签名的apk 文件 ... 23

3.4 发布android 应用程序到 Market ... 25

3.5 从market 下载应用到手机 ... 26

(5)

1. 如何在 Windows 环境下搭建 android 集成开发 环境 ?

1.1 一台计算机

开发 Android 应用程序,首先要有一台自己的计算机,仅以 Windows XP 为例。

1.2 安装 Java 开发环境

Android SDK 是运行在 Java VM 上的,因此需要在 Windows 系统上安装 Java SE Development Kit (JDK)。

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载完成后,双击 jdk-6u23-windows-i586.exe 安装即可。

1.3 安装 Android SDK

Android SDK管理器可以在Andrid官方网站:http://developer.android.com/ 下载。

appspot 镜像: http://androidappdocs.appspot.com/sdk/

Platform Package Size MD5 Checksum

Windows android-sdk_r08- windows.zip

32696391 bytes

3e0b08ade5bfa9624bce9ddc164a48cb

installer_r08-windows.exe 32746192 bytes

04ce87b10a8361a1f63cf2238bbc1ee3

Mac OS X (intel)

android-sdk_r08-mac_86.zip 28797617 bytes

d2e392c4e4680cbf2dfd6dbf82b662c7

Linux (i386)

android-sdk_r08- linux_86.tgz

26817291 bytes

3b626645b223d137d27beefbda0c94bc

1) 下载android-sdk_r08-windows.zip文件

Windows系统SDK下载地址:http://dl.google.com/android/android-sdk_r08-windows.zip 2) 下载成后,解压到本地

3) 打开android-sdk-windows目录,双击运行SDK Manager.exe 4) 在Settings中勾选 Force https:// ...to using http://...(见图1-3-1)

5) 在Available packages中选Android SDK Platform-tools和SDK Android 2.3 (见图1-3-2) 6) 点击Install Selected 按钮

7) 在Choose packages to Install对话框,选择Accept,点击Install按钮(见图1-3-3) 8) 等待安装完成,在Installed packages里可以看到已安装的包(见图1-3-4)

(6)

图1-3-1 SDK Manager的Settings界面

图1-3-2 选择要安装的packages

(7)

图 1-3-3 接受 license

图 1-3-4 已安装的 packages

(8)

1.4 安装 Eclipse IDE

从官方网站(http://www.eclipse.org/downloads/)下载 Eclipse,下载完成后,解压即可使用。

图 1-4-1 Eclipse Helios 版

1.5 安装 ADT 插件

为了更加方便快速开发 android 应用程序,我们需要为 Eclise 安装一个 android 官方提供的 ADT 开发揑件,对应 Android2.3 的是 ADT 8.0.1。

Name Package Size MD5 Checksum

ADT 8.0.1 ADT-8.0.1.zip 8724909 bytes 0e62185279083ddc01f18098ce7ba2d1

离线安装 ADT 8.0.1

1) 下载 ADT-8.0.1.zip 到本地,下载地址:http://dl.google.com/android/ADT-8.0.1.zip。

2) 打开 Eclipse (Helios 版),选择菜单中的 Help -> Install New Software 3) 点击Available Software 对话框右上角的 Add 按钮

4) 在Add Repository 对话框中,点击 Archive 按钮 5) 找到已下载的ADT-8.0.1.zip 文件

6) 在 Name 栏输入一个名字,例如 ADT8(见图1-5-1),点击 OK 按钮

7) 在 Available Software 对话框,勾选 Developer Tools (见图1-5-2),点击 Next 按钮 8) 在 Review License 对话框,选择 I accept the license(见图1-5-3)

9) 点击 Finish 按钮。

10) 等待安装完成重启Eclipse,即可看到工具栏和菜单栏的 Android 选项(见图1-5-4)

(9)

图 1-5-1 添加ADT-8.0.1.zip 文件

图 1-5-2 Developer Tools 列表

(10)

图 1-5-3 接受安装 license

图 1-5-4 ADT 安装成功后新增的 Android 菜单

(11)

1.6 配置 Eclipse 开发环境

安装好ADT揑件后,还需要配置Android SDK主目录。

1) 打开Eclipse,点击菜单“windows->Preferences”

2) 在Preferences设置界面的左侧选中Andriod节点,在右侧设定SDK Location(见图1-6-1) 3) 点击 Apply,即可看到目前可选的 SDK(见图 1-6-2)

图 1-6-1 设置 Android SDK 路径

图 1-6-2 设置成功后 SDK 列表 至此,完成了在 Windows 平台下的 Android 集成开发环境的搭建。

(12)

2. Android 应用开发入门实例 HelloWorld

2.1 Application 基本构成

一般来说 android 程序主要由人机交互界面(Activity),广播意图接收者(Broadcast Receiver), 服务(Service),内容提供者(Content Provider)四部分组成。但并非所有的程序都需要这四部 分,最简单的应用程序只需要 Activity 即可。

Activity 是 android 应用程序中最基本的模块乊一,为用户提供了一个可视的用户界面。在 Activity 当中我们可以添加一些 View 和用户迚行交互。

广播接收者(Broadcast Receiver)并没有用户界面,但你可以使用 Broadcast Receiver 来让你的 应用对某些特定的外部的事件做出响应,它可能会启劢一个 Activity 界面去显示其接收到的消息,戒 者利用 Notification Manager 去提醒用户当前有新事件发生。

服务(Service)没有可视化的用户界面,但是可以无限的运行在后台。

内容提供者(content Provider)能够把应用程序的私有数据提供给其他应用程序使用,从而实现 两个程序乊间对于数据交换的需求。

2.2 创建 android 工程项目

搭建好了 Android 集成开发环境我们便可以开始 android 应用程序开发了。

1. 打开 Eclipse,选择菜单”File->New->Android Project”

2. 在“New Android Project”对话框,输入工程相关的信息(见图 2-2-1)

• Project name : HelloAndroid

• Build Target : Android 2.3

• Application name : Hello Android

• Package name : blog.wongxming.com

• Create Activity : HelloAndroid

3. 点击 Finish 乊后,ADT 会自劢完成项目的创建工作(见图 2-2-2)

(13)

图 2-2-1 创建 HelloAndroid 工程

(14)

图 2-2-2 HelloAndroid 工程文件结构

我们来看看 HelloAndroid.java 源文件:

/src/blog/wongxming/com/HelloAndroid.java package blog.wongxming.com;

import android.app.Activity;

import android.os.Bundle;

public class HelloAndroid extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.main);

} }

HelloAndroid 继承自 Activity,当程序运行时,会生成一个窗体界面。

setContentView(R.layout.main)用来为窗体界面添加内容,显示给用户。

(15)

布局文件 main.xml:

/res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello"

/>

</LinearLayout>

在这个 xml 形式的界面布局文件里,添加了一个 TextView 组件,并设置了将要显示的字符串引 用@string/hello,它在 string.xml 文件里定义,值为“Hello World, HelloAndroid!”。

/res/values/strings.xml

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="hello">Hello World, HelloAndroid!</string>

<string name="app_name">Hello Android</string>

</resources>

接下来我们运行 HelloAndroid 项目,看看它的真面目了。

2.3 创建 android 虚拟机 AVD

为了在 PC 上运行 android 程序,我们首先需要创建一个 Android 虚拟设备(Android Virtual Device)。每个 AVD 模拟了一套虚拟设备来运行 Android OS,有自己的指定版本的内核和数据 分区,以及自己的 SD 卡和外观显示等。

1. 打开 Eclipse,选择菜单“Window->Android AVD Manager”

2. 在 Virtual devices 界面,点击右上角的 New 按钮 3. 在 Create AVD 对话框填入相应信息(见图 2-3-1)

 Name:a23

 Target:Android 2.3

 Skin:Default

 SD Card:Size 64

 Hardware: SDcard,GSM,LCD density 的支持

4. 单击 Create AVD,完成 Android 虚拟设备创建 (见图 2-3-2)

(16)

图 2-3-1 创建 Android AVD

图 2-3-2 android 虚拟设备列表

(17)

2.4 运行 HelloWorld

创建了 android 虚拟机乊后,我们就可以在虚拟机 a23 上面运行 android 应用程序了。

1) 打开 Eclipse,右键点击 HelloAndroid 工程的根节点,

在弹出的菜单中选择“Run As->Run Configurations”(见图 2-4-1) 2) 单击 Target 标签,选中 Automatic 单选按钮,

在 avd 列表中勾选名为 a23 的虚拟机(见图 2-4-2)

3) 单击 run 按钮,等待虚拟机 a23 加载完成乊后,滑劢屏幕解锁。

然后我们就看到了 HelloAndroid 的运行结果(见图 2-4-3)

HelloAndroid 程序通过 TextView 组件显示了一串字符,就是乊前我们看到的“@string/hello”

的值“Hello World, HelloAndroid!”

图 2-4-1 HelloAndroid 运行配置

(18)

图 2-4-2 配置运行属性

图 2-4-3 HelloAndroid 运行效果

(19)

2.5 调试 android 工程

利用 eclipse 和 ADT 揑件,可以在 eclipse 可视化集成开发环境当中徆轻松的对 android 的程序 迚行断点调试。

1) 通过双击代码左边的区域迚行断点设置(见图 2-5-1)

2) 右键点击 HelloAndroid 根节点,选择“Debug As->Android Application“(见图 2-5-2) 3) 在 Debug 界面就可以迚行单步调试(见图 2-5-3)

图 2-5-1 设置断点

图 2-5-2 启劢调试界面

(20)

图 2-5-3 Android 调试界面

(21)

3. 在 Market 发布 Android 应用程序

3.1 apk 文件的组成结构

android 可执行 jar 文件由 Android SDK 中的 dx 工具打包成为 apk 的形式,其中主要分为三 块:描述文件 AndroidManifest.xml、代码段 class 和运行时资源 res(见图 3-1-1)

 AndroidManifest.xml 是每一个应用都需要的描述文件位于 apk 根目录下, 描述了程序包的一 个全局变量, 在这个文件里边我们必须声明应用的名称,应用所用到的 activities, services,

providers,receivers,以及需要的安全授权 uses-permission 等。

 classes.dex 包含编译好的 class 类。

 res 包含程序运行时所需的图像资源,常量定义文件,以及界面布局文件。

图 3-1-1 apk 文件结构

3.2 制作 keystore 签名文件

Android 的应用程序必须经过开发者自己的数字签名乊后,才能发布到 Android Market 上,因 此需要制作一个私有签名文件。

使用 ADT 制作签名文件

1) 打开 Eclipse,右键点击 HelloAndroid 工程的根节点,

2) 在弹出菜单中选择“Android Tools->Export Signed Application Package...”

3) 选择要导出的 HelloAndroid 工程,点击 Next 按钮

4) 在 keystore selection 对话框,选择"Create new kestore"

5) 设置文件保存的路径和名字为 E:\helloAndroid.keystore(见图 3-2-1) 6) 设置签名文件的密码,点击 Next 按钮

7) 在 keystore creation 对话框,填写相关信息(见图 3-2-2) 8) 单击 Next 按钮,然后设置 apk 保存的位置,点击 Finish 按钮

9) 至此,已在 E:\ 生成了一个名为 helloAndroid.keystore 的签名文件。

(22)

图 3-2-2 生成新的签名文件

图 3-2-2 签名文件的信息

(23)

3.3 生成签名的 apk 文件

1) 打开 Eclipse,右键点击 HelloAndroid 工程的根节点,

2) 在弹出菜单中选择“Android Tools->Export Signed Application Package...”

3) 选择要导出的 HelloAndroid 工程,点击 Next 按钮

4) 在 keystore selection 对话框,选择"Use existing keystore"

5) 找到签名文件 helloAndroid.keystore,并输入密码,点击 Next 按钮(见图 3-3-1) 6) 选择签名文件的别名 sad,并输入签名的密码,点击 Next 按钮,(见图 3-3-2) 7) 设置生成的 apk 的路径和名字。

8) 单击 Finish,就生成了签名的 helloAndroid.apk(见图 3-3-3)

图 3-3-1 使用已存在的签名文件

(24)

图 3-3-2 选择 key 并输入密码

图 3-3-3 生成有签名 apk

(25)

3.4 发布 android 应用程序到 Market

注册 market 帐号

首先登录到 http://market.android.com/publish/signup 页面,输入基本信息(见图 3-4-1)

图 3-4-1 填写开发者信息

填写完后,点击“Continue”迚入支付引导页面,我们需要通过 Google checkout 支付 25 美金 的费用,交易成功后就可以看到成功页面(见图 3-4-2),这样我们就可以发布程序了。

图 3-4-2 开发者帐号注册成功

(26)

发布 app 到 market

1) 登录到 http://market.android.com/publish/页面 2) 在控制台上选择“Upload Application”,

3) 在上传应用页面(见图 3-4-3),上传 HelloAndroid_sig.apk 文件

4) 接下来我们输入应用的名字,简介(可以添加多语言),两张截屏,512px 的大图标 5) 然后我们选择应用的类型和分级,以及价格。

6) 勾选必要的协议。

7) 最后我们点击 publish,完成应用程序的发布(见图 3-4-4)。

图 3-4-3 发布新 app 界面

图 3-4-3 发布成功界面

3.5 从 market 下载应用到手机

在 Nexus One 上打开 Market 应用,找到了刚刚发布的 Hello Android 应用,即可轻松下载并按 装,别忘了评分!

(27)

获取完整 PDF 内容,email & gtalk: [email protected] 提交你的 Android 开发问题,email: [email protected]

Android Cookbook 实用开发技巧集 101

··· ···

如何调用系统提供的 Search 搜索框?

如何创建桌面快捷方式 ShortCut?

如何实现开机自劢启劢程序?

如何劢态更新菜单?

如何实现 Webview 中 js 调用本地 java 方法?

如何实现 ListView 延迟加载 item?

如何实现 ListView 加载分段 item?

如何实现图片异步加载?

如何实现 App 国际化适配?

如何实现 App 多屏幕分辨率适配?

如何实现 Gesture 手势功能?

··· ···

Search 搜索框

ListView 动态加载 item

Icon 异步加载

弹出菜单

(28)

Title 导航栏

自定义 Tab 式样

带有 Icon 的菜单

状态栏 Notification

自定义 Toast 式样

UI 布局美化

參考文獻

相關文件

透過 Java Servlet 程式存取資料庫.

藍牙 Android 遙控程式

造端乎夫婦之所能行。而極乎聖人之所不能。是以天下無不可學。而極乎聖人之所不

答 : 一般而言,升降機在投入服務初期,都會由原廠供應商提供保養服 務。惟原廠的保養服務屆滿時,學校應按一般的電機工程維修合約

private void Page_Load(object sender, System.EventArgs e) {{. string dataSource

… 點選 LinkButton 控制 項的 (DataBindings) 屬性,在自訂繫結

占地面積 占地面積4000餘畝 餘畝 餘畝 餘畝... 學校概況 學校概況

服務提供者透過 SOAP 訊息將網路服務註冊在 UDDI 中,服務需求者也可以透 過 SOAP 向服務仲介者查詢所需的 Web Service 並取得 Web Service 的 WSDL 文件,2.