티스토리 뷰
Preference (프리퍼런스) 데이터 백업 복원 하기
Preference를 백업하기 위한 코드 입니다
private boolean saveSharedPreferencesToFile(File dst) {
boolean res = false;
ObjectOutputStream output = null;
try {
output = new ObjectOutputStream(new FileOutputStream(dst));
SharedPreferences pref =
getSharedPreferences(prefName, MODE_PRIVATE);
output.writeObject(pref.getAll());
res = true;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
if (output != null) {
output.flush();
output.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
return res;
}
@SuppressWarnings({ "unchecked" })
private boolean loadSharedPreferencesFromFile(File src) {
boolean res = false;
ObjectInputStream input = null;
try {
input = new ObjectInputStream(new FileInputStream(src));
Editor prefEdit = getSharedPreferences(prefName, MODE_PRIVATE).edit();
prefEdit.clear();
Map<String, ?> entries = (Map<String, ?>) input.readObject();
for (Entry<String, ?> entry : entries.entrySet()) {
Object v = entry.getValue();
String key = entry.getKey();
if (v instanceof Boolean)
prefEdit.putBoolean(key, ((Boolean) v).booleanValue());
else if (v instanceof Float)
prefEdit.putFloat(key, ((Float) v).floatValue());
else if (v instanceof Integer)
prefEdit.putInt(key, ((Integer) v).intValue());
else if (v instanceof Long)
prefEdit.putLong(key, ((Long) v).longValue());
else if (v instanceof String)
prefEdit.putString(key, ((String) v));
}
prefEdit.commit();
res = true;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}finally {
try {
if (input != null) {
input.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
return res;
}
출처 : http://stackoverflow.com/questions/10864462/how-can-i-backup-sharedpreferences-to-sd-card
'Android > App' 카테고리의 다른 글
#23 Service (서비스)에 대해 알아보자 (8) | 2013.12.17 |
---|---|
#22 옵션 메뉴(Menu) 사용방법 (6) | 2013.12.16 |
안드로이드 어플 라이센스 크랙하기 (DRM Crack) (73) | 2013.12.15 |
#21 Preference(프리퍼런스) (48) | 2013.11.28 |
설치된 어플 리스트 예제 (ListView, PackageManager) (2) | 2013.11.23 |
#20 쓰레드(Thread)와 핸들러(Handler) (74) | 2013.10.31 |
#19 어플에서 진동을 사용하는 2가지 방법 (3) | 2013.10.28 |
#18 소리를 재생해 보자 - MusicPlayer (27) | 2013.10.26 |
- Total
- Today
- Yesterday
- String Name = Miru(itmir913);
- String Mail = itmir913@gmail.com;
- String github = https://github.com/itmir913;