- 博客(130)
- 资源 (15)
- 收藏
- 关注
原创 安卓使用JExcelApi读取Excel文件
// 打开工作簿 workbook = Workbook.getWorkbook(new File(filePath)); // 获取第一个工作表 Sheet sheet = workbook.getSheet(0); // 遍历行和列,读取单元格数据 for (int i = 0; i < sheet.getRows(); i++) { for (int
2025-02-10 10:16:24
415
原创 安卓无障碍获取录屏权限
3.某些手机不给你查找,只能查到”取消“,这时候需要模拟一个区域,计算这个区域位置与”允许“重合,进行点击。每次需要录屏操作时,都会弹窗需要用户手动授权比较麻烦,可以通过无障碍模拟用户点击进行授权。即便完成了以上操作,还需要配置不同系统版本的xml权限才能成功。1.查找“立即开始”(华为手机是“允许”)节点,模拟点击;2.查找buttonId;经我研究立即开始id是。
2024-10-11 10:54:10
1364
原创 CheckVersionLib
自定义界面使用回调方式,开发者需要返回自己定义的Dialog(父类android.app)所有自定义的界面必须使用listener里面的context实例化界面展示的数据通过UIData拿自定义显示更新界面设置定义此界面必须有一个确定下载的按钮,按钮id必须为如果有取消按钮(没有忽略本条要求),则按钮id必须为eg.//versionBundle 就是UIData,之前开发者传入的,在这里可以拿出UI数据并展示});自定义下载中对话框界面设置。
2024-09-12 11:27:00
964
原创 AppUpdate
✅ 专注于App更新一键傻瓜式升级✅ 够轻量,体积小✅ 支持监听下载和自定义下载流程✅ 支持下载失败时,可重新下载✅ 支持文件MD5校验,避免重复下载✅ 支持通知栏提示内容和流程全部可配置✅ 支持取消下载✅ 支持使用HttpsURLConnection或OkHttpClient进行下载✅ 支持Android 10(Q)✅ 支持Android 11(R)✅ 支持Android 12(S)
2024-09-11 16:10:35
918
原创 安卓Java Web Socket简单使用
只要关注`onOpen`、`onMessage`、`onClose`、`onError`这四个方法,然后server端启动,client端通过server端ip与端口去连接。> 断线重连必定会走`onClose`方法,所以根据client的onClose方法断线的原因,调用`reconnect`或者`reconnectBlocking`即可完成重连动作。以`ws://ip地址:端口`生成一个`WebSocketClient`对象,然后调用connect方法,即尝试连接serve。
2024-04-26 10:19:55
839
原创 JadxGUI反编译工具
包名、公钥和签名MD5获取方式有多种,本文以使用JadxGUI工具获取为例。下载JadxGUI工具:下载安装完成后,使用此工具打开apk包。公钥与签名MD5值获取:查找文件。
2024-01-23 12:51:52
712
原创 ChatSDK 全双工语音识别库
是对AIUI的语音SDK封装,套餐费用最低在6万/年:是对原始msc的语音SDK封装,相对AIUI便宜很多:是对百度语音SDK封装,百度号称永久免费:AIUI网络测试工具-折线图动态测试可持续观测共同特点:实现了全双工语音识别iat、合成tts、和语义nlp部分接口的封装,经过稳定测试,通过简洁的调用方式来满足开发需求。两者核心类都是 SpeechManager。
2024-01-11 18:05:11
1324
原创 安卓10创建文件夹失败
最近在做拍照录像功能,已经有了文件读写权限,却发现在9.0手机上正常使用,但是在安卓12系统上根本没有创建文件夹。经过研究发现,创建名称为“DCIM”的文件夹可以,别的又都不行。而且是getExternalStorageDirectory和getDataDirectory都不行。而且要在Androidmainfest 里面的application添加:android:requestLegacyExternalStorage=“true”下面贴出文件目录代码。
2023-09-01 17:35:07
1452
原创 安卓副屏开发Presentation
通过源码可得知 public class Presentation extends Dialog,Presentation继承于dialog,依托于Activity存在新建一个Presentationpublic class DifferentDislay extends Presentation { public static CameraPreview cameraView2; private Context mContext; private Activity mA
2022-04-27 10:30:33
1052
原创 安卓连接USB设备
1.添加权限<uses-feature android:name="android.hardware.usb.host" /><meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>2在activity中 private UsbManager mUsbManager = null; private UsbDevice device = null; private
2022-04-27 10:20:52
1217
原创 Android实现USB扫码枪获取扫描二维码
USB 扫码枪会将扫描出来的内容转化为键盘事件,对应的就是Android中的KeyEvent事件,所以我们只需要在我们的activity中重写dispatchKeyEvent方法 private StringBuilder sb = new StringBuilder(); private Handler myHandler = new Handler(); boolean isScaning = false; int len = 0; int oldLen = 0
2022-03-23 15:36:53
6053
原创 安卓通过反射找Activity
try { Class activity = getClassLoader().loadClass("com.huax.basemodel.MainActivity"); Intent intent = new Intent(this, activity); startActivity(intent); } catch (ClassNotFoundException e) { .
2021-12-31 14:10:53
1917
2
原创 adb 返回上一页
打开系统设置界面adb shell am start -n com.android.settings/.Settings返回上一个界面adb shellinput keyevent BACK
2021-12-27 17:02:40
3419
原创 安卓利用fat-aar打包含有第三方aar的model
fat-aar.gradle是什么?在做android应用程序开发时,我们一般都会构建多个模块,来达到解耦的目的,但是有的需求是需要我们提供一个依赖库给外部使用,这时候就遇到一个问题:多个module确实达到了解耦的目的,同时也意味着对外提供依赖库时要提供多个aar,一个依赖module对应一个aar。fat-aar 的功能简单来说就是让你能够合并和插入各种依赖到一个aar中。项目地址:https://github.com/adwiv/android-fat-aar导入方式:// 配置fa
2021-12-22 16:55:02
3658
原创 mergeDebugJavaResource解决办法
mergeDebugJavaResource意思就是jar包冲突,建议Adding a packagingOptions,5 files found with path 'META-INF/INDEX.LIST' from inputspackagingOptions { exclude 'META-INF/INDEX.LIST' ex...
2021-12-15 10:42:50
4172
原创 Android检测网络状态&监听网络变化
网络状态改变、用户信息改变(帐户的钱),第一时间就要想到用观察者模式来实现广播接收者,简单地把网络的变化通过接口抛出去package com.qkt.face.et.receiver;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.
2021-12-14 11:06:33
15253
3
原创 全志A40跑分
全志A40i处理器代表了Allwin在智能工业控制领域的最新成就。该处理器适用于需要3D图形、高级视频处理的应用程序。用户接口丰富、质量高、功耗低、系统集成度高。A40i主要应用于基于视觉交互的工业控制产品。A40i芯片特性:可以在4车道MIPIDSI显示器、RGB面板或双通道LVDS面板上显示内容。也支持CVBS-OUT和HDMIV1.4支持双cmos传感器并行接口和4通道cvbs-in,能够执行多通道视频记录。A40I达到工业级标准,运行温度达到AEC-Q100级标准。集成音频编
2021-12-09 15:34:35
694
原创 Android TV 遥控器切换主副屏
private final List<CameraPreviewHolder> cameraPreviewHolderList = new ArrayList<>(2);cameraPreviewHolderList.get(1).toSecondary();//用较小尺寸创造副屏public boolean onKeyDown(int keyCode, KeyEvent event) { AppLogger.e("keyCode=" + keyCode +.
2021-11-05 15:36:21
1840
原创 byte转Bitmap
public static Bitmap byteToBitmap(byte[] imgByte) { InputStream input = null; Bitmap bitmap = null; BitmapFactory.Options options = new BitmapFactory.Options(); options.inSampleSize = 1; input = new ByteArrayInputSt.
2021-11-05 15:28:02
2529
原创 Android修改整个APP字体
1下载ttf字体到assets下2Application的oncreate()通过反射方法中修改APP默认字体 @Override public void onCreate() { super.onCreate(); replaceSystemDefaultFont(this); } public void replaceSystemDefaultFont(Context context) { //這里我们..
2021-10-28 16:38:34
2090
原创 Gson解析
// 使用new方法Gson gson = new Gson(); // toJson 将bean对象转换为json字符串String jsonStr = gson.toJson(user, User.class); // fromJson 将json字符串转为bean对象Student user= gson.fromJson(jsonStr, User.class); // 序列化ListString jsonStr2 = gson.toJson(list); // 反序列化成L.
2021-10-21 15:15:38
105
原创 EventBus原理
1、在register的时候,Eventbus类通过反射的方式,获取注册对象的所有带有@Subscribe注解的接收方法,不能是static和非public的,同时数据参数只有一个, 然后放到一个列表中。(如果在类中找不到接收方法,将会报异常)2、发消息的地方,post方法,通过PostingThreadState 进行消息的分发,分发消息就是查找列表中是否有符合参数要求的对象,然后通过反射的消息,invoke调用对应对象的方法。3、在postToSubscription方法中,会区分事件的类型..
2021-09-14 14:30:44
314
安卓无障碍获取录屏权限
2024-10-11
SharedPreferencesUtil.java
2020-03-30
RetroSnaker-master.zip
2019-12-20
MyMvvm.zip
2019-12-12
安卓主流框架:mvp+retrofit2
2019-11-25
AlibcSDKApplication-master.zip
2019-05-15
Sqlite基本操作,历史记录大于10条自动删除
2018-12-18
pinyin4j-2.5.0.jar
2018-12-04
AAPT2 aapt2-3.6.1-6040484-windows
2024-03-06
小米手机安卓14无障碍获取截屏权限
2024-03-06
小米手机安卓14无障碍获取截屏权限
2024-03-06
安卓隐藏显示桌面图标
2023-09-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人