Android 是否可以在SharedReferences中存储一段时间的值?

Android 是否可以在SharedReferences中存储一段时间的值?,android,sharedpreferences,Android,Sharedpreferences,我想创建一种会话,用户在其中登录,并且在一段时间内,他不必每次打开应用程序时都键入密码 我试着这样做,只是为了测试: 但是如果你有什么想法,我会非常感激的,谢谢。 同样,这只是一个测试,看看是否可以在一段时间后修改存储值 public class MainActivity extends AppCompatActivity { public SharedPreferences mPreferenceManager; public SharedPreferences.Editor mEdito

我想创建一种会话,用户在其中登录,并且在一段时间内,他不必每次打开应用程序时都键入密码

我试着这样做,只是为了测试: 但是如果你有什么想法,我会非常感激的,谢谢。 同样,这只是一个测试,看看是否可以在一段时间后修改存储值

public class MainActivity extends AppCompatActivity {


public SharedPreferences mPreferenceManager;
public SharedPreferences.Editor mEditor;
private static final int DURATION = 20000;
private long activatedAt = Long.MAX_VALUE;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    TextView hello=(TextView) findViewById(R.id.hello);
    Button but1=(Button) findViewById(R.id.button1);


    but1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent i=new Intent(MainActivity.this,configActivity.class);
            startActivity(i);
        }
    });

    SharedPreferences setting = getSharedPreferences("settings", Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = setting.edit();


    long activeFor=System.currentTimeMillis()-activatedAt;
    if(activeFor>5000){
        editor.clear();
        Log.d("here-",">50000");
    }else{
        editor.putString("pseudo","hello");
        editor.commit();
        Log.d("here-","<50000");
    }
    hello.setText(setting.getString("pseudo",""));

}
public类MainActivity扩展了AppCompatActivity{
公众共享参考mPreferenceManager;
公共共享参考。编辑mEditor;
专用静态最终整数持续时间=20000;
私有长激活数据=长最大值;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView hello=(TextView)findViewById(R.id.hello);
按钮but1=(按钮)findViewById(R.id.button1);
但是1.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
意图i=新意图(MainActivity.this,configActivity.class);
星触觉(i);
}
});
SharedReferences设置=GetSharedReferences(“设置”,Context.MODE\u PRIVATE);
SharedReferences.Editor=setting.edit();
long activeFor=System.currentTimeMillis()-activatedAt;
如果(活动范围大于5000){
编辑器.clear();
Log.d(“此处-”,“>50000”);
}否则{
putString(“伪”、“你好”);
commit();

Log.d(“此处-”,"请解释一下,而不是否决我的仅执行后台选项的姿态服务。我不知道是谁单击“否决”。你能给我举个例子吗,我对这是一个新的否决可能是因为这是一个常见的问题,并且在这个问题上已经提出了多个问题。对于你的问题,是的,你可以使用SharedReferences来否决重新编辑任何值。有关详细信息,请查看此项。