posts - 78, comments - 34, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
           

          萬眾矚目,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.xmldimens.xmlstyles.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

          drawableR.java的靜態(tài)內(nèi)部類

          icondrawable的常量,指定圖片資源的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.javastring靜態(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ā)送短信程序

           


          評(píng)論

          # re: 傳智播客——Android開發(fā)(一)Android搭建、HelloWorld  回復(fù)  更多評(píng)論   

          2010-03-13 16:26 by じZhìつ偉
          挺不錯(cuò)的。。手機(jī)開發(fā)

          # re: 傳智播客——Android開發(fā)(一)Android搭建、HelloWorld  回復(fù)  更多評(píng)論   

          2010-11-18 00:57 by Gavin.lee
          不錯(cuò),是不是傳智的學(xué)生呀,呵呵,我一直關(guān)注傳智的視頻,基本上是跟著傳智視頻學(xué)習(xí)的

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 丰城市| 垣曲县| 缙云县| 乐业县| 汝城县| 乌鲁木齐县| 镇坪县| 英超| 循化| 祁东县| 晴隆县| 揭东县| 曲水县| 岑巩县| 呈贡县| 荣昌县| 綦江县| 嘉祥县| 青州市| 康保县| 安岳县| 福清市| 股票| 巧家县| 襄汾县| 彰化县| 青田县| 马关县| 古交市| 乐昌市| 浦江县| 浦县| 北辰区| 商城县| 清新县| 金川县| 仪陇县| 黄大仙区| 武安市| 齐齐哈尔市| 商洛市|