Android开发中4个常用的工具类【Toast、SharedPreferences、网络及屏幕 *** 作】

Android开发中4个常用的工具类【Toast、SharedPreferences、网络及屏幕 *** 作】,第1张

概述本文实例讲述了Android开发中4个常用工具类。分享给大家供大家参考,具体如下:

本文实例讲述了AndroID开发中4个常用的工具类。分享给大家供大家参考,具体如下:

1、土司工具类(Toast管理)

/** * Toast统一管理类 * * @Project App_ZXing * @Package com.androID.scan * @author chenlin * @version 1.0 * @Date 2013年7月6日 * @Note Todo */public class ToastUtil {  private ToastUtil() {    /* cannot be instantiated */    throw new UnsupportedOperationException("cannot be instantiated");  }  public static boolean isShow = true;  /**   * 短时间显示Toast   *   * @param context   * @param message   */  public static voID show(Context context,CharSequence message) {    if (isShow)      Toast.makeText(context,message,Toast.LENGTH_SHORT).show();  }  /**   * 短时间显示Toast   *   * @param context   * @param message   */  public static voID showShort(Context context,int message) {    if (isShow)      Toast.makeText(context,Toast.LENGTH_SHORT).show();  }  /**   * 长时间显示Toast   *   * @param context   * @param message   */  public static voID showLong(Context context,Toast.LENGTH_LONG).show();  }  /**   * 长时间显示Toast   *   * @param context   * @param message   */  public static voID showLong(Context context,Toast.LENGTH_LONG).show();  }  /**   * 自定义显示Toast时间   *   * @param context   * @param message   * @param duration   */  public static voID show(Context context,CharSequence message,int duration) {    if (isShow)      Toast.makeText(context,duration).show();  }  /**   * 自定义显示Toast时间   *   * @param context   * @param message   * @param duration   */  public static voID show(Context context,int message,duration).show();  }}

2、SharedPreferences工具类

/** * SharedPreferences封装类SPUtils * @Project  App_ZXing * @Package  com.androID.scan * @author   chenlin * @version  1.0 * @Date    2013年6月6日 * @Note    Todo */public class SPUtils {  /**   * 保存在手机里面的文件名   */  public static final String file_name = "share_data";  /**   * 保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法   *   * @param context   * @param key   * @param object   */  public static voID put(Context context,String key,Object object) {    SharedPreferences sp = context.getSharedPreferences(file_name,Context.MODE_PRIVATE);    SharedPreferences.Editor editor = sp.edit();    if (object instanceof String) {      editor.putString(key,(String) object);    } else if (object instanceof Integer) {      editor.putInt(key,(Integer) object);    } else if (object instanceof Boolean) {      editor.putBoolean(key,(Boolean) object);    } else if (object instanceof float) {      editor.putfloat(key,(float) object);    } else if (object instanceof Long) {      editor.putLong(key,(Long) object);    } else {      editor.putString(key,object.toString());    }    SharedPreferencesCompat.apply(editor);  }  /**   * 得到保存数据的方法,我们根据默认值得到保存的数据的具体类型,然后调用相对于的方法获取值   *   * @param context   * @param key   * @param defaultObject   * @return   */  public static Object get(Context context,Object defaultObject) {    SharedPreferences sp = context.getSharedPreferences(file_name,Context.MODE_PRIVATE);    if (defaultObject instanceof String) {      return sp.getString(key,(String) defaultObject);    } else if (defaultObject instanceof Integer) {      return sp.getInt(key,(Integer) defaultObject);    } else if (defaultObject instanceof Boolean) {      return sp.getBoolean(key,(Boolean) defaultObject);    } else if (defaultObject instanceof float) {      return sp.getfloat(key,(float) defaultObject);    } else if (defaultObject instanceof Long) {      return sp.getLong(key,(Long) defaultObject);    }    return null;  }  /**   * 移除某个key值已经对应的值   *   * @param context   * @param key   */  public static voID remove(Context context,String key) {    SharedPreferences sp = context.getSharedPreferences(file_name,Context.MODE_PRIVATE);    SharedPreferences.Editor editor = sp.edit();    editor.remove(key);    SharedPreferencesCompat.apply(editor);  }  /**   * 清除所有数据   *   * @param context   */  public static voID clear(Context context) {    SharedPreferences sp = context.getSharedPreferences(file_name,Context.MODE_PRIVATE);    SharedPreferences.Editor editor = sp.edit();    editor.clear();    SharedPreferencesCompat.apply(editor);  }  /**   * 查询某个key是否已经存在   *   * @param context   * @param key   * @return   */  public static boolean contains(Context context,Context.MODE_PRIVATE);    return sp.contains(key);  }  /**   * 返回所有的键值对   *   * @param context   * @return   */  public static Map<String,?> getAll(Context context) {    SharedPreferences sp = context.getSharedPreferences(file_name,Context.MODE_PRIVATE);    return sp.getAll();  }  /**   * 创建一个解决SharedPreferencesCompat.apply方法的一个兼容类   *   * @author zhy   *   */  private static class SharedPreferencesCompat {    private static final Method sApplyMethod = findApplyMethod();    /**     * 反射查找apply的方法     *     * @return     */    @SuppressWarnings({ "unchecked","rawtypes" })    private static Method findApplyMethod() {      try {        Class clz = SharedPreferences.Editor.class;        return clz.getmethod("apply");      } catch (NoSuchMethodException e) {      }      return null;    }    /**     * 如果找到则使用apply执行,否则使用commit     *     * @param editor     */    public static voID apply(SharedPreferences.Editor editor) {      try {        if (sApplyMethod != null) {          sApplyMethod.invoke(editor);          return;        }      } catch (IllegalArgumentException e) {      } catch (illegalaccessexception e) {      } catch (InvocationTargetException e) {      }      editor.commit();    }  }}

