2016-03-22 12 views
-1

Hallo Wie kann ich eine ID speichern, weil in meiner App jedes Mal minimiere ich und dann die Daten kommen NULL zurück.So speichern Sie die ID nach Aktivität (Android)

Diese ID kommt aus einer Aktivität und Server für Anrufdaten über Json.

+1

Verwenden Sie sharedPrefrences oder SQLlite –

Antwort

0

Griff onSaveInstanceState() und onRestoreInstanceState:

@Override 
public void onSaveInstanceState(Bundle savedInstanceState) { 
    // Save the user's current state 
    savedInstanceState.putInt(ID, mId); 

    // Always call the superclass so it can save the view hierarchy state 
    super.onSaveInstanceState(savedInstanceState); 
} 

public void onRestoreInstanceState(Bundle savedInstanceState) { 
    // Always call the superclass so it can restore the view hierarchy 
    super.onRestoreInstanceState(savedInstanceState); 

    // Restore state members from saved instance 
    mId= savedInstanceState.getInt(ID); 
} 
0

kann ich die Gemeinschafts-Einstellungen verwenden, um die temporären Daten zu speichern.

Siehe den folgenden Code.

Fügen Sie diese Felder in der Datei string.xml mit Schlüssel hinzu.

<string name="prefs_user_login">prefs123</string> 
<string name="prefs_user_id">userid</string> 
<string name="prefs_uname">username</string> 
<string name="prefs_pass">password</string> 

und dann setzen Sie dann den folgenden Code in Ihre Aktivität für

Context mContext = getApplicationContext(); 
      SharedPreferences sharedPreferences = mContext.getSharedPreferences(getString(R.string.prefs_user_login), 0); 
      SharedPreferences.Editor editor = sharedPreferences.edit(); 
      editor.putString(getString(R.string.prefs_user_id), UserId); 
      editor.putString(getString(R.string.prefs_uname), edtUserName.getText().toString()); 
      editor.putString(getString(R.string.prefs_pass), edtPassword.getText().toString()); 
      editor.commit(); 

die Daten zu speichern und dann den folgenden Code setzen, um die Daten aus dem gemeinsam genutzten Einstellungen abzurufen.

Context mContext = getApplicationContext(); 
    SharedPreferences sharedPreferences = null; 
    sharedPreferences = getSharedPreferences(getString(R.string.prefs_user_login), 0); 
    String UserId = sharedPreferences.getString(getString(R.string.prefs_user_id), ""); 
    String UserName = sharedPreferences.getString(getString(R.string.prefs_uname), ""); 
    String Password = sharedPreferences.getString(getString(R.string.prefs_pass), ""); 

Verwenden Sie den folgenden Code zum Entfernen der gemeinsamen Einstellungen.

Context mContext = getApplicationContext(); 
    SharedPreferences preferences = mContext.getSharedPreferences(getString(R.string.prefs_user_login), 0); 
    SharedPreferences.Editor editor = preferences.edit().clear(); 
    editor.remove(getString(R.string.prefs_user_login)); 
    editor.commit(); 

Ich hoffe, es wird für Sie arbeiten.

Verwandte Themen