本節不打算繼續講Android介面開發,而是講一下Intent, 之後可能會把QQ登陸介面、聊天介面做出來,不過聊天介面可能會等我複習完Sqlite資料庫之後再考慮,不過還是先記錄一下本節的內容,以備以後參考。
Intent 用於啟動一個Activity 或 Service或者BroadCast。
1、 可以使用setClass或者在建構函式中設定原Activity或者目標Activity,這樣就可以顯示的指定跳轉的對象。
2、 也可以通過setAction方法為Intent對象設定Action屬性(一個字串),然後啟動intent, intent會根據在AndroidManifest.xml中的Activity的註冊資訊的intent-filter自動篩選合格對象。
這裡要注意:
新建立的一個Activity必須在AndroidManifest.xml中註冊,註冊時如果沒有<intent-filter> </intent-filter> 那麼只需配置一下名字即可,但如果有intent-filter,就必須包含
<action />和 <category />屬性,其中普通Activity的category屬性一般可以是 <category android:name="android.intent.category.DEFAULT"/>
/*****example*****/
AndroidManifest.xml
<intent-filter>
<action android:name="Action information" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
MainActivity.java
Intent intent=new Intent();
intent.setAction("Action Inforation");
startActivity(intent); //注意這裡的Action Information的形式是任意的,但是必須不能與其他的Activity發生衝突
/****************/
3、可以通過addCategory設定category對啟動的Activity做進一步的限定。
AndroidManifest.xml
<intent-filter>
<action android:name="Action information" />
<category android:name="TSIDJ" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
MainActivity.java
Intent intent=new Intent();
intent.setAction("Action Inforation");
intent.addCategory("TSIDJ");
startActivity(intent);
//注意由addCategory()這一屬性就能看出,這是添加了一個附加的屬性,要注意兩點:1、categeory屬性DEFAULT不能省略; 2、category不能單獨實現Activity的跳轉,而Action獨自就可以實現Activity跳轉,category只是作為一個附加條件,即如果action/data資訊相同而category資訊不同也無法啟動Activity
今天就寫這麼多吧早點休息了。。