1 package com.td.utility;
\r
3 import java.util.HashMap;
\r
4 import java.util.Iterator;
\r
5 import java.util.Map;
\r
6 import java.util.Map.Entry;
\r
7 import java.util.Set;
\r
9 import android.content.Context;
\r
11 public class EditPrefUtil implements PrefUtil {
\r
12 private static final String DELM = "\t";
\r
13 private Map<String, String> hash = new HashMap<String, String>();
\r
14 private PrefUtil pref;
\r
16 public EditPrefUtil(Context context){
\r
17 pref = new PrefUtilImpl(context);
\r
20 public void put(String key, String value) {
\r
21 hash.put(key, value);
\r
24 public void put(String key, int value) {
\r
25 hash.put(key, String.valueOf(value));
\r
28 public String get(String key) {
\r
29 String value = hash.get(key);
\r
33 value = pref.get(key);
\r
38 public int getInt(String key) {
\r
39 return Integer.parseInt(get(key));
\r
42 public String get(String key, String initValue) {
\r
43 String value = get(key);
\r
47 hash.put(key, initValue);
\r
51 public int getInt(String key, int initValue) {
\r
52 return Integer.valueOf(get(key, String.valueOf(initValue)));
\r
55 public void update(){
\r
56 Set<Entry<String, String>> set = hash.entrySet();
\r
57 for (Iterator<Entry<String, String>> it = set.iterator(); it.hasNext(); ){
\r
58 Entry<String, String> entry = it.next();
\r
59 String key = entry.getKey();
\r
60 String value = entry.getValue();
\r
61 pref.put(key, value);
\r
66 public void remove(String key) {
\r
67 hash.put(key, null);
\r
70 public void save(String key){
\r
71 StringBuffer sb = new StringBuffer();
\r
73 Set<Entry<String, String>> set = hash.entrySet();
\r
74 for (Iterator<Entry<String, String>> it = set.iterator(); it.hasNext(); ){
\r
75 Entry<String, String> entry = it.next();
\r
76 String prefKey = entry.getKey();
\r
77 String prefValue = entry.getValue();
\r
81 sb.append(prefValue);
\r
84 pref.put(key, sb.toString());
\r
87 public void restore(String key){
\r
90 String data = pref.get(key);
\r
91 String[] str = data.split(DELM);
\r
92 for (int i = 0; i < str.length / 2; i++){
\r
93 String prefKey = str[i * 2];
\r
94 String prefValue = str[i * 2 + 1];
\r
95 put(prefKey, prefValue);
\r