Android开发速成简洁教程三:第一个应用Hello World

移动开发 Android
在安装后Android开发环境和创建好Android模拟器之后,就可以开始写第一个Android应用“Hello,World”。文中的例子均采用Eclipse IDE。

在安装后Android开发环境和创建好Android模拟器之后,就可以开始写***个Android应用“Hello,World”。后面的例子均采用Eclipse IDE。

安装ADT plugin之后,创建的新项目种类就会增加一个Android Project类型:

选择Android Project项目类型,出现下面对话框:

Project Name : Hello World

Build Target: 这里选择 Android 1.6 ,如果你的Build Target 列表为空,则表示你忘记设置Android SDK安装目录了。可以通过Windows -> Preferences -> Android 来设置SDK路径。

Application Name: Hello World

Package name: com.pstreets.android.example, 如果您开发过Java或是.Net Framework 应用,包名称并不陌生。

Create Activity: HelloWorld。 Activity 是Android平台中特有的一个新概念。以Java ME或是Windows Mobile CE应用作参考,它类似于Java ME和Windows Mobile中 UI类的Form类。

Min SDK Version: 可以为空。 Android平台的 版本比较多,从1.5到目前的3.0。Android平台支持向下兼容。Min SDK Version指出了您开发应用支持的最第版本。4对应于Android 1.5。

点击“Finish”则在Eclipse 的Workspace中创建了“Hello World”项目:

ADT Plug自动创建了几个目录:

src  应用源码目录

gen  Android应用自动生成的代码,主要是根据Android资源目录res下的资源来生成的,这样可以根据资源ID来访问应用中的资源。一般不建议手工改动,即使改动,下次编译时也会被重新覆盖。

Android 1.6 表示当前选择的Android版本是Android1.6,你可以使用Android1.6中提供的API。可以通过项目的属性来修改Android版本。

assets  静态文件目录。Hello world 中为空。

res 为应用中的资源目录,res中含有多个子目录,为多种资源。如果你曾经使用Silverlight, Polish Java ME或是 WPF等使用XML来描述UI的应用,则您会觉得res 目录下的各种资源文件似曾相识。Android也是采用XML来描述UI的。

AndroidManifest.xml 应用程序描述文件,类同于Java ME的 JAD文件。它定义了应用的构成,组件,权限等信息。

default.properties 和proguard.cfg 一般不需要改动。proguard.cfg主要用来扰码(混淆器)来保护应用防止反编译。开发过Java 或是.Net 应用的应该对这比较熟悉。

这样就有了***个应用“Hello World”,可以直接运行。Run As -> Android Application ,将启动模拟器,如果你有Android设备,则也可以选择使用Android设备运行。

到目前为止我们还没有写一行代码。还不能说了解开发Android应用的基本概念。所以需要具体了解一下这个应用的几个重要的组成部分:

主Activity ,打开类 com.pstreets.android.example.HelloWorld

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

前面提到Activity是Android中类似Windows Mobile 中的Form类的基本UI类。如果您开发过Java ME应用,Activity更像MIDlet,当Android应用可以有多个Activity,而每个Java ME应用中只能有一个MIDlet派生类。如果熟悉MVC ,MVP模型 ,Activity类似于 MVC或是 MVP模型中的 Controller或是Presenter。Activity 有多个生命周期事件可以实现,onCreate是其中一个,它类似于Java ME MIDlet的 startApp 或是 From 的 From_Load事件。Activity将在后面在详细介绍。 setContentView(R.layout.main); 设置Activity主用户UI。

Layout资源文件  res->layout->main.xml

  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.     > 
  7. <TextView  
  8.     android:layout_width=”fill_parent” 
  9.     android:layout_height=”wrap_content” 
  10.     android:text=”@string/hello” 
  11.     /> 
  12. </LinearLayout> 

Android 是通过XML来描述 UI 的,UI 一般通过res 下Layout资源来描述 main.xml 中定义了HelloWorld主界面。可以看到LinearLayout和TextView两个元素。这表示主界面采用LinearLayout布局(类 似Swing 中Layout),下面是一个TextView(文本框),文本框显示的内容是@string/hello, @string/hello为一个string 资源,@表示资源引用。string资源定义在res->values->strings.xml 中,其值为<string name=”hello”>Hello World, HelloWorld!</string>。

View 在Android中表示一个可视化组件,刚接触Android开发时,可能会有些困惑,因为在其它平台在View一般指用户界面(Windows),如果 拿Java ME或是Windows Mobile做类比的话,Android中的View相当于Windows Mobile中的Control 或是Component, ViewGroup相当于 Container或是Swing中的Layout。  R.layout.main 定义在 gen->R.Java 中,为自动为资源生成的资源ID。

AndroidManifest.xml  应用程序清单

  1. <?xml version=”1.0″ encoding=”utf-8″?> 
  2. <manifest xmlns:android=”http://schemas.android.com/apk/res/android” 
  3.       package=”com.pstreets.android.example” 
  4.       android:versionCode=”1″ 
  5.       android:versionName=”1.0″> 
  6.     <application android:icon=”@drawable/icon” android:label=”@string/app_name”> 
  7.         <activity android:name=”.HelloWorld” 
  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.  
  15.     </application> 
  16.     <uses-sdk android:minSdkVersion=”4″ /> 
  17.  
  18. </manifest> 

和Java ME的JAD文件类似,AndroidManifest.xml定义了Android应用中所有的Activity ,应用的图标,权限等属性。

  1. <intent-filter> 
  2.  <action android:name=”android.intent.action.MAIN” /> 
  3.  <category android:name=”android.intent.category.LAUNCHER” /> 

</intent-filter> 表示这个Activity 是可以通过Android应用菜单来启动,具体含义在介绍Activity时再说明。

此外,Android 除了使用XML来描述UI外,如果你不怕麻烦的话,也可以通过代码来创建UI,方法类似Swing UI。

责任编辑:闫佳明 来源: imobilebbs
相关推荐

2013-10-30 22:10:28

Clouda程序

2013-12-26 15:10:08

Android开发应用和框架Linux 内核

2024-03-13 13:53:10

C++程序开发

2009-07-17 16:10:42

JRuby入门教程

2013-12-26 15:43:07

Android开发Android应用Activities

2013-12-26 15:34:19

Android开发Android应用基本概念

2013-12-27 16:06:10

Android开发Android应用发布应用

2013-12-26 16:46:21

2013-12-26 15:18:09

Android开发安装开发环境

2020-12-24 10:05:54

鸿蒙鸿蒙开发Hello World

2011-06-14 15:32:26

Android视频教程

2013-12-27 14:16:43

Android开发Android应用线程

2013-12-27 14:05:22

Android开发Android应用Dialog

2013-12-27 14:34:46

Android开发Android应用短信触发示例

2012-05-25 15:20:38

XNA

2013-12-27 13:27:05

Android开发Android应用RadioButton

2013-12-26 15:46:30

Android开发Android应用用户界面设计

2013-12-27 13:49:22

Android开发Android应用Button

2013-12-27 12:51:44

Android开发Android应用引路蜂

2013-12-26 16:24:13

Android开发Android应用Intents
点赞
收藏

51CTO技术栈公众号