在用户退出

时间:2016-04-09 15:08:59

标签: java android android-edittext

我有一个应用程序,允许某人创建一个帐户,并在他们的个人资料的第一页上,我从一些edittexts从另一个活动发送数据到一些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);


    }

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

  • 如果没有,只需使用SharedPreferences,这是最简单,最干净的解决方案。
  • 如果答案尚未确定,您可以利用M backup之类的东西(仅适用于Marshmallow和更新版本),或者您必须构建一些后端。然后它开始变得更加复杂,并且超出了这个一般性问题的范围。

答案 2 :(得分:0)

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