我想知道即使應用程式關閉,如何保持整數值和布林值......
我已經嘗試將其設為靜態并按下,直到應用程式退出(使用 onStop 方法),但是當我關閉應用程式(使用 onDestroy)時,變數值恢復為默認值......
我會很高興知道這個簡單的解決方案,最后我想知道是否有一種方法來編輯資產檔案......
uj5u.com熱心網友回復:
我認為您需要使用共享偏好或資料存盤..為此
uj5u.com熱心網友回復:
閱讀此檔案,選擇您最喜歡的方式來存盤現有資料,我會使用 use SharedPreferences(walkthrough HERE )
在提出這樣的基本問題之前,請先閱讀一些檔案和教程......在互聯網上這類問題的答案有數千個,只需搜索
uj5u.com熱心網友回復:
啟動程式時,所有變數都存盤在 RAM 中(快速存盤)。當然,一旦您關閉應用程式,它們就會消失,因為 RAM 中的所有應用程式資料都將被洗掉。
如果您沒有完全關閉應用程式,您可能會在onCreate(). 不管這個值是什么,你應該直接在你宣告變數的地方分配它(例如boolean x = true);
static僅表示變數 inclass X不是X( new X()) 的每個實體的屬性,而是該類的唯一變數。
您要做的是將資料保存在內部存盤中。對于少量資料(最多幾千個變數),最好的方法是使用SharedPreferences.
他們使用鍵值系統:每個鍵,即 a String,總是映射到一個值,它可以是最原始的型別s ( boolean, short, int, long, float) 或 a String/ Set<String>。
您可能使用 (class that extends) AppCompatActivity。在那,您應該已經有一個名為onCreate(Bundle savedInstanceState). 您將需要其中的另一個所謂的生命周期方法onPause()。當您不再專注時AppCompatActivity,將呼叫此方法。這發生在諸如
- 離開應用程式
- 關閉應用程式
- 關掉電話
- 打開谷歌助手。
這是您需要使用的代碼:
public void onPause() {
SharedPreferences.Editor editor = getApplicationContext().getSharedPreferences("ANY NAME", MODE_PRIVATE).edit();
editor.putBoolean("ENTER_THE_NAME", enter_boolean_name);
// ... you can e.g. use putInt(String, int);
editor.commit();
}
并將其取回:
public void onCreate(Bundle savedInstanceState) {
SharedPreferences prefs = getApplicationContext().getSharedPreferences("ANY NAME", MODE_PRIVATE);
enter_boolean_name = prefs.getBoolean("ENTER_THE_NAME");
}
我不太明白什么
編輯資產檔案
方法。
您可以在任何編輯器中編輯您的資產檔案并將它們放入
res/drawable影像res/mipmap對于圖示res/raw用于音樂res/values對于文本
并使用您的Resources實體訪問它們 ( getResources())
如果你想在你的應用程式中修改圖形資源,你可以使用 Androids 位圖:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inScaled = false;
options.inMutable = true;
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.whatever, options);
您可以呼叫setPixel()和getPixel()。Bitmap如果這些選項對您來說還不夠,請使用Canvas:
Canvas canvas = new Canvas(bitmap);
您可以在您的上繪制形狀和其他位圖Canvas,它會修改bitmap.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/482790.html
