Android學習1

來源:互聯網
上載者:User

廢話不多說,下面看如何開始一個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,教程

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.