如何使用firebase缓存String? (机器人)

时间:2017-11-03 16:40:06

标签: android firebase caching

我想要缓存当前登录用户的用户名,因为每次活动刷新时我都不想重新加载用户名字符串。

我可以使用哪些方法/初学者来做到这一点?

2 个答案:

答案 0 :(得分:0)

有很多解决方案可以解决您的问题:

  • 您可以将用户名保存到sharedpref或数据库
  • 作为一个高级解决方案,我想建议您阅读有关Singleton设计模式的内容:想法是创建一个类并从中创建一个单一实例(您可以在用户登录时执行)然后每个项目中的类可以访问它。 please take a look here

关于解决问题的最简单方法,我相信共享偏好可以胜任

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
 editor.putString("name", "abc");
 editor.commit();

要检索您的数据,您可以按照以下步骤操作:

SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
String restoredText = prefs.getString("text", null);
if (restoredText != null) {
  String name = prefs.getString("name", "No name defined");//"No name defined" is the default value.
}

答案 1 :(得分:0)

由于其中一个标记已标记为" Firebase",我将假设您使用Firebase作为后端,使用Firebase Auth来验证用户。

Firebase允许您使用" FirebaseUser"来获取显示名称,电子邮件ID(用户名)和用户个人资料照片。

要检索用户相关信息,请使用以下代码:

      FirebaseAuth auth = FirebaseAuth.getInstance();
      FirebaseAuth user_token = FirebaseAuth.getInstance();
      FirebaseUser currentUser = user_token.getCurrentUser();

      currentUser.getDisplayName(); //Display Name
      currentUser.getEmail(); //Username
      currentUser.getPhotoUrl(); //PhotoURL if the user used any social media for auth