代码

public class ConvertUtils {public static final long GB = 1073741824L;public static final long MB = 1048576L;public static final long KB = 1024L;public ConvertUtils() {}public static int toInt(Object obj) {try {return Integer.parseInt(obj.toString());} catch (NumberFormatException var2) {return -1;}}public static int toInt(byte[] bytes) {int result = 0;for (int i = 0; i < bytes.length; ++i) {byte abyte = bytes[i];result += (abyte & 255) << 8 * i;}return result;}public static int toShort(byte first, byte second) {return (first << 8) + (second & 255);}public static long toLong(Object obj) {try {return Long.parseLong(obj.toString());} catch (NumberFormatException var2) {return -1L;}}public static float toFloat(Object obj) {try {return Float.parseFloat(obj.toString());} catch (NumberFormatException var2) {return -1.0F;}}public static byte[] toByteArray(int i) {return ByteBuffer.allocate(4).putInt(i).array();}public static byte[] toByteArray(String hexData, boolean isHex) {if (hexData != null && !hexData.equals("")) {if (!isHex) {return hexData.getBytes();} else {hexData = hexData.replaceAll("\\s+", "");String hexDigits = "0123456789ABCDEF";ByteArrayOutputStream baos = new ByteArrayOutputStream(hexData.length() / 2);for (int i = 0; i < hexData.length(); i += 2) {baos.write(hexDigits.indexOf(hexData.charAt(i)) << 4 | hexDigits.indexOf(hexData.charAt(i + 1)));}byte[] bytes = baos.toByteArray();try {baos.close();} catch (IOException var6) {LogUtils.warn(var6);}return bytes;}} else {return null;}}public static String toHexString(String str) {if (TextUtils.isEmpty(str)) {return "";} else {StringBuilder builder = new StringBuilder();byte[] bytes = str.getBytes();byte[] var3 = bytes;int var4 = bytes.length;for (int var5 = 0; var5 < var4; ++var5) {byte aByte = var3[var5];builder.append(Integer.toHexString(255 & aByte));builder.append(" ");}return builder.toString();}}public static String toHexString(byte... bytes) {char[] DIGITS = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};char[] buffer = new char[bytes.length * 2];int i = 0;for (int var4 = 0; i < bytes.length; ++i) {int u = bytes[i] < 0 ? bytes[i] + 256 : bytes[i];buffer[var4++] = DIGITS[u >>> 4];buffer[var4++] = DIGITS[u & 15];}return new String(buffer);}public static String toHexString(int num) {String hexString = Integer.toHexString(num);LogUtils.verbose(String.format(Locale.CHINA, "%d to hex string is %s", new Object[]{Integer.valueOf(num), hexString}));return hexString;}public static String toBinaryString(byte... bytes) {char[] DIGITS = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};char[] buffer = new char[bytes.length * 8];int i = 0;for (int var4 = 0; i < bytes.length; ++i) {int u = bytes[i] < 0 ? bytes[i] + 256 : bytes[i];buffer[var4++] = DIGITS[u >>> 7 & 1];buffer[var4++] = DIGITS[u >>> 6 & 1];buffer[var4++] = DIGITS[u >>> 5 & 1];buffer[var4++] = DIGITS[u >>> 4 & 1];buffer[var4++] = DIGITS[u >>> 3 & 1];buffer[var4++] = DIGITS[u >>> 2 & 1];buffer[var4++] = DIGITS[u >>> 1 & 1];buffer[var4++] = DIGITS[u & 1];}return new String(buffer);}public static String toBinaryString(int num) {String binaryString = Integer.toBinaryString(num);LogUtils.verbose(String.format(Locale.CHINA, "%d to binary string is %s", new Object[]{Integer.valueOf(num), binaryString}));return binaryString;}public static String toSlashString(String str) {String result = "";char[] chars = str.toCharArray();char[] var3 = chars;int var4 = chars.length;for (int var5 = 0; var5 < var4; ++var5) {char chr = var3[var5];if (chr == 34 || chr == 39 || chr == 92) {result = result + "\\";}result = result + chr;}return result;}public static <T> T[] toArray(List<T> list) {return (T[]) list.toArray();}public static <T> List<T> toList(T[] array) {return Arrays.asList(array);}public static String toString(Object[] objects) {return Arrays.deepToString(objects);}public static String toString(Object[] objects, String tag) {StringBuilder sb = new StringBuilder();Object[] var3 = objects;int var4 = objects.length;for (int var5 = 0; var5 < var4; ++var5) {Object object = var3[var5];sb.append(object);sb.append(tag);}return sb.toString();}public static byte[] toByteArray(InputStream is) {if (is == null) {return null;} else {try {ByteArrayOutputStream os = new ByteArrayOutputStream();byte[] buff = new byte[100];while (true) {int len = is.read(buff, 0, 100);if (len == -1) {byte[] bytes = os.toByteArray();os.close();is.close();return bytes;}os.write(buff, 0, len);}} catch (IOException var4) {LogUtils.warn(var4);return null;}}}public static byte[] toByteArray(Bitmap bitmap) {if (bitmap == null) {return null;} else {ByteArrayOutputStream os = new ByteArrayOutputStream();bitmap.compress(Bitmap.CompressFormat.PNG, 100, os);byte[] bytes = os.toByteArray();try {os.close();} catch (IOException var4) {LogUtils.warn(var4);}return bytes;}}public static Bitmap toBitmap(byte[] bytes, int width, int height) {Bitmap bitmap = null;if (bytes.length != 0) {try {BitmapFactory.Options options = new BitmapFactory.Options();options.inDither = false;options.inPreferredConfig = null;if (width > 0 && height > 0) {options.outWidth = width;options.outHeight = height;}bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length, options);bitmap.setDensity(96);} catch (Exception var5) {LogUtils.error(var5);}}return bitmap;}public static Bitmap toBitmap(byte[] bytes) {return toBitmap(bytes, -1, -1);}public static Bitmap toBitmap(Drawable drawable) {if (drawable instanceof BitmapDrawable) {return ((BitmapDrawable) drawable).getBitmap();} else {Bitmap bitmap;Canvas canvas;if (drawable instanceof ColorDrawable) {bitmap = Bitmap.createBitmap(32, 32, Bitmap.Config.ARGB_8888);canvas = new Canvas(bitmap);canvas.drawColor(((ColorDrawable) drawable).getColor());return bitmap;} else if (drawable instanceof NinePatchDrawable) {bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);canvas = new Canvas(bitmap);drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());drawable.draw(canvas);return bitmap;} else {return null;}}}@TargetApi(19)public static String toPath(Context context, Uri uri) {if (uri == null) {LogUtils.verbose("uri is null");return "";} else {LogUtils.verbose("uri: " + uri.toString());String path = uri.getPath();String scheme = uri.getScheme();String authority = uri.getAuthority();boolean isKitKat = Build.VERSION.SDK_INT >= 19;if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {String docId = DocumentsContract.getDocumentId(uri);String[] split = docId.split(":");String type = split[0];Uri contentUri = null;byte var11 = -1;switch (authority.hashCode()) {case 320699453:if (authority.equals("com.android.providers.downloads.documents")) {var11 = 1;}break;case 596745902:if (authority.equals("com.android.externalstorage.documents")) {var11 = 0;}break;case 1734583286:if (authority.equals("com.android.providers.media.documents")) {var11 = 2;}}switch (var11) {case 0:if ("primary".equalsIgnoreCase(type)) {return Environment.getExternalStorageDirectory() + "/" + split[1];}break;case 1:contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(docId).longValue());return _queryPathFromMediaStore(context, contentUri, (String) null, (String[]) null);case 2:if ("image".equals(type)) {contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;} else if ("video".equals(type)) {contentUri = android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI;} else if ("audio".equals(type)) {contentUri = android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;}String selection = "_id=?";String[] selectionArgs = new String[]{split[1]};return _queryPathFromMediaStore(context, contentUri, selection, selectionArgs);}} else {if ("content".equalsIgnoreCase(scheme)) {if (authority.equals("com.google.android.apps.photos.content")) {return uri.getLastPathSegment();}return _queryPathFromMediaStore(context, uri, (String) null, (String[]) null);}if ("file".equalsIgnoreCase(scheme)) {return uri.getPath();}}LogUtils.verbose("uri to path: " + path);return path;}}private static String _queryPathFromMediaStore(Context context, Uri uri, String selection, String[] selectionArgs) {String filePath = null;try {String[] projection = new String[]{"_data"};Cursor cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, (String) null);if (cursor != null) {int column_index = cursor.getColumnIndexOrThrow("_data");cursor.moveToFirst();filePath = cursor.getString(column_index);cursor.close();}} catch (IllegalArgumentException var8) {LogUtils.error(var8);}return filePath;}@SuppressLint("WrongConstant")public static Bitmap toBitmap(View view) {int width = view.getWidth();int height = view.getHeight();int color;if (view instanceof ListView) {height = 0;ListView listView = (ListView) view;for (color = 0; color < listView.getChildCount(); ++color) {height += listView.getChildAt(color).getHeight();}} else if (view instanceof ScrollView) {height = 0;ScrollView scrollView = (ScrollView) view;for (color = 0; color < scrollView.getChildCount(); ++color) {height += scrollView.getChildAt(color).getHeight();}}view.setDrawingCacheEnabled(true);view.clearFocus();view.setPressed(false);boolean willNotCache = view.willNotCacheDrawing();view.setWillNotCacheDrawing(false);color = view.getDrawingCacheBackgroundColor();view.setDrawingCacheBackgroundColor(-1);if (color != -1) {view.destroyDrawingCache();}view.buildDrawingCache();Bitmap cacheBitmap = view.getDrawingCache();if (cacheBitmap == null) {return null;} else {Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);Canvas canvas = new Canvas(bitmap);canvas.drawBitmap(cacheBitmap, 0.0F, 0.0F, (Paint) null);canvas.save(31);canvas.restore();if (!bitmap.isRecycled()) {LogUtils.verbose("recycle bitmap: " + bitmap.toString());bitmap.recycle();}view.destroyDrawingCache();view.setWillNotCacheDrawing(willNotCache);view.setDrawingCacheBackgroundColor(color);return bitmap;}}public static Drawable toDrawable(Bitmap bitmap) {return bitmap == null ? null : new BitmapDrawable(Resources.getSystem(), bitmap);}public static byte[] toByteArray(Drawable drawable) {return toByteArray(toBitmap(drawable));}public static Drawable toDrawable(byte[] bytes) {return toDrawable(toBitmap(bytes));}public static int toPx(Context context, float dpValue) {float scale = context.getResources().getDisplayMetrics().density;int pxValue = (int) (dpValue * scale + 0.5F);LogUtils.verbose(dpValue + " dp == " + pxValue + " px");return pxValue;}public static int toPx(float dpValue) {Resources resources = Resources.getSystem();float px = TypedValue.applyDimension(1, dpValue, resources.getDisplayMetrics());return (int) px;}public static int toDp(Context context, float pxValue) {float scale = context.getResources().getDisplayMetrics().density;int dpValue = (int) (pxValue / scale + 0.5F);LogUtils.verbose(pxValue + " px == " + dpValue + " dp");return dpValue;}public static int toSp(Context context, float pxValue) {float fontScale = context.getResources().getDisplayMetrics().scaledDensity;int spValue = (int) (pxValue / fontScale + 0.5F);LogUtils.verbose(pxValue + " px == " + spValue + " sp");return spValue;}public static String toGbk(String str) {try {return new String(str.getBytes("utf-8"), "gbk");} catch (UnsupportedEncodingException var2) {LogUtils.warn(var2);return str;}}public static String toFileSizeString(long fileSize) {DecimalFormat df = new DecimalFormat("0.00");String fileSizeString;if (fileSize < 1024L) {fileSizeString = fileSize + "B";} else if (fileSize < 1048576L) {fileSizeString = df.format((double) fileSize / 1024.0D) + "K";} else if (fileSize < 1073741824L) {fileSizeString = df.format((double) fileSize / 1048576.0D) + "M";} else {fileSizeString = df.format((double) fileSize / 1.073741824E9D) + "G";}return fileSizeString;}public static String toString(InputStream is, String charset) {StringBuilder sb = new StringBuilder();try {BufferedReader reader = new BufferedReader(new InputStreamReader(is, charset));while (true) {String line = reader.readLine();if (line == null) {reader.close();is.close();break;}sb.append(line).append("\n");}} catch (IOException var5) {LogUtils.error(var5);}return sb.toString();}public static String toString(InputStream is) {return toString(is, "utf-8");}public static int toDarkenColor(@ColorInt int color) {return toDarkenColor(color, 0.8F);}public static int toDarkenColor(@ColorInt int color, @FloatRange(from = 0.0D, to = 1.0D) float value) {float[] hsv = new float[3];Color.colorToHSV(color, hsv);hsv[2] *= value;return Color.HSVToColor(hsv);}public static String toColorString(@ColorInt int color) {return toColorString(color, false);}public static String toColorString(@ColorInt int color, boolean includeAlpha) {String alpha = Integer.toHexString(Color.alpha(color));String red = Integer.toHexString(Color.red(color));String green = Integer.toHexString(Color.green(color));String blue = Integer.toHexString(Color.blue(color));if (alpha.length() == 1) {alpha = "0" + alpha;}if (red.length() == 1) {red = "0" + red;}if (green.length() == 1) {green = "0" + green;}if (blue.length() == 1) {blue = "0" + blue;}String colorString;if (includeAlpha) {colorString = alpha + red + green + blue;LogUtils.verbose(String.format(Locale.CHINA, "%d to color string is %s", new Object[]{Integer.valueOf(color), colorString}));} else {colorString = red + green + blue;LogUtils.verbose(String.format(Locale.CHINA, "%d to color string is %s%s%s%s, exclude alpha is %s", new Object[]{Integer.valueOf(color), alpha, red, green, blue, colorString}));}return colorString;}public static ColorStateList toColorStateList(@ColorInt int normalColor, @ColorInt int pressedColor, @ColorInt int focusedColor, @ColorInt int unableColor) {int[] colors = new int[]{pressedColor, focusedColor, normalColor, focusedColor, unableColor, normalColor};int[][] states = new int[][]{{16842919, 16842910}, {16842910, 16842908}, {16842910}, {16842908}, {16842909}, new int[0]};return new ColorStateList(states, colors);}public static ColorStateList toColorStateList(@ColorInt int normalColor, @ColorInt int pressedColor) {return toColorStateList(normalColor, pressedColor, pressedColor, normalColor);}
}

