常用Android工具(方法)大全
2015-09-01 17:03
459 查看
1.获取手机分辨率
/** * 获取手机分辨率 */ public static String getDisplayMetrix(Context context) { if (Constant.Screen.SCREEN_WIDTH == 0 || Constant.Screen.SCREEN_HEIGHT == 0) { if (context != null) { int width = 0; int height = 0; SharedPreferences DiaplayMetrixInfo = context.getSharedPreferences("display_metrix_info", 0); if (context instanceof Activity) { WindowManager windowManager = ((Activity)context).getWindowManager(); Display display = windowManager.getDefaultDisplay(); DisplayMetrics dm = new DisplayMetrics(); display.getMetrics(dm); width = dm.widthPixels; height = dm.heightPixels; Editor editor = DiaplayMetrixInfo.edit(); editor.putInt("width", width); editor.putInt("height", height); editor.commit(); } else { width = DiaplayMetrixInfo.getInt("width", 0); height = DiaplayMetrixInfo.getInt("height", 0); } Constant.Screen.SCREEN_WIDTH = width; Constant.Screen.SCREEN_HEIGHT = height; } } return Constant.Screen.SCREEN_WIDTH + "×" + Constant.Screen.SCREEN_HEIGHT; }
2.关闭系统的软键盘
public class SoftKeyboardUtil { /** * 关闭系统的软键盘 * @param activity */ public static void dismissSoftKeyboard(Activity activity) { View view = activity.getWindow().peekDecorView(); if (view != null) { InputMethodManager inputmanger = (InputMethodManager)activity.getSystemService(Context.INPUT_METHOD_SERVICE); inputmanger.hideSoftInputFromWindow(view.getWindowToken(), 0); } } }
3.检测某程序是否安装
/** * 检测某程序是否安装 */ public static boolean isInstalledApp(Context context, String packageName) { Boolean flag = false; try { PackageManager pm = context.getPackageManager(); List<PackageInfo> pkgs = pm.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES); for (PackageInfo pkg : pkgs) { // 当找到了名字和该包名相同的时候,返回 if ((pkg.packageName).equals(packageName)) { return flag = true; } } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return flag; }
4.安装APK文件
/** * 安装.apk文件 * * @param context */ public void install(Context context, String fileName) { if (TextUtils.isEmpty(fileName) || context == null) { return; } try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setAction(android.content.Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive"); context.startActivity(intent); } catch (Exception e) { e.printStackTrace(); } } /** * 安装.apk文件 * * @param context */ public void install(Context context, File file) { try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive"); context.startActivity(intent); } catch (Exception e) { e.printStackTrace(); } }
5.dp—px相互转换
/** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) * * @return 返回像素值 */ public static int dp2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } /** * 根据手机的分辨率从 px(像素) 的单位 转成为 dp * * @return 返回dp值 */ public static int px2dp(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); }
6. Strings.xml中“%s”的使用方法
在strings.xml中添加字符串string name="text">Hello,%s!</string>
代码中使用
textView.setText(String.format(getResources().getString(R.string.text),"Android"));
输出结果:Hello,Android!
7. 根据mac地址+deviceid获取设备唯一编码
private static String DEVICEKEY = ""; /** * 根据mac地址+deviceid * 获取设备唯一编码 * @return */ public static String getDeviceKey() { if ("".equals(DEVICEKEY)) { String macAddress = ""; WifiManager wifiMgr = (WifiManager)MainApplication.getIns().getSystemService(MainApplication.WIFI_SERVICE); WifiInfo info = (null == wifiMgr ? null : wifiMgr.getConnectionInfo()); if (null != info) { macAddress = info.getMacAddress(); } TelephonyManager telephonyManager = (TelephonyManager)MainApplication.getIns().getSystemService(MainApplication.TELEPHONY_SERVICE); String deviceId = telephonyManager.getDeviceId(); DEVICEKEY = MD5Util.toMD5("android" + Constant.APPKEY + Constant.APPPWD + macAddress + deviceId); } return DEVICEKEY; }
8. 获取手机及SIM卡相关信息
/** * 获取手机及SIM卡相关信息 * @param context * @return */ public static Map<String, String> getPhoneInfo(Context context) { Map<String, String> map = new HashMap<String, String>(); TelephonyManager tm = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); String imei = tm.getDeviceId(); String imsi = tm.getSubscriberId(); String phoneMode = android.os.Build.MODEL; String phoneSDk = android.os.Build.VERSION.RELEASE; map.put("imei", imei); map.put("imsi", imsi); map.put("phoneMode", phoneMode+"##"+phoneSDk); map.put("model", phoneMode); map.put("sdk", phoneSDk); return map; }9. UNIX时间戳 和 日期 之间转换
String unixTime = System.currentTimeMillis() / 1000;//获取系统当前是的 UNIX时间戳[code]/** * 根据UNIX时间戳 转换 成 yyyy-MM-dd 等格式的日期* @paramunixTime
* @param
formats * @return */
[/code]
public static String time2Date(String unixTime, String formats) { Long timestamp = Long.parseLong(unixTime) * 1000; SimpleDateFormat sdf = new SimpleDateFormat(formats); sdf.setTimeZone(TimeZone.getTimeZone("GMT+8")); String date = sdf.format(new java.util.Date(timestamp)); return date; }
相关文章推荐
- 提高Android开发效率的9个Web工具
- AndroidStudio遇到的奇葩SVN问题
- Android图片轮播组件(多模式) android-image-indicator
- Android:解决ExpandableListView中添加button后item项点击事件问题
- Android Studio 快捷键整理分享
- Android笔记(十三)AsyncTask(一)
- Android问题集(一)——从fragment跳转到另一个Activity
- Android项目开发流程
- startActivityForResult
- Android ListView 基础入门 简介以及深入优化
- android studio drawable变成了mipmap 是为什么呢
- Android调用SQL Server2008存储过程单例模式
- 自适应国际化语言(转)
- android studio使用
- Android RSA 签名,使用 SHA1
- Android扫描二维码及生成二维码Demo
- Android入门:广播发送者与广播接收者(同步广播和有序广播)
- android.content.res.Resources$NotFoundException: Unable to find resource ID #0xffffffff
- 在5.0以下的设备上使用Material Design风格控件
- android canvas 编辑bitmap画虚线