【 Android 】Activity 間全域變數共用的作法

在專案執行時遇到一個問題,就是我在A activity宣告的全域變數想要在B activity使用,但不知道該如何使用,目前有一試到一個方式是可行的:

下列是專案開發上遇到的問題和用法:

A activity:

public static DBHelper dbhelper;  //宣告一個sql的helper 成 public static
public static SQLiteDatabase db;  //宣告一個sql的SQLiteDatabase 成 public static

B activity:

private DBHelper dbhelper2;  //宣告一個sql的helper 成 private
private SQLiteDatabase db2;  //宣告一個sql的SQLiteDatabase 成 private


dbhelper2 = MainActivity.dbhelper;
db2 = MainActivity.db;

即可將A activity的變數在B activity裡使用;

這裡牽涉到一個小小的觀念:
所謂的public和private是為了控制類別外部的存取權而設定的東西,想像成權限;
當設成 private時,外部的類別就無法存取;
當設成 public時,外部的任何類別都可以存取;
而static是靜態的意思,是具有唯一的概念,不管被new幾個object,該值永遠都是一樣的。

留言

這個網誌中的熱門文章

【 Android 】控制ImageView大小&位置

【 Android 】利用file取得資料夾內檔案

【 Android 】防止系統進入休眠和螢幕恆亮