使用方式·Json的处理

  Gson gson = new Gson();String json = ConvertUtils.toString(HomeActivity.this.getAssets().open("room.json"));RoomBean RoomBeanData = gson.fromJson(json, new TypeToken<RoomBean>() {}.getType());

room.json 的展示

{"data": {"EventInfo": [{"HeadPortrait": 0,"RoomName": "实验室32号楼二楼腰椎穿刺实训中心201","State": "已完成","StateNumber": 0,"StudentNumber": "10人","SubjectContent": "(1)腰椎穿刺模型模拟实训讲座","TeacherName": "李子豪","Time": "12:00 - 13:00"},{"HeadPortrait": 1,"RoomName": "实验室12号楼实训中心212","State": "进行中","StateNumber": 1,"StudentNumber": "20人","SubjectContent": "(2)心肺复苏考试","TeacherName": "杨森","Time": "12:10 - 13:30"},{"HeadPortrait": 2,"RoomName": "实验室31号楼手臂缝合实训中心501","State": "等待","StateNumber": 2,"StudentNumber": "21人","SubjectContent": "(3)手臂缝合实训讲座","TeacherName": "XXX","Time": "14:00 - 15:00"},{"HeadPortrait": 3,"RoomName": "实验室31号楼手臂缝合实训中心501","State": "等待","StateNumber": 2,"StudentNumber": "21人","SubjectContent": "(3)手臂缝合实训讲座","TeacherName": "陶华碧","Time": "14:00 - 15:00"},{"HeadPortrait": 4,"RoomName": "实验室11号楼301","State": "等待","StateNumber": 2,"StudentNumber": "33人","SubjectContent": "(4)内科手术实训讲座","TeacherName": "杨国富","Time": "12:30 - 14:00"},{"HeadPortrait": 5,"RoomName": "实验室1号楼311","State": "进行中","StateNumber": 1,"StudentNumber": "30人","SubjectContent": "(4)内科手术实训讲座","TeacherName": "张科","Time": "13:30 - 14:30"},{"HeadPortrait": 6,"RoomName": "实验室6号楼204","State": "等待","StateNumber": 2,"StudentNumber": "10人","SubjectContent": "(4)内科手术实训讲座","TeacherName": "袁华","Time": "13:30 - 14:30"},{"HeadPortrait": 6,"RoomName": "实验室6号楼204","State": "等待","StateNumber": 2,"StudentNumber": "10人","SubjectContent": "(4)内科手术实训讲座","TeacherName": "袁华","Time": "13:30 - 14:30"}]}
}

