Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android學習之Activity初步,androidactivity

Android學習之Activity初步,androidactivity

編輯:關於android開發

Android學習之Activity初步,androidactivity


Activity作為Android的第一步接觸的概念,在學習中將初步的認識總結下來,以便後續的回顧與反思。

1、在用Android Studio生成第一個helloworld應用程序運行在手機上時,發現繼承自Activity的MainActivity生成的界面上,默認的Label是不可見的,即使在AndroidManifest文件中定義android:Label="This is FirstActivity"也無濟於事。後來才發現應該是繼承Activity的原因,將其改為extends AppCompatActivity即可。

2、注意XML文件中@+id/與@String這樣的區別,+號表示要構建唯一的標識符,而沒有+號則意味著是引用之意。

3、Intent:作為Activity中用來傳遞活動、信息的傳遞者,它有多個構造函數,並存在兩種方式:顯式Intent和隱式Intent:

顯式Intent:

1  public void onClick(View view) { //點擊按鈕就會執行onClick方法
2                 Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
3                 startActivity(intent);

Intent的兩個參數用來指示出發的Activity和將要啟動的Activity,並且利用startActivity的方法,將intent傳入該方法,就可以進行Activity之間的切換。

隱式Intent:

隱式Intent的主要部分並非在class文件中,而在於Androidmanifest的Activity注冊中:

<activity android:name=".ThirdActivity">
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:scheme="http"/>
            </intent-filter>
        </activity>

注意到intent-filter中的兩個參數:action和category(action只能有一個,而category則可以有多個),這些相當於ThirdActivity的一個內在特征,在代碼中使用隱式intent時,就需要進行“匹配”,才會得到正確的運行方式:

public void onClick(View view) {
                Intent intent = new Intent("android.intent.action.VIEW");
                intent.addCategory("android.intent.category.DEFAULT");
                startActivity(intent);

Intent的這個構造方法將action作為參數,category若是default則可以不用寫出,這樣兩者的特征得到“匹配”,就可以得到與顯式intent相同的Activity切換效果。注意:若category采用自定義的方式在manifest文件中注冊,那麼在Intent方法中需要使用如下addCategory方法進行說明:

intent.addCategory("android.intent.category.MY_DEFAULT");

這樣才能使得manifest文件與intent傳遞信息“匹配”成功,才能正確的啟動目標Activity。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved