Blame view

C5/app/src/main/java/com/sunvote/xpadapp/utils/SharedPreferencesUtil.java 2.28 KB
fac86401   孙向锦   初始化C5 Vote
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
  package com.sunvote.xpadapp.utils;
  
  import android.content.Context;
  import android.content.SharedPreferences;
  import android.content.SharedPreferences.Editor;
  
  public class SharedPreferencesUtil {
  	//存储的sharedpreferences文件名
      private static final String FILE_NAME = "save_file_name";  
        
      /**
       * 保存数据到文件
       * @param context
       * @param key
       * @param data
       */
      public static void saveData(Context context, String key,Object data){  
    
          String type = data.getClass().getSimpleName();  
          SharedPreferences sharedPreferences = context  
                  .getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);  
          Editor editor = sharedPreferences.edit();  
            
          if ("Integer".equals(type)){  
              editor.putInt(key, (Integer)data);  
          }else if ("Boolean".equals(type)){  
              editor.putBoolean(key, (Boolean)data);  
          }else if ("String".equals(type)){  
              editor.putString(key, (String)data);  
          }else if ("Float".equals(type)){  
              editor.putFloat(key, (Float)data);  
          }else if ("Long".equals(type)){  
              editor.putLong(key, (Long)data);  
          }  
          editor.apply();
          editor.commit();
      }  
  
      /**
       * 从文件中读取数据
       * @param context
       * @param key
       * @param defValue
       * @return
       */
      public static Object getData(Context context, String key, Object defValue){
  
          String type = defValue.getClass().getSimpleName();
          SharedPreferences sharedPreferences = context.getSharedPreferences
                  (FILE_NAME, Context.MODE_PRIVATE);
  
          //defValue为为默认值,如果当前获取不到数据就返回它
          if ("Integer".equals(type)){
              return sharedPreferences.getInt(key, (Integer)defValue);
          }else if ("Boolean".equals(type)){
              return sharedPreferences.getBoolean(key, (Boolean)defValue);
          }else if ("String".equals(type)){
              return sharedPreferences.getString(key, (String)defValue);
          }else if ("Float".equals(type)){
              return sharedPreferences.getFloat(key, (Float)defValue);
          }else if ("Long".equals(type)){
              return sharedPreferences.getLong(key, (Long)defValue);
          }
  
          return null;
      }
  }