我正在编写一个Android应用程序,我想节省用户在首选项中单击按钮的次数,然后在另一个类中检索该首选项。我在这一点上是完全初学者,任何帮助都将不胜感激。
答案 0 :(得分: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);
答案 1 :(得分: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);
答案 2 :(得分: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..
答案 3 :(得分:0)
保存上一个按钮状态的一种方法是在Android中使用共享首选项。共享首选项允许存储关键值数据对,以后可以轻松检索。 Android中有一种数据访问机制。其他人是SqlLite数据库&档案。
有关共享偏好的Android文档
关于共享偏好的视频
现在再次回到你的问题。我曾经不得不保存一个checkbutton的状态。然后再次访问它(这似乎与你想要做的类似)
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();
上面是一个复选框。您必须根据要保存的按钮信息进行调整。希望这能让你开始。