1 Star 4 Fork 2

千古八方/AndroidUtils

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

AndroidUtils

该功能库为android 7.1.2 智能终端常用功能的集合

目录说明:

 src/main/java-public        应用程序代码 <br/>
         /res-public         应用程序资源路径 <br/>
         /jni-libs-public    应用程序引用的native libs 路径 <br/>        
         /java-utils         工具功能常用代码 <br/>
         /res-utils          工具功能资源路径
         /jni-source-utils   native 源码 <br/>

工具功能

websocket 功能

蓝牙GATT通信,自动组装包。

BTUtil.java

AES加密

AESEncryptUtil.java

图片模糊工具

BlurBuilder.java

相机工具

CameraUtils.java

校验和工具

CRC16.java

16进制工具

Hex.java HexDump.java

https 证书

HttpsUtils.java

日志工具,http日志工具

HttpLogger.java

HttpLogger 日志

    HttpLoggingInterceptor logInterceptor = new HttpLoggingInterceptor(new HttpLogger());
    logInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
    OkHttpClient client = new OkHttpClient.Builder()
    .cookieJar(cookieJar)
    .addInterceptor(new HttpLogInterceptor(true))
    .addNetworkInterceptor(logInterceptor)
    .build();
    HttpApi.setClient(client);
    HttpApi.setDebug(true);
    Logger.e("here");
    Logger.i("here");
    Logger.i("here----");

权限工具类

PermissionHelper.java

打开系统设置功能

SettingHelper.java

网络工具类,包含cookie(内存及硬盘的持久化)

HttpApi.java

沉浸式工具

ImmerseUtil.java

执行shell命令工具

ShellUtils.java

Wifi 工具, 搜索、打开、连接等

WiFiUtil.java

验证用的正则表达式

Validator.java

生成随机数的工具类

RandomUtils.java

应用升级工具类

UpdateUtil.java

系统栏提示通知的工具类

Notify.java

获取手机想看的信息

PhoneInfo.java

相机工具类

CameraUtils.java

相机预览类

CameraSufaceView.java

贝塞尔曲线相关

DotsTextView.java // 贝塞尔曲线实现的等待点动画, BeizerEvaluator.java // 贝塞尔曲线计算工具

侧滑消失的行为,列表里的某个条目,侧滑删除

MySwipeDismissBehavior.java

可展开列表数据适配器

ExpandableRecyclerViewAdapter.java

网页浏览器

WebViewFragment.java

捕获应用崩溃信息用

CrashHandler.java

dialog

LoadingDialog.java MsgDialogUtil.java

自定义的widget挂件

仪表盘

GangeView.java

雷达图

RadarView.java

九宫格选择图片

安卓11 之后 manifest 根节点下需要添加:
    <queries>
        <intent>
            <action android:name="android.media.action.IMAGE_CAPTURE" />
        </intent>
    </queries>

SelectPictureGridView.java

选择一张图片工具类

SelectOnePicture.java

去掉色彩,布局变成灰色的工具

StaturationView.java

底部弹出选择列表

BottomListDialog.java

从左滑动到右侧退出的布局

DragLeft2RightExitFrameLayout.java

圆形头像; Glide 也可以实现

CircleImageView.java

左上角斜着的标签样式

LabelView.java

串口|RS485

  1. 全双工,串口通信 SerialPort.java, 使用jni打开设备节点,返回文件描述符,进而获取输入输出流。 用法:
    // 全双工,通常用法
    new SerialPort(new File("/dev/ttyS0"), 9600, 0, null);
    
    // 收发前需要额外使能某个节点的用法
    String enable = "/dev/gpio68"; //  手动使能某个节点 system(echo 1 > /dev/gpio68)
    new SerialPort(new File("/dev/ttyS0"), 9600, 0, enable);
    
  1. RS485SerialPortUtilNew.java 485串口通信。 如果要使用232功能, 使用 SerialPort.java 类即可。 获取到输入输出流,然后实现流操作即可。 (硬件自动使能收发)
    • 使用示例:
    • 普通串口 open(9600, "/dev/ttyS1", null, false); // 有单独芯片控制自动使能收发;
    • 修改过硬件的设备 open(9600, "/dev/ttyS1", “/sys/class/gpioXXX/value" , false); // 可以控制gpio, 但无法改内核(如没有源码)
    • 修改过硬件并可以修改内核的设备 open(9600, "/dev/ttyS1", “/dev/gpioXXXX" , true); // 内核控制使能收发

// ----------------------详细说明 --------------- 程序读发送寄存器,保证发送完成后,再使能接收

  1. 如果内核有gpio的驱动则使用ioctl

  2. 如果内核没有驱动则使用system(echo > 1 /sys/class/gpio/value)来设置

  3. 如果带有自动转换的芯片,则使能路径传null (大多数情况下,成品设备都是这种情况)

  4. 该功能与 RS485SerialPortUtilNew.java 的区别是,该类只读。

USB串口

使用 SerialInputOutputManager.java, 复制自:https://github.com/mik3y/usb-serial-for-android

控制状态栏、导航栏的显示隐藏

该功能需要修改android代码, 具体方式见 /framework-modify/动态控制显示隐藏导航栏和状态栏/

    // 隐藏导航栏及状态栏
    sendBroadcast(new Intent("android.intent.action.HIDE_NAVIGATION_BAR"));
    sendBroadcast(new Intent("android.intent.action.HIDE_STATUS_BAR"));
    // 显示导航栏及状态栏
    sendBroadcast(new Intent("android.intent.action.SHOW_NAVIGATION_BAR"));
    sendBroadcast(new Intent("android.intent.action.SHOW_STATUS_BAR"));
      

动态权限申请

一次请求单个或多个权限

    // 1. 申请的权限必须先在manifest中配置, 否则申请结果总是失败
    // 2. ACCESS_FINE_LOCATION 权限包含 ACCESS_COARSE_LOCATION 粗略定位权限
    // 3. 按照权限请求顺序进行申请,遇到失败则返回,之后权限则处于未申请状态: -1
    String permissions[] = new String[]{ Manifest.permission.CAMERA, Manifest.permission.READ_CONTACTS, Manifest.permission.ACCESS_FINE_LOCATION};
    int requestCode = 7777;
    PermissionHelper.request(TCMainActivity.this, permissions, requestCode,new PermissionHelper.Callback(){

        @Override
        public void onResult(int requestCode, String[] permissions, int[] grantResult) {
            if(PackageManager.PERMISSION_GRANTED == grantResult[0]){
                // 第一个权限 android.permission.CAMERA 授权成功
            }
            // 授权结果
            Toast.makeText(TCMainActivity.this, "请求权限:" +Arrays.toString(permissions) + "  授权结果:" + Arrays.toString(grantResult), Toast.LENGTH_LONG).show();
        }
    });

server.zip 应用内提供php服务的工具

pdfjs pdf 预览工具

空文件

简介

android 7.1.2 智能终端常用功能的集合;适配普通手机系统及rk3399的部分定制系统 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Android
1
https://gitee.com/aityu/AndroidUtils.git
git@gitee.com:aityu/AndroidUtils.git
aityu
AndroidUtils
AndroidUtils
master

搜索帮助