《Android应用开发攻略》——1.3 从命令行创建 “Hello, World”应用程序

1.3 从命令行创建 “Hello, World”应用程序

Ian Darwin
1.3.1 问题
你想在不使用Eclipse ADT插件的情况下创建新的Android项目。
1.3.2 解决方案
使用Android开发工具包(Android Development Kit,ADK)中的android工具,利用creat project参数和一些附加参数配置你的项目。
1.3.3 讨论
除了平台名称之外,android还是一个用于创建、更新和管理项目的命令行工具的名称。可以进入android-sdk-xxx目录,或者设置PATH变量包含tools子目录。
接着,为android create project命令添加一些参数,创建新项目。例1-1是运行于MS-DOS下的例子。
例1-1:创建新项目

C:> PATH=%PATH%;"C:\Documents and Settings\Ian\My Documents\android-sdk-windows\tools"; \
          "C:\Documents and Settings\Ian\My Documents\android-sdk-windows\platform-tools"
C:> android create project --target android-7 --package com.example.foo
     --name Foo --activity FooActivity --path .\MyAndroid
Created project directory: C:\Documents and Settings\Ian\My Documents\MyAndroid
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\src\com\example\foo
Added file C:\Documents and Settings\Ian\My
    Documents\MyAndroid\src\com\example\foo\FooActivity.java
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\res
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\bin
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\libs
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\res\values
Added file C:\Documents and Settings\Ian\My Documents\MyAndroid\res\values\strings.xml
Created directory C:\Documents and Settings\Ian\My Documents\MyAndroid\res\layout
Added file C:\Documents and Settings\Ian\My Documents\MyAndroid\res\layout\main.xml
Added file C:\Documents and Settings\Ian\My Documents\MyAndroid\AndroidManifest.xml
Added file C:\Documents and Settings\Ian\My Documents\MyAndroid\build.xml
C:>

表1-2列出了creat project代码中使用的参数。

如果请求的操作无法完成,android命令将列出大篇幅的“命令使用方法”信息,列出所有可以进行的操作和相应的参数。如果命令成功完成,android create project将创建表1-3中列出的文件和目录。

Android通常建议在res/layout目录下用XML布局文件创建用户界面,但是也可以用Java编写所有代码。为了保持示例的独立性,现在将采用“错误”的方法——使用你所喜爱的文本编辑器,将HelloWorld.java文件的内容替换为例1-2中的内容。
例1-2:HelloWorld.java

