android开发环境搭建

来源:互联网 发布:windows 7彩蛋 编辑:程序博客网 时间:2024/06/07 04:48
开始开发 Android 应用程序的最简捷的方式是下载 Android SDK 和 Eclipse IDE(参见 参考资料)。Android 开发可以在 Microsoft® Windows®、Mac OS X 或 Linux 上进行。


   本文假设您使用的是 Eclipse IDE 和用于 Eclipse 的 Android Developer Tools 插件。Android 应用程序是用 Java 语言编写的,但是是在 Dalvik VM(非 Java 虚拟机)中编译和执行的。在 Eclipse 中用 Java 语言编程非常简单;Eclipse 提供一个丰富的 Java 环境,包括上下文敏感帮助和代码提示。Java 代码通过编译后,Android Developer Tools 可确保适当地将它打包,包括 AndroidManifest.xml 文件。


虽然没有 Eclipse 和 Android Developer Tools 插件也可以开发 Android 应用程序,但是那样就需要熟悉 Android SDK。
Android SDK 是作为一个 ZIP 文件发布的,可以将该文件解压到硬盘上的一个目录中。由于有多个 SDK 更新,建议有意识地组织开发环境,以便在不同的 SDK 安装之间轻松地切换。SDK 包括:


    android.jarJava 归档文件,其中包含构建应用程序所需的所有的 Android SDK 类。documention.html 和 docs 目录本地和网上提供的 SDK 文档。这些文档的主要形式为 JavaDocs,以便于在 SDK 中导航大量的包。文档还包括一个高级开发指南和 Android 社区的链接。Samples 目录samples 子目录包含各种应用程序的源代码,包括 ApiDemo,该应用程序演示了很多 API。这个示例应用程序可以作为 Android 应用程序开发的良好起点。Tools 目录包含所有用于构建 Android 应用程序的命令行工具。最常用、最有用的工具是 adb 实用程序(Android Debug Bridge)。usb_driver
该目录包含将开发环境连接到支持 Android 的设备(例如 G1 或 Android Dev 1 解锁开发手机)所需的驱动程序。只有 Windows 平台的开发人员才需要这些文件。

Android 应用程序可以在实际的设备上运行,也可以在 Android SDK 附带的 Android Emulator 上运行。图 3 显示 Android Emulator 的主屏幕。


图 3. Android Emulator

Android Debug Bridge
   adb 实用程序支持一些可选命令行参数,以提供强大的特性,例如复制文件到设备或从设备复制文件。可以使用 shell 命令行参数连接到手机本身,并发送基本的 shell 命令。图 4 显示在通过 USB 线连接到 Windows 笔记本电脑的一个实际设备上运行的 adb shell 命令。


图 4. 使用 adb shell 命令

在这个 shell 环境中,可以:
  • 显示网络配置,网络配置可显示多个网络连接。注意这多个网络连接:
    • lo 是本地或 loopback 连接。
    • tiwlan0 是 WiFi 连接,该连接由本地 DHCP 服务器提供一个地址。
  • 显示 PATH 环境变量的内容。
  • 执行 su 命令,以成为超级用户。
  • 将目录改为 /data/app,其中存放用户应用程序。
  • 列出包含某个应用程序的目录。Android 应用程序文件实际上是归档文件,可通过 WinZip 之类的软件查看。扩展名为 apk。
  • 发出 ping 命令,查看 Google.com 是否可用。
从相同的命令提示符环境中,还可以与 SQLite 数据库交互,启动程序以及执行许多其他系统级任务。想像一下您正在连接到电话,因此这是非常了不起的功能。


在下一节,您将创建一个简单的 Android 应用程序。



编写一个基本的应用程序


    本节展示如何构建一个 Android 应用程序。示例应用程序非常简单:一个修改后的 “Hello Android” 应用程序。您将进行一个微小的修改,使屏幕背景全部变为白色,以便把手机用作手电筒。这个例子不是很有创意,但是可以作为一个有用的例子。请下载 完整的源代码。


   为了在 Eclipse 中创建应用程序,选择 File > New > Android project,这将启动 New Android Project 向导。


图 5. New Android project 向导

     接下来,创建一个简单的应用程序,该应用程序有一个活动,并且在 main.xml 中有一个 UI 布局。布局包含一个文本元素,您将修改这个文本元素,以显示 Android FlashLight。下面的清单显示了这个简单的布局。