Android【本地Json处理工具类】相关推荐

  1. [Android开发] Json解析工具类,一个类搞定Json的解析

    一.简介 利用递归的方式反射解析到bean里面 二.详细代码 1. Json格式 例如服务器指定规定json格式为: {"code": "--" , // 返回 ...

  2. android 字体像素转换工具类_Android中px与dip,sp与dip等的转换工具类

    Android中px与dip,sp与dip等的转换工具类 功能 通常在代码中设置组件或文字大小只能用px,通过这个工具类我们可以把dip(dp)或sp为单位的值转换为以px为单位的值而保证大小不变.方 ...

  3. Android中对话框的工具类

    Android中对话框的工具类,里面总结了比较好用的方法,直接调用即可 public class DialogUtils {private DialogUtils() {}private static ...

  4. 一文吃透Json解析工具类合集(FastJson、Jackson、Gson)

    Json解析工具类 前言 一.各个JSON技术的简介 1.1 FastJson角色 1.2 Jackson角色 1.3 Gson角色 二.使用步骤 2.1 引入库 1.FastJson依赖 2.Jac ...

  5. java json 工具类_Java中JSON处理工具类使用详解

    本文实例为大家分享了JSON处理工具类的具体代码,供大家参考,具体内容如下 import java.io.IOException; import java.util.Date; import java ...

  6. android 字体像素转换工具类_android px,dp,sp大小转换工具

    package com.voole.playerlib.util; import android.content.Context; /** * Android大小单位转换工具类 * * float s ...

  7. java处理json的工具类(list,map和json的之间的转换)

    需要下载第三方的jar :net.sf.json import java.io.BufferedReader; import java.io.InputStream; import java.io.I ...

  8. Android沉浸式状态栏工具类,一句代码轻松搞定

    Android沉浸式状态栏工具类,一句代码轻松搞定 博客原文及源码地址:http://jaeger.itscoder.com/android/2016/03/27/statusbar-util.htm ...

  9. Android大小单位转换工具类

    package com.utouu.im.util; /**  * Android大小单位转换工具类  *   *   */ public class DisplayUtil { /** * 将px值 ...

最新文章

  1. 页面怎么创建一个数组_怎么创建一个企业网站?
  2. SQLAlchemy in 查询空列表问题分析
  3. 【计算机网络】ISO/OSI模型
  4. 用Jenkins自动化搭建测试环境_入门试炼05
  5. Ubuntu Linux服务器安装JDK8
  6. Codeforces Round #164 (Div. 2):B. Buttons
  7. 【验证码识别】基于matlab GUI遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含Matlab源码 1694期】
  8. 给一张表加一个自动编号字段_Python办公自动化|从Word到Excel
  9. 计算机系统感染了病毒怎么办,笔者教你电脑感染了病毒怎么解决
  10. Python 入门 第一到第三天
  11. elk学习中遇到的一些问题
  12. 半监督学习之伪标签(pseudo label,entropy minimization,self-training)
  13. 【HCIE-RS 天梯路】NDP
  14. 发布上线前,先小秀一把俺的64位浏览器,速度那觉对是杠杠滴,上youtube,上google不费劲
  15. String转换成json
  16. MySQLSyntaxErrorException
  17. GNN学习笔记(四):图注意力神经网络(GAT)节点分类任务实现
  18. R语言使用psych包的cor.test函数检验dataframe中多个数值数据列之间的相关性系数是否具有统计显著性、对相关性系数进行显著性检验、使用print函数和short参数输出系数的置信区间
  19. 2022年我在梦想清单里又加了3条
  20. CF杂题训练(交互题不做,2500以上的看情况吧)

热门文章

  1. 推荐 :一文读懂贝叶斯网络
  2. 分布式机器学习:算法、理论与实践 2)
  3. 《Introduction to Linux》——Linux Fundation (15~18/18章)
  4. ubuntu 安装软件(tar.gz / deb)
  5. c语言 霍夫变换检测直线,C++ 霍夫直线检测
  6. 阿里妈妈API接口 按关键字或网址搜索商品
  7. Map集合遍历取值的五种方式
  8. 485通信原理_串口通信(232,485,422)以及常见问题
  9. 计算机操作系统的教学目标,《操作系统》课程教学大纲.doc.doc
  10. 如何学习Android开发