Android 实现SharedReferences
这是我的密码。 我有一个文本视图和两个接受和拒绝按钮。当用户单击“接受”按钮时,我使用共享首选项将状态保存为100 下次用户登录时,我需要检查用户是否已单击“接受”按钮。 如果他已经接受了,那么我应该去参加家庭活动 用户单击“接受”后,我不需要再次显示此活动Android 实现SharedReferences,android,sharedpreferences,Android,Sharedpreferences,这是我的密码。 我有一个文本视图和两个接受和拒绝按钮。当用户单击“接受”按钮时,我使用共享首选项将状态保存为100 下次用户登录时,我需要检查用户是否已单击“接受”按钮。 如果他已经接受了,那么我应该去参加家庭活动 用户单击“接受”后,我不需要再次显示此活动 public int kill; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceSt
public int kill;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Toast.makeText(Eula.this, "Status of the app is "+kill, Toast.LENGTH_LONG).show();
if(kill==100)
{
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("mobi.infoways.triviavs1_0","mobi.infoways.triviavs1_0.Home"));
startActivity(intent);
}
setContentView(R.layout.eulatxt);
Intent i2 = getIntent();
addListenerOnButton();
}
private void addListenerOnButton() {
TextView t = (TextView) findViewById(R.id.txtv1);
t.setText(f);
Button Accept = (Button) findViewById(R.id.btn1);
Accept.setOnClickListener(startListener);
Button Reject = (Button) findViewById(R.id.btn2);
Reject.setOnClickListener(startListener);
}
OnClickListener startListener = new OnClickListener()
{
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn1:
SharedPreferences prefs = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putInt("storedInt",100);
editor.commit();
kill = prefs.getInt("storedInt", 100);
Toast.makeText(Eula.this, "status =" + kill, Toast.LENGTH_LONG).show();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("mobi.infoways.triviavs1_0","mobi.infoways.triviavs1_0.Home"));
startActivity(intent);
break;
case R.id.btn2:
Toast.makeText(Eula.this, "button 2 clicked", Toast.LENGTH_SHORT).show();
Eula.this.finish();
break;
}
};
}
而不是
SharedPreferences prefs = getPreferences(MODE_PRIVATE);
使用
同样在onCreate()
中,在super
构造函数之后加载首选项并初始化kill
变量
在super.onCreate(savedInstanceState)旁边的onCreate方法中初始化kill;本身可能就足够了。请参阅下面的代码
SharedPreferences sharedPreferences;
SharedPreferences.Editor editor;
Boolean checkforFirstTime;
sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(getApplicationContext());
editor = sharedPreferences.edit();
checkforFirstTime = sharedPreferences.getBoolean("checkforFirstTime", true);
//Checking whether application is launched first time
if (checkforFirstTime) {
//your code
editor.putBoolean("checkforFirstTime", false);
editor.commit();
} else {
}
加载共享预引用时,调用以下命令:
SharedPreferences save = getSharedPreferences("login", Activity.MODE_PRIVATE);
save.getInt(variable, 0); // zero is default value if you dont have it yet saved
SharedPreferences settings = getSharedPreferences("login", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("storedInt", 100);
editor.commit();
保存时,请拨打此电话:
SharedPreferences save = getSharedPreferences("login", Activity.MODE_PRIVATE);
save.getInt(variable, 0); // zero is default value if you dont have it yet saved
SharedPreferences settings = getSharedPreferences("login", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("storedInt", 100);
editor.commit();
使用首选项管理器时出错。类型PreferenceManager中的方法GetDefaultSharedReferences(Context)不适用于参数(),类型PreferenceManager中的方法GetDefaultSharedReferences(Context)不适用于参数(new View.OnClickListener(){})。正如我所说,您必须在
onCreate()的开头加载首选项
并将首选项加载到kill
变量中。。。如果你不愿意自己想一想,我真的帮不了你。