данные общих настроек, которые должны сохранять погоду, не отображаются в закладке деятельности - PullRequest
0 голосов
/ 12 мая 2018

/// Я попытался сделать приложение погоды, оно полностью работоспособно, однако я реализовал код и данные сохраняются, поскольку в logcat нет ошибок, однако, когда я смотрю на занесенную в закладки активность,Сохранённой погоды там нет.может ли кто-нибудь мне помочь

публичный класс SaveData {

private static final String TAG ="SaveData";
SharedPreferences preferences;
SharedPreferences.Editor editor;
Context context;

private static String prefName = "Pref";
public static ArrayList<HistoryObj> weatherHistoryList = new ArrayList<>();
//KEYS to store
public static String WEATHER_LIST_KEY= "WeatherIds";

public SaveData(Context context){
    int PRIVATE_MODE = 0;
    this.context = context;
    preferences = context.getSharedPreferences(prefName,PRIVATE_MODE);
    editor = preferences.edit();

    // TinyDb is class to simplify storage of ArrayList in Shared Preferences
    // getting book marked list from storage
    weatherHistoryList = getWeatherList();


}


    public ArrayList<HistoryObj> getWeatherList(){
    Gson gson = new Gson();

    ArrayList<String> objStrings = getListString(WEATHER_LIST_KEY);
    ArrayList<HistoryObj> objects =  new ArrayList<HistoryObj>();

    for(String jObjString : objStrings){
        HistoryObj value  = gson.fromJson(jObjString,  HistoryObj.class);
        objects.add(value);
    }

    return objects;
}


public void saveWeatherList(ArrayList<HistoryObj> objArray){
    checkForNullKey(WEATHER_LIST_KEY);
    Gson gson = new Gson();
    ArrayList<String> objStrings = new ArrayList<String>();
    for(HistoryObj obj : objArray){
        objStrings.add(gson.toJson(obj));
    }
    putListString(WEATHER_LIST_KEY, objStrings);
}

public ArrayList<String> getListString(String key) {
    return new ArrayList<String>(Arrays.asList(TextUtils.split(preferences.getString(key, ""), "‚‗‚")));
}

public void putListString(String key, ArrayList<String> stringList) {
    checkForNullKey(key);
    String[] myStringList = stringList.toArray(new String[stringList.size()]);
    preferences.edit().putString(key, TextUtils.join("‚‗‚", myStringList)).apply();
}

public void checkForNullKey(String key){
    if (key == null){
        throw new NullPointerException();
    }
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...