Wenn i (POST-Methode) meine ID und Passwort in meinem REST api posten, retrured esVerwenden von Retrofit Wie behandelt man dieses JSON-Antwortformular?
{
"key": "ef91707f0434a1a2a7581dd3f4f48d3bdad717"
}
ich diesen ef91707f0434a1a2a7581dd3f4f48d3bdad717
auf meine Sharedpreference speichern möchten.
ReferSharedPreference.java (es ist für leicht sharedpreference-Objekt)
public class ReferSharedPreference {
public final static String REF_LOGIN_KEY = "REF_LOGIN_KEY";
static Context mContext;
public ReferSharedPreference(Context c) {
mContext = c;
}
public void put(String key, String value) {
SharedPreferences pref = mContext.getSharedPreferences(REF_PREF_NAME,
Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString(key, value);
editor.commit();
public String getValue(String key, String dftValue) {
SharedPreferences pref = mContext.getSharedPreferences(REF_PREF_NAME,
Activity.MODE_PRIVATE);
try {
return pref.getString(key, dftValue);
} catch (Exception e) {
return dftValue;
}
}
LoginActivity.java
Call<ResponseBody> getkey = loginApiService.getkey(loginData);
getkey.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
if(response.code() == 200) {
ReferSharedPreference ref_key = new ReferSharedPreference(getApplicationContext());
ref_key.put(ReferSharedPreference.REF_LOGIN_KEY, response.body().toString());
Toast.makeText(getApplicationContext(), response.body().toString(), Toast.LENGTH_LONG);
Toast.makeText(getApplicationContext(), ref_key.getValue(ReferSharedPreference.REF_LOGIN_KEY, "default").toString(), Toast.LENGTH_SHORT);
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
In obigen Codes (LoginActivity.java),
Toast.makeText(getApplicationContext(), response.body().toString(), Toast.LENGTH_LONG);
Toast.makeText(getApplicationContext(), ref_key.getValue(ReferSharedPreference.REF_LOGIN_KEY, "default").toString(), Toast.LENGTH_SHORT);
Nicht arbeiten. Obwohl mein Kitt sagte HTTP/1.1" 200 50
. Ich habe gelernt, dass die Anfrage gut läuft.
Frage Wie kann ich ef91707f0434a1a2a7581dd3f4f48d3bdad717
auf meine gemeinsame Präferenz speichern? Genau will ich es speichern wie Token ef91707f0434a1a2a7581dd3f4f48d3bdad717
Danke Ngima Sherpa, aber wenn 'String value =„ef91707f0434a1a2a7581dd3f4f48d3bdad717“;' ist nicht festgelegt, dh String-Wert = "123123"; oder String value = "efwwewewe" je nach Login-ID und Passwort können geändert werden. Was ich wirklich fragen möchte ist, wie ich diesen Teil einstellen kann: 'String value =" ef91707f0434a1a2a7581dd3f4f48d3bdad717 ";'. –
Woher kommt der Wert? können Sie Wert zuweisen wie 'String value = getValueAccordingToLogInIdAndPassword();' aber Sie müssen 'String getValueAccordingToLogInIdAndPassword() {}' Methode selbst implementieren. –
um .. ich meine der Wert kommt von Server Rest API.es ist die Form '{ " Schlüssel ":" ef91707f0434a1a2a7581dd3f4f48d3bdad717 " }'. Zuerst poste ich meine JSON auf HTTP Körper wie '{" id ":" id_is_this "," password ":" password_is_it "}', und dann Antwort ist wie '{ " Schlüssel ":" ef91707f0434a1a2a7581dd3f4f48d3bdad717 " }'. Ich möchte diese Antwort. Entschuldigen Sie bitte die Störung –