weixin_43883499
小虫酱123
采纳率20%
2019-10-17 10:27 浏览 360

在loginactivity中用sharedpreference保存的用户信息,怎样在其他activity和fragment中读取

loginactivity中的代码

SharedPreferences.Editor editor = getSharedPreferences("token",MODE_PRIVATE).edit();

editor.putString("name",responseData.data.user.getUsername() );


editor.putString("jwt",responseData.data.getJwt());
    editor.commit();

能够成功保存

其他地方读取

SharedPreferences preferences;

preferences = ContextApplication.getAppContext().getSharedPreferences("toke",Context.MODE_PRIVATE);

String token = preferences.getString("jwt","null");
String appId = preferences.getString("name","null");
Log.d("MentalitydataAcitvity:","username========"+appId);
Log.d("MentalitydataAcitvity:","jwt======"+token);

不报错 但是打印的数据为空 怎样解决

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答 默认 最新

  • 已采纳
    qq_33451426 雕·不懒惰 2019-10-17 16:14

    SharedPreferences.Editor editor = getSharedPreferences("token",MODE_PRIVATE).edit();
    preferences = ContextApplication.getAppContext().getSharedPreferences("toke",Context.MODE_PRIVATE);
    为什么上面是token,下面变成了toke,
    String token = preferences.getString("jwt","null");<-----是null不是"null"

    点赞 评论 复制链接分享
  • zqbnqsdsmd zqbnqsdsmd 2019-10-17 13:08
  • brehrehr 彼岸彼此 2019-10-17 15:22

    你可以log一下变量是否为空,或者先传入固定值测试,或者删除 ContextApplication.getAppContext()

    点赞 评论 复制链接分享

相关推荐