初學Android

   這兩天學了點Android,初學有很多不懂和容易犯錯的地方,說的不對,請大家給意見,謝謝!

   上傳了一張圖片,先通過這張圖片開始講起。

(1) 這個Android項目中有2個Activity,而每個Activity都需要在AndroidManifest.xml配置文件中進行註冊。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.william"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="4" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".CalculateActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
		
		<activity android:name=".ResultActivity"
				  android:label="@string/result">
		</activity>
    </application>
</manifest>

   這個配置文件通過 package="com.william" + android:name=".CalculateActivity" 能找到相應的Activity。

 

(2) 通常情況下有一個佈局配置文件來管理一個Activity類,圖中的main.xml來管理CalculateActivity.java類,result.xml配置文件時管理ResultActivity.java類的。

 

public class CalculateActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 }

CalculateActivity.java類都要繼承Activity,因爲在父類Activity中有一個setContentView();方法,那麼子類可以通過setContentView(R.layout.main);(R.layout.main後面解釋)方法找到main.xml配置文件。

 

(3) 現在就談談gen目錄下的R.java類。

   

/* AUTO-GENERATED FILE.  DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found.  It
 * should not be modified by hand.
 */

package com.william;

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 int result=0x7f030001;
    }
    public static final class string {
        public static final int app_name=0x7f040001;
     }
}

   從註釋不難看出,此文件時自動生成的,不能修改(在Eclipse中安裝了ADT插件,這樣就能創建一個Android項目)。

R.java文件是來管理res(圖中)目錄中每個文件。比如:layout目錄下----

  public static final class layout {
        public static final int main=0x7f030000;
        public static final int result=0x7f030001;
    }

它管理了main.xml和result.xml配置文件。當然,你在layout目錄下再加入一個test.xml配置文件的話,那麼會加上一行代碼(public static final int test = 0x7f030002)

  public static final class layout {
    .......
    public static final int test = 0x7f030002;
  }

 所以說這個R.java文件是隨着res目錄下文件修改而自動修改的,不需要我們手動修改。

 

(4) values目錄下的 strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, CalculateActivity!</string>
    <string name="app_name">Calculation</string>
    <string name="result">結果</string>
    <string name="multiply">乘法</string>
    <string name="compute">計算</string>
</resources>

 因爲我們知道Android開發的時候肯定會考慮到國際化的問題,支持很多國家語音。那麼這個配置文件作用就顯而易見了,就是利用鍵-值對的形式來支持國際化。也可以讓代碼中出現Hand Code。

 

 

 

以上是我在學習兩天以後小小的總結,肯定有很多不足之處。朋友們可以多多給意見!!!

  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章