編輯:初級開發
環境搭建
在開始之前,你需要先准備以下環境以及程序
必備
Microsoft Windows XP/Microsoft Windows Vista操作系統
android SDK 1.1r1
Java Development Kit(JDK)v6.0以上
eclipse-jee-ganymede-SR1-win32版本為編譯環境
好,開始下載吧!
下載完成後,我們進行android 開發環境的搭建。
1.在Eclipse編譯IDE環境中,需安裝ADT(Android Development Tools)plug-in,此為android的開發工具,啟動Eclipse後,請運行“Help―Software Updates>>Find and Install”,並按下“Add Site”輸入ADT plug-in網址後(如下),按下“Install”便開始自動下載安裝:
http://dl-ssl.google.com/android/eclipse/
下載後,安裝向導會顯示兩項必須安裝的程序:Android Development Tools與android Editors。
安裝ADT所需的時間不長,也可以在後台運行,不會影響現有的操作系統程序。安裝完畢後,需要重新啟動Eclipse,才能使用android ADT。
至此Android SDK及ADT已安裝完畢,所有准備工作都已經就緒,隨時可以開始建立android項目。
2.初次建立Android項目之前,需要設置Android SDK的路徑,讓Eclipse可以找到android SDK,先執行“Window―Preferences”。
點擊“Android”的樹狀列表,單擊“Browse”按鈕,選擇剛才解壓的android SDK的路徑,而後按下“Apply”設置讓Eclipse引用的SDK文件夾。
l
開發經典案例HelloWorld
1.開發步驟
android SDK的引用路徑設置完成之後,就可以開始建立Hello World這個經典范例了;運行“File―New>>Project”建立新項目。
新建項目向導需要指定一種應用程序類型,故展開“Android”後,點擊“android Project”,按下“Next”按鈕繼續。
新建android項目需輸入項目名稱(Project name)、Package name、Activity name以及Application name,最後按下“Finish”按鈕,項目隨即建立完成。
到目前為止,新建Android項目已經完成,而且這個新建立的程序也已經可以運行,運行的方法是在“Package Explorer”窗口裡,點開剛建立好的“HelloWorld”項目文件夾,並在項目名稱上單擊鼠標右鍵,在功能菜單上運行“Run As>android Application”功能。
假若此時尚未將手機與計算機聯機,那麼Eclpise將打開默認的android模擬器(Emulator),運行畫面就如同真的手機開機一樣,隨著計算機硬件環境的不同,運行模擬器也會有不同的性能表現,開機之後,隨即打開剛建立好的Hello World程序。
要退出被啟動的“Hello World”程序,可以按下手機模擬器上的退格鍵(Backspace)。
2.代碼認識
雖然半行代碼都沒有寫,但向導卻幫忙寫好了程序進入點、布局配置、字符串常數、應用程序訪問權限等,除了可作為程序模板之外,也是android手機程序的最佳學習范例。
讓我們回過頭來看看剛才Android項目建立向導幫忙做了哪些工作,以此來了解android應用程序的生命周期及其文件組成方式;首先,展開“Package Explorer”窗口裡的“HelloWorld”項目名稱,可以看見如下數據結構的文件:
+HelloWorld
+-src
+-helloworld.irdc.eracom.com.cn
+-HelloWorld.Java
+-R.Java
+-android Library
+-android.jar - D:\SDK\android
+-assets
+-res
+-drawable
+-icon.png
+-layout
+-main.XML
+-values
+-strings.XML
+-androidManifest.XML
在展開的文件夾層中,“src”、“Android Library”、“assets”、“res”與“androidManifest.XML”同屬一層,放置在“\src”裡的為主程序、程序類(class);放置在“\res”裡的為資源文件(Resource Files),如程序ICON圖標、布局文件(\layout)與常數(\values)。
以此Hello World程序為例,主程序為“HelloWorld.java”,其內容與一般Java程序格式相類似:
package helloworld.irdc.eracom.com.cn;
import android.app.Activity;
import android.os.Bundle;
public class HelloWorld extends Activity
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentVIEw(R.layout.main);
}
主程序裡可看見HelloWorld類繼承自Activity類,在類中重寫了onCreate() 方法,在方法內以setContentVIEw() 來設置這個Acvitity要顯示的布局(R.layout.main),使用布局配置“\layout\main.xml”,布局文件是以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"
>
<TextVIEw
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
布局配置中設置了一個TextVIEw TAG,用以配置文本標簽Widget,其內部設置的android:text屬性,則是要顯示的文字內容,引用“@string”裡的hello字符串常數。
查看“values/strings.XML”字符串常數設置如下:
<?XML version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, HelloWorld</string>
<string name="app_name">HelloWorld</string>
</resources>
其中“hello”字符串變量的內容為“Hello World, HelloWorld”,這即是剛才看見的Hello World程序顯示的文字內容了。
android應用程序有以下三種類型:
l 前端Activity(Foreground ActivitIEs)。
l 後台服務(Background Services)。
l 間隔執行Activity(Intermittent ActivitIEs)。
前端Activity就如同這個Hello World一樣,運行在手機前端程序中;後台服務可能是看不見的系統服務(System Service)、系統Broadcast(廣播信息)與Receiver(廣播信息)接收器);間隔執行Activity則類似如進程(Threading)、Notification Manager等等。
每一個項目都有一個“AndroidManifest.xml”設置文件,裡頭包含這個Android應用程序具有哪些Activity、Service或者Receiver,先來看看Hello World制作好的“androidManifest.XML”設置文件的內容描述:
<?XML version="1.0" encoding="utf-8"?>
<manifest
XMLns:android="http://schemas.android.com/apk/res/android"
package="helloworld.irdc.eracom.com.tw"
android:versionCode="1"
android:versionName="1.0.0">
<application
android:icon="@drawable/icon"
android:label="@string/app_name">
<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>
</manifest>
在manifest文件中有一個名為HelloWorld的Activity,設置其intent-filter的category android:name為"android.intent.category.LAUNCHER",寫在intent-filter裡是指定此
Activity為默認運行的主要Activity,除了在manifest文件中手動設置之外,也可在Eclipse右擊項目名稱,運行“Run As―Run Configurations”,設置Launch Action。
Activity類的應用程序有其默認運行的方式,為了確保應用程序運行的優先級,理解Activity在手機運行時的生命周期,及其可視性(Visible)周期。
l ▲Activity自onStop之後,程序即可被關閉
以Hello World程序裡繼承自Activitry類開始,一旦程序被執行,即會照以上流程順序進行,若需要在Activity程序裡編寫程序,默認常見的進入點為重寫onCreate(Activity)或onStart(Service),重寫的方式可通過Eclipse來選擇,方法為將鼠標光標停在繼承自Activity的空白處,單擊鼠標右鍵展開菜單,點開執行“Source―Override/Implement Methods”功能。
在重寫於實現方法的對話框中,點開“Activity”樹狀列表,在其中找到了onCreate(Bundle)方法,勾選前方的選擇項(CheckBox),再按下“OK”按鈕即可。
本文內容全部來自網絡!
最近因為因緣際會,看了好些與創新理論相關的書籍。其中創新理論權威、哈佛大學商學院教授克裡斯汀生所著《創新者的解答》一書,我個人認為頗有意思,尤其對於開放系統與封閉系
Notification通知界面可以用自己定義的界面來顯示。下面是我實現的帶進度條的通知效果下面是主要實現部分代碼,比較簡單直接看代碼可以了。Java代碼nf =new
上課講義之 1: 高煥堂講解 Intent-based ProgrammingAndroid的4種嫡系組件(即Activity、Service、IntentReceiv
android 有一種叫消息隊列的說法,這裡我們可以這樣理解:假如一個隧道就是一個消息隊列,那麼裡面的每一部汽車就是一個一個消息,這裡我們先忽略掉超車等種種因素,只那麼