Android 实现SharedReferences

Android 实现SharedReferences,android,sharedpreferences,Android,Sharedpreferences,这是我的密码。 我有一个文本视图和两个接受和拒绝按钮。当用户单击“接受”按钮时,我使用共享首选项将状态保存为100 下次用户登录时,我需要检查用户是否已单击“接受”按钮。 如果他已经接受了,那么我应该去参加家庭活动 用户单击“接受”后,我不需要再次显示此活动 public int kill; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceSt

这是我的密码。 我有一个文本视图和两个接受和拒绝按钮。当用户单击“接受”按钮时,我使用共享首选项将状态保存为100

下次用户登录时,我需要检查用户是否已单击“接受”按钮。 如果他已经接受了,那么我应该去参加家庭活动

用户单击“接受”后,我不需要再次显示此活动

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
变量中。。。如果你不愿意自己想一想,我真的帮不了你。