import androi d.app.Activity;
import android.widget.*;
public class Hello extends Activity {
        /**
          这个方法在活动实例化(例如响应主屏幕时单击应用程序图标)时调用/
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                //为当前活动创建TextView
                TextView view = new TextView(this);
                //显示一些信息
                view.setText("Hello World");
                //将新创建的视图放到活动中
                //类似 JFrame.getContentPane().add(view)
                setContentView(view);
        }
}

假定你安装了Apache Software Foundation的Ant Build Tool,现在可以(在命令行窗口中)转到项目目录下(例1-1中的...MyDocuments\MyAndroid),发出如下命令:

ant debug

该命令创建存档文件,例如bin目录中的MyAndroid.apk(“apk"是Android Package的缩写)。
如果这是第一次创建Android项目,可能需要创建一个Android虚拟设备(Android Virtual Device ,AVD),这是用于Android模拟器的一个命名配置,指定目标分辨率、API级别等信息。可以用如下命令创建模拟器:

android create avd -n my_droid -t 7

创建AVD的更多细节参见攻略3.3。
接着,可以启动Android调试桥(Android Debug Bridge,ADB)服务器和模拟器:

adb start-server
emulator -avd my_droid -t 5

假定你已经运行了模拟器或者通过USB插入并识别了设备,就可以使用如下代码:

adb -e install -r bin/MyAndroid.apk

-e标志用于模拟器;对于真实设备使用-d标志。
如果你熟悉shell脚本或者批处理文件,可以创建脚本(如download),避免在每次构建周期中都输入adb调用。
最后,可以启动应用程序了!可以使用应用程序列表:触摸看上去像一个5×5点阵的小图标,按照名称滚动到你的应用程序,触摸程序图标。
你可能会发现,在设备或者模拟器的主屏幕上为应用程序创建图标是很方便的;这个图标在多次install -r循环后仍能保留,因此是测试应用程序运行的最简方法。
1.3.4 参阅
攻略1.4。博客“a little madness”有更详细的叙述。

时间: 2024-10-04 08:00:39

《Android应用开发攻略》——1.3 从命令行创建 “Hello, World”应用程序的相关文章

《Android应用开发攻略》——导读

前言 对于蜂窝技术和移动计算来说,Android是"开放源码的革命",至少是革命的一部分.从已经不存在的Openmoko FreeRunner到QT Embedded.Moblin. LiMo. Debian Mobile,以及Maemo和最近刚刚开放源码的Symbian OS.刚刚消失的HP WebOS,人们对于提供开放源码的蜂窝技术已经做出了许多的尝试.我们也不要忘记闭源系统的忠实拥趸:BlackBerry OS.Apple iPhone和Microsoft Windows Mob

《Android应用开发攻略》——1.15 程序:Android OS下的小费计算器Tipster

1.15 程序:Android OS下的小费计算器Tipster Sunit Katkar1.15.1 问题 当你和朋友前往饭店就餐并且希望计算各自的账单和小费时,可能陷入许多手动计算和分歧之中.你希望使用一个应用程序,简单地将小费比例加到总额上,并且按照就餐人数分配.Tipster就是Android中的一个实现,用它展示一个完整的应用程序.1.15.2 解决方案 这是一个简单的练习,使用Android中的基本GUI元素,然后用一些简单的计算和事件驱动UI代码将它们组合起来.将用到如下GUI组件

《Android应用开发攻略》——1.12 保持Android SDK更新

1.12 保持Android SDK更新 Daniel Fowler1.12.1 问题 SDK必须保持更新,使应用开发人员能够使用不断发展的Android平台上的最新API.1.12.2 解决方案 使用Android SDK Manager程序更新已安装的SDK包和安装新SDK包,包括用于设备特殊功能的第三方程序包.1.12.3 讨论 Android操作系统不断发展,因此,Android SDK也随之发展.Android持续发展的驱动力是: Google的研究和开发 手机制造商开发新的改进型手机

《Android应用开发攻略》——1.4 在Eclipse中创建“Hello, World”应用程序

1.4 在Eclipse中创建"Hello, World"应用程序 Ian Darwin1.4.1 问题 你打算用Eclipse开发Android应用程序.1.4.2 解决方案 安装Eclipse.Android SDK和ADT plug-in.创建项目并开始编写应用程序.从Eclipse中构建项目并在模拟器下测试.1.4.3 讨论 安装如下软件之后,就可以开始开发了: Eclipse IDE Android SDK ADT plug-in 安装上述三个软件的详细讲解请参见攻略1.5.

《Android应用开发攻略》——第2章 设计成功的应用程序 2.1 导言:设计成功的Android应用程序

第2章 设计成功的应用程序 2.1 导言:设计成功的Android应用程序 Colin Wilcox 讨论 本章介绍编写富于想象力而且实用的Android应用的设计指导思想.有几个攻略描述了成功设计的具体特征.本节将列出其他一些方面. 这一章的目的之一是解释相对于其他在移动设备上交付丰富内容的方法,原生Java Android应用程序开发的好处. 原生手机应用程序的要求 不管在何种平台上部署,成功交付任何手机应用程序都有许多关键的要求: 应用程序应该易于在设备上安装.删除和更新. 应该以引人入胜

《Android应用开发攻略》——3.13 发送文本消息以及AVD之间的通话

3.13 发送文本消息以及AVD之间的通话 Johan Pelgrim3.13.1 问题 你开发了一个应用程序,需要拨打或者接听电话,或者收发文本消息,你希望对该程序进行测试.3.13.2 解决方案 启动两个Android虚拟设备(AVD),使用端口号发送文本消息及拨打电话.3.13.3 讨论 当你创建一个接听来电或者文本消息的应用程序(类似于攻略12.2中开发的应用)时,你当然可以使用Eclipse中的DDMS视图模拟通话或者发送文本消息,不过也可以启动另一个AVD! 如果你注意AVD窗口标题

《Android应用开发攻略》——3.10 为测试重现活动生命周期场景

3.10 为测试重现活动生命周期场景 Daniel Fowler3.10.1 问题 应用程序应该适应活动生命周期.开发人员必须知道如何重现不同的生命周期场景.3.10.2 解决方案 利用日志获得对活动生命周期的全面了解,就能更容易地为测试重现生命周期场景.3.10.3 讨论 Android是为了移动的生活方式而设计的,在这种方式下,用户忙于多种工作:打电话.检查邮件.发送SMS信息.参与社交网络.拍照.访问互联网.运行应用程序等,甚至完成某些工作!因此,移动设备可能有多个应用程序,从而在内存中加

《Android应用开发攻略》——1.11 使用SDK样例避免棘手的情况

1.11 使用SDK样例避免棘手的情况 Daniel Fowler1.11.1 问题 有时候某些功能的编码非常费力,特别是在文档粗糙或者没有提供任何例子的情况下.1.11.2 解决方案 查看现有的可行代码将会有帮助.Android SDK有一些样例程序,可以仔细观察其工作方法.1.11.3 讨论 Android SDK自带多种样例应用程序,在编写某些功能时可能有用处.细看这些样例代码可能会很有启发.安装Android SDK之后,可以找到下列样例: Accelerometer Play Acce

《Android应用开发攻略》——2.4 在用户旋转设备时保存数据

2.4 在用户旋转设备时保存数据 Ian Darwin2.4.1 问题 当用户旋转设备时,Android通常销毁并重新创建当前活动.你希望在这一周期中保留某些数据,但是在此期间活动中的所有字段都将丢失.2.4.2 解决方案 对此有多种解决方案.如果所有数据都由简单类型组成(包括String),或者是Serializable类型,就可以在传入的Bundle的onSaveInstanceState()中保存数据. 另一种解决方案是在活动中返回一个任意的对象,实现onRetainNonConfigur