用户注销后,在textview中添加的文本仍保留在那里



我有一个应用程序,允许某人创建帐户,在他们个人资料的第一页上,我将另一个活动的一些编辑文本中的数据发送到一些文本视图。现在我需要的是这些信息(名字、姓氏和年龄),以便在注销后保留在那里。当用户再次登录时,他应该能够在其帐户的第一页上看到信息。我该怎么做?谢谢这是代码:

public class AccountInformationSetter extends AppCompatActivity {
    EditText etFirstName, etLastName, etAge;
    Button btnSave;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_account_information_setter);
        etFirstName = (EditText) findViewById(R.id.etFirstName);
        etLastName = (EditText) findViewById(R.id.etLastName);
        etAge = (EditText) findViewById(R.id.etAge);
        btnSave = (Button) findViewById(R.id.btnSaveInfo);
        btnSave.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                final String first = etFirstName.getText().toString();
                final String last = etLastName.getText().toString();
                final String age = etAge.getText().toString();
                Intent intent = new Intent(AccountInformationSetter.this, Profile.class);
                intent.putExtra("firstName", first);
                intent.putExtra("lastName", last);
                intent.putExtra("age", age);
                startActivity(intent);
            }
        });
    }

这是活动第一页的代码:

public class Profile extends AppCompatActivity {
    TextView tv, tvFirstName, tvLastName, tvAge ;
    UserSessionManager session;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_profile);
        Intent in = getIntent();
        String tv1 = in.getExtras().getString("name");
        tv = (TextView) findViewById(R.id.textView);
        tv.setText(tv1);
        Intent intent = getIntent();
        String first = in.getExtras().getString("firstName");
        tvFirstName = (TextView) findViewById(R.id.tvFirstName);
        tvFirstName.setText("First name: " + first);
        Intent intent1 = getIntent();
        String last = in.getExtras().getString("lastName");
        tvLastName = (TextView) findViewById(R.id.tvLastName);
        tvLastName.setText("Last name: "+ last);
        Intent intent2 = getIntent();
        String age = in.getExtras().getString("age");
        tvAge = (TextView) findViewById(R.id.tvAge);
        tvAge.setText("Age: " + age);

    }

使用SharedPreferences存储特定事件的输入值。然后,当再次登录时,检查是否存在共享状态(如果是),从SharedPreferences检索数据并填充到editText

这是否意味着即使重新安装应用程序也必须坚持?或者登录其他设备?

  • 如果没有,只需使用SharedPreferences,这是最简单、干净的解决方案
  • 如果答案是肯定的,您可以利用M备份(仅适用于Marshmallow和更新版本),也可以构建一些后端。然后,它开始变得更加复杂,超出了这样一个通用问题的范围

使用SharedPreferences来存储值。下次,当用户登录时,只需检索存储的值并显示即可。此链接将有助于:http://www.tutorialspoint.com/android/android_shared_preferences.htm

最新更新