如何让Android应用程序记住我的用户名?

时间:2016-07-12 05:23:39

标签: android android-layout

我制作了一个聊天室应用程序,要求用户每次打开时都输入用户名。我怎么能让它记住我?我在后端使用火基。

See Code Here

3 个答案:

答案 0 :(得分:2)

创建共享首选项类,其中第一次用户输入他/她的用户名存储它。

您可以阅读有关共享偏好here

的更多信息

以下为您

public class SharePref {

    public static final String PREF_NAME = "chatroom.shared.pref";
    public static final String PREF_KEY = "chatroom.shared.username";

    public SharePref() {
    }

    public void save(Context context, String text) {
        SharedPreferences sharePref;
        SharedPreferences.Editor editor;
        sharePref = context.getSharedPreferences(PREF_NAME,Context.MODE_PRIVATE);
        editor = sharePref.edit();
        editor.putString(PREF_KEY,text);
        editor.apply();
    }

    public String getData(Context context) {
        SharedPreferences sharePref;
        String text;
        sharePref = context.getSharedPreferences(PREF_NAME,Context.MODE_PRIVATE);
        text = sharePref.getString(PREF_KEY,null);
        return text;
    }
}

现在,在您的MainActivity中,您可以检查是否已存储用户的用户名

onCreate()

    SharePref sharePref = new SharePref();
    String UserName = sharePref.getData(mContext);
    if(UserName == null) {
       String value = //username value;
       SharePref sharePref = new SharePref();
       sharePref.save(context,value);
    }
    else {
          // you already have username do your stuff
    }

希望这会有所帮助

答案 1 :(得分:2)

您可以使用共享偏好设置。假设您在名为User的String中保存用户名。要保存用户名:

SharedPreferences shareit = getSharedPreferences("KEY",Context.MODE_PRIVATE);
                    SharedPreferences.Editor eddy = shareit.edit();
                    eddy.putString("AKEY", User);
                    eddy.commit();

每次用户登录时:

SharedPreferences sharedPreferences = getContext().getSharedPreferences("KEY", Context.MODE_PRIVATE);
    String getName = sharedPreferences.getString("AKEY", "");

String getName将具有您的用户名的值。 " KEY"和" AKEY"上面使用的是为通过共享首选项保存的不同值提供特殊ID。

答案 2 :(得分:0)

SharedPreferencec prefs = getSharedPreferences("username",Context.MODE_PRIVATE);
SharedPreference.Editor editor = prefs.edit();
if (!prefs.getString("username",null)
   //do the chatting
else {
   //show dialog to get username
   //now save it in shared preferences
   editor.putString("username",username);
   editor.commit();
}