zoukankan      html  css  js  c++  java
  • 之前写的一个用泛型简化了使用的存取SharedPreferences的工具类

     1 /** SharedPreferences简易存取。 */
     2 public class Prefs {
     3     /**
     4      * 向首选项中设置值。</br>
     5      * 
     6      * value的实际类型需要是<b>boolean</b>、<b>float</b>、<b>int</b>、<b>long</b>、<b>String</b>之一,否则不作处理。
     7      * */
     8     public static void put(Context context, String key, Object value) {
     9         Editor editor = context.getSharedPreferences(context.getPackageName(), Context.MODE_PRIVATE).edit();
    10 
    11         if (value instanceof Boolean) {
    12             editor.putBoolean(key, (Boolean) value);
    13         } else if (value instanceof Float) {
    14             editor.putFloat(key, (Float) value);
    15         } else if (value instanceof Integer) {
    16             editor.putInt(key, (Integer) value);
    17         } else if (value instanceof Long) {
    18             editor.putLong(key, (Long) value);
    19         } else if (value instanceof String) {
    20             editor.putString(key, (String) value);
    21         } else {
    22             // 按说应该抛异常。
    23         }
    24 
    25         editor.commit();
    26     }
    27 
    28     /** 从首选项中取值。 */
    29     @SuppressWarnings("unchecked")
    30     public static <P> P get(Context context, String key, P defValue) {
    31         SharedPreferences prefs = context.getSharedPreferences(context.getPackageName(), Context.MODE_PRIVATE);
    32 
    33         Object result = null;
    34 
    35         if (defValue instanceof Boolean) {
    36             result = prefs.getBoolean(key, (Boolean) defValue);
    37         } else if (defValue instanceof Float) {
    38             result = prefs.getFloat(key, (Float) defValue);
    39         } else if (defValue instanceof Integer) {
    40             result = prefs.getInt(key, (Integer) defValue);
    41         } else if (defValue instanceof Long) {
    42             result = prefs.getLong(key, (Long) defValue);
    43         } else if (defValue instanceof String) {
    44             result = prefs.getString(key, (String) defValue);
    45         }
    46 
    47         return (P) result;
    48     }
    49 }

    应该没有什么再简化的余地了。

    告别强转和一大堆方法提示,省心省力。

     1 /** Log的简易类。 */
     2 public class L {
     3     /** 日志标签。*/
     4     public static final String TAG = "MTK";
     5     
     6     public static void v(String msg) {
     7         Log.v(TAG, msg);
     8     }
     9 
    10     public static void v(boolean msg) {
    11         Log.v(TAG, msg + "");
    12     }
    13 
    14     public static void v(int msg) {
    15         Log.v(TAG, msg + "");
    16     }
    17 
    18     public static void d(String msg) {
    19         Log.d(TAG, msg);
    20     }
    21 
    22     public static void d(boolean msg) {
    23         Log.d(TAG, msg + "");
    24     }
    25 
    26     public static void d(int msg) {
    27         Log.d(TAG, msg + "");
    28     }
    29 
    30     public static void i(String msg) {
    31         Log.i(TAG, msg);
    32     }
    33 
    34     public static void i(boolean msg) {
    35         Log.i(TAG, msg + "");
    36     }
    37 
    38     public static void i(int msg) {
    39         Log.i(TAG, msg + "");
    40     }
    41 
    42     public static void w(String msg) {
    43         Log.w(TAG, msg);
    44     }
    45 
    46     public static void w(boolean msg) {
    47         Log.w(TAG, msg + "");
    48     }
    49 
    50     public static void w(int msg) {
    51         Log.w(TAG, msg + "");
    52     }
    53 
    54     public static void e(String msg) {
    55         Log.e(TAG, msg);
    56     }
    57 
    58     public static void e(boolean msg) {
    59         Log.e(TAG, msg + "");
    60     }
    61 
    62     public static void e(int msg) {
    63         Log.e(TAG, msg + "");
    64     }
    65 
    66     public static void wtf(String msg) {
    67         Log.wtf(TAG, msg);
    68     }
    69 
    70     public static void wtf(boolean msg) {
    71         Log.wtf(TAG, msg + "");
    72     }
    73 
    74     public static void wtf(int msg) {
    75         Log.wtf(TAG, msg + "");
    76     }
    77 }
    附赠另两
     1 /** 简易Toast。 */
     2 public class T {
     3     /**
     4      * 显示长时间的Toast。
     5      * 
     6      * @see Toast#LENGTH_LONG
     7      */
     8     public static void showLong(Context context, String text) {
     9         Toast.makeText(context, text, Toast.LENGTH_LONG).show();
    10     }
    11 
    12     /**
    13      * 显示长时间的Toast。
    14      * 
    15      * @see Toast#LENGTH_SHORT
    16      */
    17     public static void showShort(Context context, String text) {
    18         Toast.makeText(context, text, Toast.LENGTH_SHORT).show();
    19     }
    20 }
    个没有什么营养的工具类

    请随意取用。

  • 相关阅读:
    超几何分布
    区分概率中的事件关系
    破解概率求解的策略
    j2ee的十三种技术
    jsp第1讲(上集)
    servlet第3讲(中集)----同一用户的不同页面共享数据
    servlet第3讲(上集)----同一用户的不同页面共享数据
    servlet第2讲(下集)----通过HttpServlet实现一个用户登录网站(继承HttpServlet)
    一款基于的jQuery仿苹果样式焦点图插件
    一款基于css3的散子3D翻转特效
  • 原文地址:https://www.cnblogs.com/chihane/p/4255894.html
Copyright © 2011-2022 走看看