3、网络工具类

/** * 跟网络相关的工具类 * @Project  App_ZXing * @Package  com.androID.scan * @author   chenlin * @version  1.0 * @Date    2013年6月8日 * @Note    Todo */public class NetUtils {  private NetUtils() {    /* cannot be instantiated */    throw new UnsupportedOperationException("cannot be instantiated");  }  /**   * 判断网络是否连接   *   * @param context   * @return   */  public static boolean isConnected(Context context) {    ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);    if (null != connectivity) {      NetworkInfo info = connectivity.getActiveNetworkInfo();      if (null != info && info.isConnected()) {        if (info.getState() == NetworkInfo.State.CONNECTED) {          return true;        }      }    }    return false;  }  /**   * 判断是否是wifi连接   */  public static boolean isWifi(Context context) {    ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);    if (cm == null)      return false;    return cm.getActiveNetworkInfo().getType() == ConnectivityManager.TYPE_WIFI;  }  /**   * 打开网络设置界面   */  public static voID openSetting(Activity activity) {    Intent intent = new Intent("/");    Componentname cm = new Componentname("com.androID.settings","com.androID.settings.WirelessSettings");    intent.setComponent(cm);    intent.setAction("androID.intent.action.VIEW");    activity.startActivityForResult(intent,0);  }}

4、获得屏幕相关的辅助类

/** * 获得屏幕相关的辅助类 * @Project  App_ZXing * @Package  com.androID.scan * @author   chenlin * @version  1.0 * @Date    2013年6月6日 */public class ScreenUtils {  private ScreenUtils() {    /* cannot be instantiated */    throw new UnsupportedOperationException("cannot be instantiated");  }  /**   * 获得屏幕高度   *   * @param context   * @return   */  public static int getScreenWIDth(Context context) {    WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);    displayMetrics outMetrics = new displayMetrics();    wm.getDefaultdisplay().getMetrics(outMetrics);    return outMetrics.wIDthPixels;  }  /**   * 获得屏幕宽度   *   * @param context   * @return   */  public static int getScreenHeight(Context context) {    WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);    displayMetrics outMetrics = new displayMetrics();    wm.getDefaultdisplay().getMetrics(outMetrics);    return outMetrics.heightPixels;  }  /**   * 获得状态栏的高度   *   * @param context   * @return   */  public static int getStatusHeight(Context context) {    int statusHeight = -1;    try {      Class<?> clazz = Class.forname("com.androID.internal.R$dimen");      Object object = clazz.newInstance();      int height = Integer.parseInt(clazz.getFIEld("status_bar_height").get(object).toString());      statusHeight = context.getResources().getDimensionPixelSize(height);    } catch (Exception e) {      e.printstacktrace();    }    return statusHeight;  }  /**   * 获取当前屏幕截图,包含状态栏   *   * @param activity   * @return   */  public static Bitmap snapShotWithStatusbar(Activity activity) {    VIEw vIEw = activity.getwindow().getDecorVIEw();    vIEw.setDrawingCacheEnabled(true);    vIEw.buildDrawingCache();    Bitmap bmp = vIEw.getDrawingCache();    int wIDth = getScreenWIDth(activity);    int height = getScreenHeight(activity);    Bitmap bp = null;    bp = Bitmap.createBitmap(bmp,wIDth,height);    vIEw.destroyDrawingCache();    return bp;  }  /**   * 获取当前屏幕截图,不包含状态栏   *   * @param activity   * @return   */  public static Bitmap snapShotWithoutStatusbar(Activity activity) {    VIEw vIEw = activity.getwindow().getDecorVIEw();    vIEw.setDrawingCacheEnabled(true);    vIEw.buildDrawingCache();    Bitmap bmp = vIEw.getDrawingCache();    Rect frame = new Rect();    activity.getwindow().getDecorVIEw().getwindowVisibledisplayFrame(frame);    int statusbarHeight = frame.top;    int wIDth = getScreenWIDth(activity);    int height = getScreenHeight(activity);    Bitmap bp = null;    bp = Bitmap.createBitmap(bmp,statusbarHeight,height - statusbarHeight);    vIEw.destroyDrawingCache();    return bp;  }}

更多关于AndroID相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity *** 作技巧总结》、《Android *** 作SQLite数据库技巧总结》、《Android *** 作json格式数据技巧总结》、《Android资源 *** 作技巧汇总》及《Android控件用法总结》

希望本文所述对大家AndroID程序设计有所帮助。

总结

以上是内存溢出为你收集整理的Android开发中4个常用的工具类【Toast、SharedPreferences、网络及屏幕 *** 作】全部内容,希望文章能够帮你解决Android开发中4个常用的工具类【Toast、SharedPreferences、网络及屏幕 *** 作】所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1143848.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存