转载请注明出处:王亟亟的大牛之路
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谢谢!!