簡體   English   中英

Android Studio,關閉應用程序時會記住輸入

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM