傳智播客——Android開發(fā)(一)Android搭建、HelloWorld
Posted on 2010-02-26 21:21 長(zhǎng)城 閱讀(5353) 評(píng)論(2) 編輯 收藏萬眾矚目,Android終于開課了。本課程有黎活明老師主講,講課細(xì)致而流暢。想做細(xì)他的課程總結(jié),那我沒時(shí)間和精力了。也是總結(jié)個(gè)框框,雖然是個(gè)框框,但如果看著我的日志跟著我做,也能做起Android開發(fā)。
今日的重點(diǎn)內(nèi)容是,3G簡(jiǎn)介、Android簡(jiǎn)介、Android的開發(fā)環(huán)境搭建、HelloWorld程序、Android程序運(yùn)行過程、撥打電話小程序、發(fā)送短信小程序。我們跳過簡(jiǎn)介部分,直接從搭建環(huán)境開始。
一、Android環(huán)境搭建
1.所需開發(fā)環(huán)境:
JDK 5 或 JDK 6
Eclipse 3.5 (galileo)
2.下載ADT 的Eclipse 插件
http://dl.google.com/android/ADT-0.9.5.zip
3.安裝 Eclipse 插件 (ADT)
啟動(dòng) Eclipse,選擇 Help > Install New Software,在出現(xiàn)的對(duì)話框里,點(diǎn)擊Add按鈕,在對(duì)話框的name一欄輸入“ADT”,然后點(diǎn)擊Archive...,瀏覽和選擇已經(jīng)下載的ADT插件壓縮文件。點(diǎn)擊 OK.。返回可用軟件的視圖,你會(huì)看到這個(gè)插件,然后選擇Developer Tools (會(huì)選中下面的“Android Developer Tools”和 “Android Editors“),點(diǎn)擊 Next,最后重啟 Eclipse。
4.下載Android SDK:
http://dl.google.com/android/android-sdk_r04-windows.zip
下載完SDK后,把.zip文件解壓到你電腦上合適位置。啟動(dòng) Eclipse,選擇window->preferences,在打開的視圖左邊點(diǎn)擊android,在右邊的SDK Location中選擇Android SDK所在位置。
二、HelloWorld程序
1.創(chuàng)建一個(gè)Android工程
Project name:HelloWorld
BuildTarget:Android2.1
Application name:第一個(gè)Android程序
Package name:com.changcheng.Activity
Create Activity:HelloWorld
Min SDK Version:7
2.運(yùn)行Android模擬器
安裝ADT插件后,在工具欄中有一個(gè)手機(jī)圖標(biāo)(Opens the Android SDK and AVD Manager)。選擇Virtual Devices,點(diǎn)擊New按鈕添加一個(gè)模擬器。Name隨便(只要自己認(rèn)得即可),Target選擇Android2.1,SD Card 300MiB。其他的默認(rèn),單擊Create AVD確認(rèn)添加。
選中我們添加的模擬器,單擊右邊的Start...按鈕啟動(dòng)我們的模擬器。
模擬器啟動(dòng)完成后,在我們的工程上右鍵,Run As Android Application。
OK,此時(shí)可以看到我們的程序成功部署到Android的模擬器中!我們部署到Android中的程序可以在Android模擬器的“抽屜”中找到。
3.Android工程結(jié)構(gòu)
src:源代碼,我們的代碼。
gen:Android開發(fā)工具所生成的文件,我們不能編輯這個(gè)文件。
R.java,標(biāo)識(shí)程序中使用的各種資源。沒有被此文件標(biāo)識(shí)的資源,不會(huì)被打包到APK文件中。
assets:應(yīng)用系統(tǒng)需要使用到的文件,比如mp3、視頻...。這些文件會(huì)被原樣打包到APK中。
res:資源目錄,向此目錄添加資源時(shí),會(huì)被R.java自動(dòng)記錄。
drawabel-?dpi:圖標(biāo)文件(*.png、*.jpg)
layout:界面布局文件(main.xml)與WEB應(yīng)用中的HTML類同
values:軟件上所需要顯示的各種文字。可以存放多個(gè)*.xml文件,還可以存放不同類型的數(shù)據(jù)。比如arrays.xml、colors.xml、dimens.xml、styles.xml...。
AndroidManifest.xml:項(xiàng)目的總配置文件,記錄應(yīng)用中所使用的各種組件。如果應(yīng)用中使用到手機(jī)中的功能,需要在此聲明使用權(quán)限。
default.properties:記錄項(xiàng)目中所需要的環(huán)境信息,比如Android的版本等。
三、Android程序運(yùn)行過程
程序的運(yùn)行由主配置文件開始AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.changcheng.android" android:versionCode="1" android:versionName="1.0"> <!-- @drawable/icon: @代表R.java drawable是R.java的靜態(tài)內(nèi)部類 icon是drawable的常量,指定圖片資源的ID。 --> <application android:icon="@drawable/icon" android:label="@string/app_name"> <!-- .HelloWorld指向package="com.changcheng.android"下面的HelloWorld類。 我們可以在此添加子包.sub.xxxClass,但不能添加上級(jí)包。 --> <activity android:name=".HelloWorld" android:label="@string/app_name"> <!-- 意圖過濾,程序加載由此開始向外。 --> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <!-- 本程序使用AndoridSDK的最低版本 --> <uses-sdk android:minSdkVersion="7" /> </manifest> |
接下來從HelloWorld類開始:
package com.changcheng.android;
import android.app.Activity; import android.os.Bundle;
/** * 我們的HelloWorld類,繼承自Activity類。 * */ public class HelloWorld extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { // 在此方法中完成界面的繪制 super.onCreate(savedInstanceState); // 顯示R.java文件中的layout靜態(tài)內(nèi)部類的main常量。它指向mail.xml setContentView(R.layout.main); } } |
然后再我們?cè)倏纯?/font>mail.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" > <!-- 文本視圖控件 android:layout_width="fill_parent" ,它的父窗口是屏幕,所以寬度為整個(gè)屏幕。 android:layout_height="wrap_content" ,它的高度為它所包含的內(nèi)容高度。如果內(nèi)容中有一行,就是一行的高度。 android:text="@string/hello",它包含(顯示)的文本內(nèi)容,指向R.java中string靜態(tài)內(nèi)部類的常量hello所指向的文本資源ID,文本資源文件是strings.xml。 --> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout> |
|
再看看Strings.xml:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">HelloWorld,Hello World!</string> </resources> |
現(xiàn)在讓我們看看掌管資源的主文件R.java:
package com.changcheng.android;
public final class R { public static final class attr { } // 圖片資源 public static final class drawable { public static final int icon=0x7f020000; } // 界面布局資源 public static final class layout { public static final int main=0x7f030000; } // 字符串資源 public static final class string { public static final int app_name=0x7f040001; public static final int hello=0x7f040000; } } |
R.java文件中的所有資源ID全部是自動(dòng)生成的,我們不可以手動(dòng)編輯。當(dāng)我們添加一個(gè)圖片時(shí),ADT插件,會(huì)以圖片的名稱為常量的名稱,然后自動(dòng)生成對(duì)應(yīng)的資源ID。當(dāng)我們向strings.xml中添加一個(gè)字符串時(shí),ADT插件會(huì)以符串的名稱為常量的名稱,然后自動(dòng)生成對(duì)應(yīng)的資源ID。
R.java文件不需要我們手動(dòng)編輯,我們只需要在需要使用到資源的地方引用這個(gè)文件里標(biāo)識(shí)的資源即可!
四、撥打電話程序
請(qǐng)見:傳智播客——Android開發(fā)(一)撥打電話程序
五、發(fā)送短信程序
請(qǐng)見:傳智播客——Android開發(fā)(一)發(fā)送短信程序