工具类更新第二弹,继续加速中!

转载请注明出处:王亟亟的大牛之路

5号的时候把自己的老版工具类贴了出来,然后今天上午又加了一点内容进去,然后也是简单的几个Button跑下,看看效果。

工具类更新第二弹,继续加速中!
新增了两个类,一个手机信息类,一个数据格式转换类。

PhoneUtil

public class PhoneUtil {


    /*获取手机CPU信息*/
    public static String[] getCpuInfo() {    
        String str1 = "/proc/cpuinfo";    
        String str2 = "";    
        String[] cpuInfo = {"", ""};  //1-cpu型号  //2-cpu频率    
        String[] arrayOfString;    
        try {    
            FileReader fr = new FileReader(str1);    
            BufferedReader localBufferedReader = new BufferedReader(fr, 8192);    
            str2 = localBufferedReader.readLine();    
            arrayOfString = str2.split("\\s+");    
            for (int i = 2; i < arrayOfString.length; i++) {    
                cpuInfo[0] = cpuInfo[0] + arrayOfString[i] + " ";    
            }    
            str2 = localBufferedReader.readLine();    
            arrayOfString = str2.split("\\s+");    
            cpuInfo[1] += arrayOfString[2];    
            localBufferedReader.close();    
        } catch (IOException e) {    
        }    
        Log.i("PhoneUtil", "cpuinfo:" + cpuInfo[0] + " " + cpuInfo[1]);    
        return cpuInfo;    
    }  


    /*获取手机型号*/
    public static String getMobileMODEL(){
        return android.os.Build.MODEL;
    }

    /*获取SDK版本*/
    @SuppressWarnings("deprecation")
    public static String getSdkVersion(){
        return android.os.Build.VERSION.SDK;
    }

    /*获取系统版本*/
    public static String getRELEASE(){
        return android.os.Build.VERSION.RELEASE;
    }
}

DataConversionUtil

public class DataConversionUtil {
    /*String 转int*/
    public static int StringToInt(String value){
        return Integer.valueOf(value).intValue();
    }

    /*int 转String*/
    public static String intToString(int value){
            return new Integer(value).toString();
    }

    /*String 转 float*/
    public static float StringTofloat(String value){
            return Float.valueOf(value).floatValue();
    }

    /*float 转 String*/
    public static String floatToString(String value){
            return new Float(value).toString();
    }

    /* 字符串转换成十六进制字符串 */
    public static String StringToHex(String value)    
    {      

        char[] chars = "0123456789ABCDEF".toCharArray();      
        StringBuilder sb = new StringBuilder("");    
        byte[] bs = value.getBytes();      
        int bit;         
        for (int i = 0; i < bs.length; i++)    
        {      
            bit = (bs[i] & 0x0f0) >> 4;      
            sb.append(chars[bit]);      
            bit = bs[i] & 0x0f;      
            sb.append(chars[bit]);    
            sb.append(' ');    
        }      
        return sb.toString().trim();      
    }    

    /*十六进制转换字符串*/
    public static String HexToString(String value)    
    {      
        String str = "0123456789ABCDEF";      
        char[] hexs = value.toCharArray();      
        byte[] bytes = new byte[value.length() / 2];      
        int n;      
        for (int i = 0; i < bytes.length; i++)    
        {      
            n = str.indexOf(hexs[2 * i]) * 16;      
            n += str.indexOf(hexs[2 * i + 1]);      
            bytes[i] = (byte) (n & 0xff);      
        }      
        return new String(bytes);      
    }   


    /*bytes转换成十六进制字符串 */
    public static String byteToHex(byte[] value)    
    {    
        String stmp="";    
        StringBuilder sb = new StringBuilder("");    
        for (int n=0;n<value.length;n++)    
        {    
            stmp = Integer.toHexString(value[n] & 0xFF);    
            sb.append((stmp.length()==1)? "0"+stmp : stmp);    
            sb.append(" ");    
        }    
        return sb.toString().toUpperCase().trim();    
    }  

    /*bytes字符串转换为Byte数组*/
    public static byte[] hexStr2Bytes(String value)    
    {    
        int m=0,n=0;    
        int l=value.length()/2;    
        System.out.println(l);    
        byte[] ret = new byte[l];    
        for (int i = 0; i < l; i++)    
        {    
            m=i*2+1;    
            n=m+1;    
            ret[i] = Byte.decode("0x" + value.substring(i*2, m) + value.substring(m,n));    
        }    
        return ret;    
    }    
}

分析:
我们平时的工作中其实对诸如(16进制,2进制等等等)的格式并不在意,最近做的一些东西就是加密,解密,有损压缩,无损压缩,各种格式间的转换,所以觉得还是写一个这样的类比较实用些。

小贴士
观众老爷们有注意到intValue()这个方法么?又明白他是干嘛的么?
*解释:*valueOf(int i) 返回一个表示指定的 int 值的 Integer 实例;intValue()以 int 类型返回该 Integer 的值。一个返回的是一个实例对象 ,一个是一个值 在方法参数传递里有些微区别。这个方法用的还是蛮少的,然后些的时候正好觉得适用,就看了看实现。

源码地址:http://yunpan.cn/cdF4jBU8KTSRb 访问密码 06a0

周末愉快!!!!!
有问题或者业务需要联系QQ452270579谢谢!!

上一篇:从Android studio上移植SweetAlertDialog到Eclipse


下一篇:利用TableLayout实现的类XLS表