本文实例讲述了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、网络及屏幕 *** 作】所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)