[英]Android studio, remembering input when closing app
這個學期我們一直在做這個啤酒應用程序,您可以在其中添加標准飲料,然后按按鈕,它將為您計數啤酒並添加總和。
我們遇到的一個問題是,當我們按下按鈕並且要對計數進行求和時。 當我們在模擬器上關閉應用程序時,它不記得輸入了。 有沒有什么辦法解決這一問題?
基本上,我們希望它記住Msum和Mcount,即使在應用程序關閉后也要重新打開
代碼是:
一個文件
public class ResourceManager {
private static ResourceManager singleton = new ResourceManager();
private ResourceManager() {}
public static ResourceManager getInstance() {
return singleton;
}
protected static int cost_beer = 0;
protected static int cost_drink = 0;
protected static int count = 0;
protected static int sum = 0;
}
主文件:
countButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
ResourceManager.getInstance().count++;
ResourceManager.getInstance().sum += ResourceManager.getInstance().cost_beer;
countTextView.setText("Du har drukket " + ResourceManager.getInstance().count + " enheter!");
sumTextView.setText("Sum:" + ResourceManager.getInstance().sum + "!");
}
});
drinkButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
ResourceManager.getInstance().count++;
ResourceManager.getInstance().sum += ResourceManager.getInstance().cost_drink;
countTextView.setText("You have been drinking " + ResourceManager.getInstance().count + " units!");
sumTextView.setText("Sum:" + ResourceManager.getInstance().sum + "!");
}
});
resetButton.setOnClickListener(new View.OnClickListener() {
public void onClick (View view) {
ResourceManager.getInstance().sum = 0;
ResourceManager.getInstance().count = 0;
countTextView.setText("You have been drinking " + ResourceManager.getInstance().count + " units!");
sumTextView.setText("Sum:" + ResourceManager.getInstance().sum + "!");
}
});
查看SharedPreferences
。 它可能會幫助您。 它以鍵值對的形式存儲數據。
見這個 StackOverflow的鏈接的一個例子。
要保存數據:
// MY_PREFS_NAME - a static String variable like:
//public static final String MY_PREFS_NAME = "MyPrefsFile";
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor.putString("name", "Elena");
editor.putInt("idName", 12);
editor.commit();
要檢索:
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
String restoredText = prefs.getString("text", null);
if (restoredText != null) {
String name = prefs.getString("name", "No name defined");//"No name defined" is the default value.
int idName = prefs.getInt("idName", 0); //0 is the default value.
}
這是官方文檔: http : //developer.android.com/reference/android/content/SharedPreferences.html
另一個幫助你的例子
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.