清单 1. Flashlight 布局

  1. <?xml version=”1.0″ encoding=”utf-8″?>
  2. <LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
  3.     android:orientation=”vertical”
  4.     android:layout_width=”fill_parent”
  5.     android:layout_height=”fill_parent”
  6.     android:background=”@color/all_white”>
  7. <TextView
  8.     android:layout_width=”fill_parent”
  9.     android:layout_height=”wrap_content”
  10.     android:text=”@string/hello” android:textColor=”@color/all_black”
  11.    android:gravity=”center_horizontal”/>
  12. </LinearLayout>

复制代码

在 strings.xml 中创建两个颜色资源。


清单 2. strings.xml 中的颜色

  1. <?xml version=”1.0″ encoding=”utf-8″?>
  2. <resources>
  3.     <string name=”hello”>Android FlashLight</string>
  4.     <string name=”app_name”>FlashLight</string>
  5.     <color name=”all_white”>#FFFFFF</color>
  6.     <color name=”all_black”>#000000</color>
  7. </resources>

复制代码

     主屏幕布局有一个定义为 all_white 的背景色。在 strings.xml 文件中,可以看到 all_white 被定义为一个值为 #FFFFFF 的 RGB 三元组,即纯白。
     布局包含一个 TextView,这实际上是一块静态文本。它是不可编辑的。文本被设为黑色,并通过 gravity 属性设为水平居中。
该应用程序有一个名为 FlashLight.java 的 Java 源文件,如以下清单所示。


清单 3. Flashlight.java

  1. package com.msi.flashlight;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. public class FlashLight extends Activity {
  5.     /** Called when the activity is first created. */
  6.     public void onCreate(Bundle savedInstanceState) {
  7.         super.onCreate(savedInstanceState);
  8.         setContentView(R.layout.main);
  9.     }
  10. }

复制代码

该代码是直接来自 New Project 向导的模板代码:
  • 它是 Java 包 com.msi.flashlight 的一部分。
  • 它有两个 import:
    • 一个用于 activity 类
    • 一个用于 bundle 类
  • 当该活动发起后,onCreate 方法被调用,传入一个 savedInstanceState。对于我们来说,不必关心这个 bundle。只有在暂停然后恢复活动时才会用到。
  • onCreate 方法覆盖了同名的 activity 类方法。它调用超类的 onCreate 方法。
  • 对 setContentView() 的调用将关联 main.xml 文件中定义的 UI 布局。main.xml 和 strings.xml 中的任何内容都自动映射到 R.java 源文件中定义的常量。任何时候都不要直接编辑这个文件,因为它随着每次构建而改变。
运行该应用程序可以看到一个白色屏幕,其中有黑色文本。


图 6. flashlight 的白色屏幕

下面显示用于 FlashLight 应用程序的 AndroidManifest.xml 文件。


清单 4. 用于 FlashLight 的 AndroidManifest.xml

  1. <?xml version=”1.0″ encoding=”utf-8″?>
  2. <manifest xmlns:android=”http://schemas.android.com/apk/res/android”
  3.       package=”com.msi.flashlight”
  4.       android:versionCode=”1″
  5.       android:versionName=”1.0.0″>
  6.     <application android:icon=”@drawable/icon” android:label=”@string/app_name”>
  7.         <activity android:name=”.FlashLight”
  8.                   android:label=”@string/app_name”>
  9.             <intent-filter>
  10.                 <action android:name=”android.intent.action.MAIN” />
  11.                 <category android:name=”android.intent.category.LAUNCHER” />
  12.             </intent-filter>
  13.         </activity>
  14.     </application>
  15. </manifest>

复制代码

    该文件是由用于 Eclipse 的 Android Developer Tools 插件自动创建的。您不需要做任何事情。


    当然,这个应用程序并不是很强大。但是如果希望读点书,又不想打扰正在睡觉的爱人,或者如果需要在断电时去地下室查看保险丝盒,那么这个应用程序还是很方便的。

结束语
     在本文中,您阅读了对 Android 的简介,并构建了一个小型的应用程序。希望本文中的例子能激起您进一步探索 Android 平台的兴趣。Android 有望成为对市场产生深远影响的开源平台,它的用处将远远超越移动电话。
原创粉丝点击