2016-07-12 11 views
1

私はそれを開くたびにユーザ名を入力するようチャットルームアプリを作った。私はそれを私に覚えさせることができますか?私はバックエンドのための火災基地を使用しています。アンドロイドアプリに自分のユーザー名を記憶させるには?

See Code Here

+1

ユーザのログインセッションを共有設定で保存できます。デバイスの内部ストレージ/メモリに保存されます。 –

答えて

2

ユーザーが彼/彼女の名ストアにそれを入力して初めて共有優先クラスを作成します。

今、あなたはすでにあなたの内側のユーザー

のユーザ名を格納しているかどうかをチェックすることができますMainActivity

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; 
    } 
} 

を次のようにあなたはあなたのためのザ・共有好みについてhere

をより多くを読むことができます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 
    } 

希望すると便利です

+0

コンテキストとmContextの両方がgetApplicationContext()などを指していますか? –

+0

mContextは、共有嗜好クラスに渡す私のMainActivityのコンテキストです – eLemEnt

1

共有設定を使用できます。 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", ""); 

文字列のgetNameは、ユーザー名の値を持つことになります。上記の "KEY"と "AKEY"は、共有された設定で保存された異なる値に特別なIDを与えることです。

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(); 
} 
関連する問題