安卓开发过程遇到的工具方法总结(持续更新~~)
2016-09-02 13:48
429 查看
安卓开发过程遇到的工具方法总结:(持续更新~~)
在开发过程中,难免遇到一些工具方法,什么MD5加密,什么字符转换,判断手机号是否合法等等,对此做个总结,对以后的开发或多或少有一定的帮助,也希望给大家带来方便。1.判断手机是否有SD卡。
public static boolean isSDCardHad() { return Environment.MEDIA_MOUNTED.equals(Environment .getExternalStorageState()); }
2.返回千位分割符金钱形式
public static String longToStringWithSplit(long num) { BigDecimal b = new BigDecimal(num).divide(new BigDecimal(100)) .setScale(2, BigDecimal.ROUND_HALF_UP); NumberFormat nf = new DecimalFormat(",##0.00"); return nf.format(b); }
3.long 转成 String 单位元
public static String longToStringYuan(long num) { // 注释部分是元转换分 // BigDecimal yuanBigDecimal=new BigDecimal(num).divide(new // BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP); BigDecimal yuanBigDecimal = new BigDecimal(num).setScale(2, BigDecimal.ROUND_HALF_DOWN); return yuanBigDecimal.toString(); }
4.生成随机值
public static String generateNumberSN(int length) { StringBuffer sb = new StringBuffer(); Random random = new Random(); for (int i = 0; i < length; i++) { sb.append(NUMBERCHAR.charAt(random.nextInt(NUMBERCHAR.length()))); } return sb.toString(); }
5.MD5加密信息
public static String MD5(String str) { try { MessageDigest md5 = MessageDigest.getInstance("MD5"); char[] charArray = str.toCharArray(); byte[] byteArray = new byte[charArray.length]; for (int i = 0; i < charArray.length; i++) { byteArray[i] = (byte) charArray[i]; } byte[] md5Bytes = md5.digest(byteArray); StringBuffer hexValue = new StringBuffer(); for (int i = 0; i < md5Bytes.length; i++) { int val = ((int) md5Bytes[i]) & 0xff; if (val < 16) { hexValue.append("0"); } hexValue.append(Integer.toHexString(val)); } return hexValue.toString(); } catch (Exception e) { e.printStackTrace(); } return null; }
6.Base64数据的解密
public static String decodeBase64String(String content) { String decodeContent = null; try { decodeContent = new String(Base64.decode(content.getBytes("UTF-8"), Base64.NO_WRAP), "UTF-8"); } catch (Exception e) { e.printStackTrace(); } return decodeContent; }
7.Base64 数据的加密
public static String encodeBase64String(String content) { String encodeContent = null; try { encodeContent = Base64.encodeToString(content.getBytes("UTF-8"), Base64.NO_WRAP); } catch (Exception e) { e.printStackTrace(); } return encodeContent; }
8.判断手机号
public static boolean isMobileNum(String mobiles) { Pattern p = Pattern.compile("^1[3|4|5|7|8]\\d{9}$"); Matcher m = p.matcher(mobiles); return m.matches(); }
9.把dip单位转成px单位
public static int formatDipToPx(BaseAction action, int dip) { DisplayMetrics dm = new DisplayMetrics(); action.getWindowManager().getDefaultDisplay().getMetrics(dm); return (int) Math.ceil(dip * dm.density); }
10.把px单位转成dip单位
public static int formatPxToDip(BaseAction action, int px) { DisplayMetrics dm = new DisplayMetrics(); action.getWindowManager().getDefaultDisplay().getMetrics(dm); return (int) Math.ceil(((px * 160) / dm.densityDpi)); }
相关文章推荐
- 安卓开发过程中遇到的问题总结及解决方法
- 最近在ArcGIS Engine开发中关于调用gp工具过程出现COM 组件的调用返回了错误 HRESULT E_FAIL 错误的解决方法 和 学习oracle中遇到的一些问题总结
- FreeCMS开发过程问题总结(持续更新中)
- 【Android】android开发过程遇到的问题以及解决方法总结
- [xcode]_[开发工具]_[常用高效工具总结][持续更新]
- java开发中遇到的问题及解决方法(持续更新)
- FreeCMS开发过程问题总结(持续更新中)
- [xcode]_[开发工具]_[常用高效工具总结][持续更新]
- ArcEngine开发过程中遇到axToolbarControl添加item变灰无法使用的解决方法总结
- c++(c语言)编程过程中遇到的细微问题总结(持续更新)
- 调试STM32过程中遇到的问题总结(持续更新)--KEIL4+C语言
- Mozilla扩展开发过程遇到的问题(持续更新)
- Hadoop的mapreduce开发过程,我遇到的错误集锦(持续更新)
- Swift / Objective_C / Xcode实际开发中可能遇到的小功能小技巧总结<持续添加更新...>
- WEB开发过程中遇到的各种问题及解决方法总结
- 项目开发过程中一些常用的工具[持续更新中]
- 安卓中常用控件遇到问题解决方法(持续更新和发现篇幅)(在textview上加一条线、待续)
- [原]java开发中遇到的问题及解决方法(持续更新)
- java开发过程中遇到的问题(持续更新)
- iOS 开发过程中遇到的Bug和Warning收录(持续更新)