在Activity間傳遞變數可以利用Bundle的方式來處理,但是如果當Activity太多,又每一個都可能運用到相同的參數,如每一個頁面都要去判斷登入者來決定可使用的功能,這時候可能會將值儲存在所謂的全域變數。

步驟:
1. 建立繼承於Application的類別

package tw.com.ola;
import android.app.Application;
public class GlobalVariable extends Application {
public String UserID = "";
}
說明:
*必須要繼承Application
*可以自行撰寫getter或setter,就跟一般的類別檔一樣
*上述程式碼僅建立一個外部可讀寫的變數UserID

2. 設定AndroidManifest

<application android:name=".GlobalVariable" android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Activity_CheckAndroid" android:label="@string/Activity_CheckAndroid_Title" android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
說明:
*一般AndroidManifest中有一個application標籤,原本沒有android:name屬性,將第一步驟建立的類別檔加入,例:android:name=".GlobalVariable"。

3. 將值放入與將值讀出

//放入
GlobalVariable globalVariable = (GlobalVariable)context.getApplicationContext();
globalVariable.UserID = key_UserID;

//讀出
GlobalVariable globalVariable = (GlobalVariable)context.getApplicationContext();
String UserID = globalVariable.UserID;
說明:
*如此就可以將各個Activity都需要的變數,進行儲存與讀取的動作。

, ,

狼翔月影 發表在 痞客邦 PIXNET 留言(0) 人氣()