IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android开发中常用到的一些工具类方法整理 -> 正文阅读

[移动开发]Android开发中常用到的一些工具类方法整理

此博客会一直更新,整理一些开发中使用的utils方法,年纪大了,整理出来以后用的时候可以直接拿过来。

1、int[]数组转换成byte[]数组

    /**
     * int[]转换成byte[]
     * @param intArray int[]
     * @return byte[]
     */
    public static byte[] intsToBytes(int[] intArray) {
        if (intArray == null || intArray.length == 0) {
            return null;
        }
        int size = intArray.length;
        byte[] value = new byte[size];
        for (int i = 0; i < size; i++) {
            value[i] = (byte) intArray[i];
        }
        return value;
    }

2、byte[]数组转换成Integer[]数组

    /**
     * 将byte[]转换成Integer[]
     * @param byteArray byte[]
     * @return Integer[]
     */
    public static Integer[] bytesToIntegers(byte[] byteArray) {
        if (byteArray == null || byteArray.length == 0) {
            return null;
        }
        int size = byteArray.length;
        Integer[] value = new Integer[size];
        for (int i = 0; i < size; i++) {
            value[i] = (int) byteArray[i];
        }
        return value;
    }

3、int[]转换成int

    /**
     * int[]转换成int
     * @param intArray int[]
     * @return int
     */
    public static int intsToInt(int[] intArray) {
        if (intArray == null) {
            return -1;
        }
        int value = -1;
        switch (intArray.length) {
            case 1:
                value = intArray[0];
                break;
            case 2:
                value = ((intArray[0] & 0xFF) << 8) | (intArray[1] & 0xFF);
                break;
            case 3:
                value = ((intArray[0] & 0xFF) << 16) | ((intArray[1] & 0xFF) << 8) | (intArray[2] & 0xFF);
                break;
            case 4:
                value = ((intArray[0] & 0xFF) << 24) | ((intArray[1] & 0xFF) << 16) | ((intArray[2] & 0xFF) << 8) | (intArray[3] & 0xFF);
                break;
            default:
                if (DEBUG) Log.e(TAG, "该条SPI消息数据长度超过4位了");
                break;
        }
        return value;
    }

4、String转GBK格式的int[]

    /**
     * String转GBK格式的int[]
     * @param value String
     * @return GBK格式的int[]
     */
    public static Integer[] strToGBKInts(String value) {
        if (TextUtils.isEmpty(value)) {
            Log.w(TAG, "strToGBKInts:value is null!");
            return new Integer[]{};
        }
        Integer[] ints = null;
        try {
            byte[] bytes = value.getBytes("GBK");
            ints = new Integer[bytes.length];
            for (int i = 0; i < bytes.length; i++) {
                ints[i] = bytes[i] & 0xFF;
            }
        } catch (UnsupportedEncodingException e) {
            Log.e(TAG, "strToGBKInts error ", e);
        }
        return ints;
    }

5、在指定数组中的指定元素位置 插入指定元素

    /**
     * 在指定数组中的指定元素位置 插入指定元素
     * @param arr   这里需要插入一个指定数组作为源数组供查询
     * @param index 指定数组中的指定元素下标
     * @param num   指定数组指定元素位置插入的指定元素
     * @return data 插入完成数据
     */
    public static Integer[] insertData(Integer[] arr, int index, int num) {
        Integer[] data = new Integer[arr.length + 1];
        System.arraycopy(arr, 0, data, 0, index);
        data[index] = num;
        System.arraycopy(arr, index, data, index + 1, arr.length - index);
        return data;
    }

6、数组合并

    /**
     * 数组合并
     *
     * @param first 第一个数组
     * @param rest  其余数组
     * @param <T>   泛型
     * @return 合并后的数组
     */
    @SafeVarargs
    public static <T> T[] concatAll(T[] first, T[]... rest) {
        int totalLength = first.length;
        for (T[] array : rest) {
            totalLength += array.length;
        }
        T[] result = Arrays.copyOf(first, totalLength);
        int offset = first.length;
        for (T[] array : rest) {
            System.arraycopy(array, 0, result, offset, array.length);
            offset += array.length;
        }
        return result;
    }

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-08-18 12:49:12  更:2021-08-18 12:49:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 9:44:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码