2013-10-16 24 views
0

我正在編寫一個android應用程序,我想要保存用戶在首選項中單擊按鈕的次數,然後在另一個類中檢索該首選項。我在這一點上是完整的初學者,任何幫助,將不勝感激。將按鈕點擊次數保存到首選項

回答

1

做到這一點的方式..

**Activity1.java** 
------------------ 

SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE); 
SharedPreferences.Editor editor = sp.edit(); 
int myIntValue = sp.getInt("your_int_key",0); 


     yourbutton.setOnClickListener(new OnClickListener() { 

        @Override 
        public void onClick(View v) { 

        editor.putInt("your_int_key",++myIntValue); 
           editor.commit(); 
        } 
       }); 

**Activity2.java** 
----------------- 

    SharedPreferences sp = getSharedPreferences("your_prefs", Activity.MODE_PRIVATE); 
int myIntValue = sp.getInt("your_int_key", 0); 
+0

哎試試這個代碼,讓我知道,如果它仍然有任何問題.. –

0
// declare thsi class variable in class from where u will put the string u wanna store in shared pref 

//class variables 

    SharedPreferences pref; 
    SharedPreferences.Editor editor; 
------------------- 

//in oncrete method 
// declare this in oncreate method 

     pref = getSharedPreferences("testapp", MODE_PRIVATE); 
     editor = pref.edit(); 

// the varibale u wanna put use the below statements 
// for string use putString 
// for boolean as u need use putBoolean 
// have a look at the various option it offers.. 


editor.putString("selected", "nil"); 
editor.commit(); 


// here is the statement use this statement in class where u wanna retireve ur strings 
// use getBoolean for Boolean variables 

pref.getString("selected", "nil") 

// here in sceond parameter in above statement is : if the value u r requesting for that is specified in first parameter is not present then it will return the //value which is your second parameter.. 
0

保存上一個按鈕狀態的一種方法是利用Android中的共享首選項。共享首選項允許存儲可以稍後檢索的關鍵值數據對。 Android中有一個數據訪問機制。其他人是SqlLite數據庫&文件。

上分享偏好

視頻共享偏好

Android文檔現在回來了,以您的問題又來了。我曾經不得不保存一個checkedbutton的狀態。然後再次訪問它(這似乎與你想要做的一樣)

Part 1 Accessing Share preference Values : 

     public static final String PREFS_FILE = "MyPreferences"; 
     public static final String PREFS_NAME = "USER_NAME"; 
     public static final String PREFS_CHOICE = "USER_CHOICE"; 

     SharedPreferences sp; 

     public void onCreate(Bundle savedInstanceState) 
     { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 

      chkChoice = (CheckBox)findViewById(R.id.chkChoice); 
      btnMain = (Button)findViewById(R.id.btnMain); 
      btnMain.setOnClickListener(this); 

      // Here i access the shared preference file . 
      sp = this.getSharedPreferences(PREFS_FILE, MODE_PRIVATE); 
      // If i have a preference for my checkbox saved then load it else FALSE(unchecked) 
      chkChoice.setChecked(sp.getBoolean(PREFS_CHOICE, false)); 
     } 


    Part 2 Setting Share preference from your activity : 

    sp = this.getSharedPreferences(PREFS_FILE, MODE_PRIVATE); 
    SharedPreferences.Editor editor = sp.edit(); 

    editor.putString(PREFS_NAME, txtName.getText().toString()); 
    editor.putBoolean(PREFS_CHOICE, chkChoice.isChecked()); 

    editor.commit(); 

    // Close the activity to show that the data is still saved 
    finish(); 

以上是對於複選框。您將不得不根據您要保存的按鈕信息進行調整。希望這會讓你開始。

1

嘗試類似如下:

Activity1.java

SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(Activity1.this); 
SharedPreferences.Editor editor = app_preferences.edit(); 
int i=0; 

    yourbutton.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View v) { 
            i++; 
        editor.putInt("counter", i); 
        editor.commit(); 
       } 
      }); 

Activity2.java

SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(this); 
String counter = app_preferences.getInt("counter", 0);