我有我的應用程序設置菜單控制整個應用程序中使用的單位 - 公制或英制單位。所以當用戶在菜單中的選項中選擇其中的一個時,我希望我的應用程序在整個顯示和計算中使用所選單位。如何在Android中對我的應用程序進行全局更改?
我打算通過存儲sharedpreferences一個布爾值,要做到這一點,然後檢查布爾活動開啓,每次的值,然後進行相應的更改。
是否有更好的方法去這樣做呢?
感謝
我有我的應用程序設置菜單控制整個應用程序中使用的單位 - 公制或英制單位。所以當用戶在菜單中的選項中選擇其中的一個時,我希望我的應用程序在整個顯示和計算中使用所選單位。如何在Android中對我的應用程序進行全局更改?
我打算通過存儲sharedpreferences一個布爾值,要做到這一點,然後檢查布爾活動開啓,每次的值,然後進行相應的更改。
是否有更好的方法去這樣做呢?
感謝
是的,您可以擴展應用程序類並使用Getter和setter將數據存儲在那裏。
讓您的數據將在整個應用程序被保留。
public class SocketManager extends Application {
private static SocketManager singleton;
public int mBluetoothState;
public synchronized static SocketManager getInstance(Context context) {
if (null == singleton) {
singleton = new SocketManager();
}
return singleton;
}
public synchronized void setState(int state) {
mBluetoothState = state;
}
public synchronized int getState() {
return mBluetoothState;
}
}
訪問它喜歡的活動:
SocketManager socketManager = SocketManager.getInstance(this);
socketManager.setState(10);
socketManager.getState();
發表你的Maanifest應用程序文件類似這樣:
<application
android:name=".SocketManager"
android:icon="@drawable/first_aid"
android:label="@string/app_name" >
<activity .... />
</application>
編輯:
你應該添加你的類名將應用程序擴展到應用標籤沒有活動標記
爲了進一步refrence檢查這個link
如果應用程序有多個活動,則工作正常。 – user1378730
這似乎是一個很好的方法,如果我想存儲多個數據值。如果應用程序進程被終止,這是否工作?即使在整個應用程序關閉後,我仍然需要保存我的設置。 – ask
您的應用程序仍在卸載,您可以保留數據。 – Venky
你可以看看Android的存儲選項:http://developer.android.com/guide/topics/data/data-storage.html
然而,這似乎是對你的情況SharedPreferences
是OK
對於剛剛一個布爾值?如果它只是一個調用SharedPreferences
並分配它的活動就沒有問題。
如果在一個應用程序的多個活動,你可以調用它一次,它加載到一個靜態類,並調用它的方式或subclass the Application類。
但即使如此,它只是一個布爾值,你應該做的一切是您最方便的。
編輯我的答案應該是如何。 – user1378730
sharedpreferences是我能想到的......而你可以保持一個布爾值在應用程序類的唯一選項(從應用程序擴展)和更新它每次你打開你的主要活動。該標誌可用於各種活動。 – Tarun
無需共享代碼。這個人只是保存一個布爾值 – user1378730