廢話不多說,下面看如何開始一個Android項目編程。
首先先建立一個android項目,然後,步驟來了。
Step 1.在AndroidManifest.xml對參數進行初始化。
1: <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2: package="com.microjobsinc.mjandroid" android:versionCode="1"
3: android:versionName="1.0">
4: <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
5: <uses-permission android:name=
6: "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
7: <uses-permission android:name="android.permission.CALL_PHONE" />
8: <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
9: <uses-permission android:name="android.permission.INTERNET" />
10:
11: <application android:icon="@drawable/icon2">
12: <uses-library android:name="com.google.android.maps" />
13: <activity android:name=".MicroJobs" android:label="@string/app_name">
14: <intent-filter>
15: <action android:name="android.intent.action.MAIN" />
16: <category android:name="android.intent.category.LAUNCHER" />
17: </intent-filter>
18: </activity>
解釋說明:
application節點(11行)裡的第1個activity(13行)就是你程式的進入點。
package="com.microjobsinc.mjandroid"
就是程式包的名稱。
android:versionCode
隨著你程式的更新而自動的增長。
android:versionName
由你決定這個name是什麼內容,它是一個字串,是給使用者看的,比如你可以定為“1.1.1”。
<uses-permission android:name=...
因為你的Application需要使用android的一些特性來完成功能,比如要串連internet,gps。。那麼這裡聲明的就是使用者的許可開關。
(Android裡有很多內建的許可,可以去尋找“android.Manifest.permission”的文檔,同時你也可以自訂許可。)文中的幾個特性說明如下:
ACCESS_FINE_LOCATION:從GPS獲得你的位置資訊。
ACCESS_LOCATION_EXTRA_COMMANDS:所有的位置命令。
CALL_PHONE:可通電話。
ACCESS_MOCK_LOCATION:運行模擬器的時候獲得一個類比的位置。
INTERNET:串連互連網。
android:icon="@drawable/icon2"
drawable檔案夾下面有icon2這個圖片。
下面把注意力轉到第一個活動(主活動)
1: <activity android:name=".MicroJobs" android:label="@string/app_name">
2:
首先對這個主活動定義一些屬性:
android:name
活動的名稱,他的全名是packageName+ActivityName,例子裡的全程就是com.microjobsinc.mjandroid.MicroJobs,記住(.)不可缺少。
android:label
這個Lable就是當活動顯示在螢幕的時候,在螢幕的頂部顯示的內容。
然後聲明一個意向過濾器(intent filter),告訴android什麼時候應該運行這個活動(activity):
1: <intent-filter>
2: <action android:name="android.intent.action.MAIN" />
3: <category android:name="android.intent.category.LAUNCHER" />
4: </intent-filter>
action
比如,Android正在嘗試啟動一個App,於是它會先尋找一個特定的活動,這個活動一定是已經準備好解析MAIN的方法了(即是它的名稱為android.intent.action.MAIN的)。
任何一個能夠啟動的app都需要這樣一個帶有action為MAIN活動。
category
指明category就是為了在UI上顯示一個捷徑來啟動app。
Step 2.java檔案裡的初始化。
MicroJobs.java作為程式的入口,下面分析MicroJob.java代碼。
1: /**
2: * MicroJobs
3: */
4: public class MicroJobs extends MapActivity { }
絕大多數的activity是要從Activity繼承,本代碼中從MapActivity繼承是因為我們想使用android內部整合的強大的地圖功能,同時也因為我們絕大部分的操作時在地圖上進行的。
我們初始化的內容,需要放置在onCreate方法裡,此方法將在app啟動時被調用。
如所示:
1: MapView mvMap;
2: MicroJobsDatabase db;
3: MyLocationOverlay mMyLocationOverlay;
4: double latitude, longitude;
5:
6: /**
7: * Called when the activity is first created.
8: *
9: * @see com.google.android.maps.MapActivity#onCreate(android.os.Bundle)
10: */
11: @Override
12: public void onCreate(Bundle savedInstanceState) {
13: super.onCreate(savedInstanceState);
14:
15: setContentView(R.layout.main);
首先要注意的是,Oncreate方法接受了一個參數,其類型為Bundle.然後調用了基類的OnCreate方法。但是為什麼要傳個Bundle類型的資料進去?這個Bundle是什麼?
Bundle是android用來在活動之間傳送結構資料的機制,本質上就是一些key-object的對。這裡的代碼沒有使用任何在Bundle裡的資源,但是仍然使用了基類的onCreate.
下一行,setContentView告訴android我們想在螢幕上展示R.layout.main.java的資訊。這個“R”是自動產生的。
Technorati 標籤: android,教程