在注册活动中 我已经采用共享偏好来保存邮件ID和密码
SharedPreferences sharedPreferences;
public static String registration = "registration";
String name ;
String mail ;
String password ;
String re_password;
String NAME = "name";
String MAIL = "mail";
String PASSWORD = "pass";
sharedPreferences = getSharedPreferences(registration,MODE_PRIVATE);
final EditText E_name = (EditText) findViewById(R.id.e_Rname);
final EditText E_mail = (EditText) findViewById(R.id.e_Rmail);
final EditText E_password = (EditText) findViewById(R.id.e_Rpassword);
name = E_name.getText().toString().trim();
mail = E_mail.getText().toString().trim();
password = E_password.getText().toString().trim();
SharedPreferences.Editor preference_edit = sharedPreferences.edit();
preference_edit.putString(NAME, name);
preference_edit.putString(MAIL, mail);
preference_edit.putString(PASSWORD, password);
preference_edit.commit();
登录活动
SharedPreferences sharedPreferences;
String shared_mail;
String shared_password;
sharedPreferences = getSharedPreferences(registration,MODE_PRIVATE);
email = (EditText) findViewById(R.id.emailtxt);
pwd = (EditText) findViewById(R.id.pwdtxt);
stremail = email.getText().toString();
strpwd = pwd.getText().toString();
shared_mail = sharedPreferences.getString("mail", null);
shared_password = sharedPreferences.getString("password", null);
Toast.makeText(login_activity.this, shared_mail + shared_password,Toast.LENGTH_SHORT).show();
在toast消息中显示 null 。
提前致谢
答案 0 :(得分:0)
对于共享首选项,您可以使用this轻量级库。
添加依赖
compile 'com.tramsun.libs:prefcompat:0.9.4'
然后,您需要通过添加应用程序类或任何初始活动来初始化。
public class ApplicationClass extends Application {
@Override
public void onCreate() {
super.onCreate();
Pref.init(this);
}
}
全部完成,然后保存值
Pref.putString("Key", "Value");
获取
Pref.getString("Key", "defaultValue");
希望这有帮助
PS:这将有助于减少大量代码行。
答案 1 :(得分:0)
只需记录此值....
mail = E_mail.getText().toString().trim();
我猜错了null值!
答案 2 :(得分:0)
除了sanoops解决方案,您还可以使用TinyDB库。它基于共享首选项,但更易于使用,您可以存储各种类型,包括arraylists和对象。只需在您的gradle中同步:
compile 'com.mukesh:tinydb:1.0.1'
成功同步gradle后,只需在onCreate方法中初始化您要访问缓存数据的任何活动中的tinyDB。 以这种方式初始化
TinyDB tinyDB = new TinyDB(getApplicationContext());
要存储数据,只需按此方式插入;
tinyDB.putString("key","myString");
tinyDB.putInt("key",5);
要在任何其他活动中调用该值,只需初始化该活动中的tinyDB并以这种方式检索数据:
tinyDB.getString("key");
tinyDB.getInt("key");
您还可以存储和调用arrayLists和Objects。