OSDN Git Service

A27980
[evermemo/source.git] / workspace / EverMemo / src / com / yuji / em / utility / PrefUtilImpl.java
1 package com.yuji.em.utility;\r
2 \r
3 import android.content.Context;\r
4 import android.content.SharedPreferences;\r
5 import android.content.SharedPreferences.Editor;\r
6 import android.content.pm.PackageManager.NameNotFoundException;\r
7 \r
8 public class PrefUtilImpl implements PrefUtil {\r
9         private Context context;\r
10 \r
11         public PrefUtilImpl(Context context) {\r
12                 this.context = context;\r
13         }\r
14 \r
15         public void put(String key, String value) {\r
16                 synchronized (this) {\r
17                         SharedPreferences pref = null;\r
18                         try {\r
19                                 Context ctxt = context.createPackageContext("com.yuji.em",\r
20                                                 Context.CONTEXT_RESTRICTED);\r
21                                 pref = ctxt.getSharedPreferences("EverMemoActivity",\r
22                                                 Context.MODE_WORLD_READABLE\r
23                                                                 | Context.MODE_WORLD_WRITEABLE);\r
24                         } catch (NameNotFoundException e) {\r
25                                 // TODO\r
26                                 // Debug.l(e.getMessage());\r
27                                 //\r
28                                 // Debug.d(this, null, e);\r
29                                 return;\r
30                         }\r
31 \r
32                         Editor e = pref.edit();\r
33                         e.putString(key, value);\r
34                         e.commit();\r
35                 }\r
36         }\r
37 \r
38         public void put(String key, int value) {\r
39                 put(key, String.valueOf(value));\r
40         }\r
41 \r
42         public String get(String key) {\r
43                 String val;\r
44                 \r
45                 synchronized (this) {\r
46                         SharedPreferences pref = null;\r
47                         try {\r
48                                 Context ctxt = context.createPackageContext("com.yuji.em",\r
49                                                 Context.CONTEXT_RESTRICTED);\r
50                                 pref = ctxt.getSharedPreferences("EverMemoActivity",\r
51                                                 Context.MODE_WORLD_READABLE);\r
52                         } catch (NameNotFoundException e) {\r
53                                 // TODO\r
54                                 // Debug.l(e.getMessage());\r
55                                 //\r
56                                 // Debug.d(this, null, e);\r
57                                 return null;\r
58                         }\r
59                         val = pref.getString(key, null);\r
60                 }\r
61 \r
62                 return val;\r
63         }\r
64 \r
65         public int getInt(String key) {\r
66                 return Integer.parseInt(get(key));\r
67         }\r
68 \r
69         public String get(String key, String initValue) {\r
70                 String value = get(key);\r
71                 if (value != null) {\r
72                         return value;\r
73                 }\r
74                 put(key, initValue);\r
75                 return initValue;\r
76         }\r
77 \r
78         public int getInt(String key, int initValue) {\r
79                 return Integer.valueOf(get(key, String.valueOf(initValue)));\r
80         }\r
81 \r
82         public void remove(String key) {\r
83                 put(key, null);\r
84         }\r
85 }\r