질문내용 입니다.
안드로이드 DB 를 사용하지 않고 현재
public static void setStringArrayPref(Context context, String key, ArrayList<String> values) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = prefs.edit();
JSONArray a = new JSONArray();
for (int i = 0; i < values.size(); i++) {
a.put(values.get(i));
Log.i(null,"ss"+a.put(values.get(i)));
}
if (!values.isEmpty()) {
editor.putString(key, a.toString());
} else {
editor.putString(key, null);
}
editor.commit();
}
함수와
public static ArrayList<String> getStringArrayPref(Context context, String key) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
String json = prefs.getString(key, null);
ArrayList<String> urls = new ArrayList<String>();
if (json != null) {
try {
JSONArray a = new JSONArray(json);
for (int i = 0; i < a.length(); i++) {
String url = a.optString(i);
urls.add(url);
Log.e(null,"gg"+urls.get(i));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
return urls;
}
함수를 이용하여 앱 데이터를 저장시키려고 하는데요
list.setAdapter(new ArrayAdapter<String>(this,R.layout.list_view, getStringArrayPref(m_context, a)));
이런식으로 리스트뷰에 띄워주려고 합니다.
안되는 부분은
setStringArrayPref(m_context,a,arrayList); 해당 저장함수로
저장을 해놓았는데도 불구하고
값을 저장시키고 앱을 완전 종료 했다가 다시 시작하면
그 값들에 null 이 들어가 있습니다
어찌 해야 할까요