- 博客(117)
- 资源 (15)
- 收藏
- 关注
原创 安卓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 89
原创 JadxGUI反编译工具
包名、公钥和签名MD5获取方式有多种,本文以使用JadxGUI工具获取为例。下载JadxGUI工具:下载安装完成后,使用此工具打开apk包。公钥与签名MD5值获取:查找文件。
2024-01-23 12:51:52 427
原创 ChatSDK 全双工语音识别库
是对AIUI的语音SDK封装,套餐费用最低在6万/年:是对原始msc的语音SDK封装,相对AIUI便宜很多:是对百度语音SDK封装,百度号称永久免费:AIUI网络测试工具-折线图动态测试可持续观测共同特点:实现了全双工语音识别iat、合成tts、和语义nlp部分接口的封装,经过稳定测试,通过简洁的调用方式来满足开发需求。两者核心类都是 SpeechManager。
2024-01-11 18:05:11 1064
原创 安卓10创建文件夹失败
最近在做拍照录像功能,已经有了文件读写权限,却发现在9.0手机上正常使用,但是在安卓12系统上根本没有创建文件夹。经过研究发现,创建名称为“DCIM”的文件夹可以,别的又都不行。而且是getExternalStorageDirectory和getDataDirectory都不行。而且要在Androidmainfest 里面的application添加:android:requestLegacyExternalStorage=“true”下面贴出文件目录代码。
2023-09-01 17:35:07 1136
原创 安卓副屏开发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 950
原创 安卓连接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 1085
原创 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 5526
原创 安卓通过反射找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 1782 2
原创 adb 返回上一页
打开系统设置界面adb shell am start -n com.android.settings/.Settings返回上一个界面adb shellinput keyevent BACK
2021-12-27 17:02:40 3221
原创 安卓利用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 2994
原创 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 2580
原创 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 14754 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 602
原创 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 1759
原创 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 2478
原创 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 1772
原创 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 72
原创 EventBus原理
1、在register的时候,Eventbus类通过反射的方式,获取注册对象的所有带有@Subscribe注解的接收方法,不能是static和非public的,同时数据参数只有一个, 然后放到一个列表中。(如果在类中找不到接收方法,将会报异常)2、发消息的地方,post方法,通过PostingThreadState 进行消息的分发,分发消息就是查找列表中是否有符合参数要求的对象,然后通过反射的消息,invoke调用对应对象的方法。3、在postToSubscription方法中,会区分事件的类型..
2021-09-14 14:30:44 279
原创 aar多层引用Add library...aar‘ to classpath
implementation单层引用,只能引用前aar包层api 多层引用,引用当前aar包层,以及aar包引用的aar包层用api替换implementationimplementation ...aar改为api fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
2021-08-13 14:39:27 431
原创 安卓Room数据库的使用
创建实体类加入依赖implementation "android.arch.persistence.room:runtime:1.0.0"annotationProcessor "android.arch.persistence.room:compiler:1.0.0"创建实体类@Entitypublic class Word { // 实体类 @PrimaryKey(autoGenerate = true) // 设置主键,并且自动生长 private int i.
2021-08-07 11:37:17 245
原创 UnsatisfiedLinkError libSerialPort
解决办法:在Android.mk文件中加入:LOCAL_LDFLAGS += -fPIC,重新编译Google开源库的源码,生成.so库## Copyright 2009 Cedric Priscal## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtai.
2021-08-04 20:58:57 228
原创 安卓策略模式
public interface FuGuiDoorInterface { /** * 获取门状态 * @param type 门号 * @return 门状态 */ String getDoorState(String type);}public class FuGuiManager { /** * iot门的实例接口 */ private FuGuiDoorInterface mFuGuiDoorI.
2021-07-19 15:01:35 108
原创 Android 串口打开读写权限
连接OTG,用adb命令adb root //获取root权限,出现restarting adbd as root表示有root权限adb shellcd devchmod 777 tty* (可以指定具体的串口号,tty*是把所有的tty开头的文件权限全部设置为可读可写)
2021-07-16 15:35:14 2635
转载 安卓正则工具类
import java.util.regex.Pattern;/** * 正则工具类 * 提供验证邮箱、手机号、电话号码、身份证号码、数字等方法 */public final class RegexUtils { /** * 验证Email * @param email email地址,格式:[email protected],[email protected],xxx代表邮件服务商 * @return 验证成功返回true,验证失败返回false.
2021-05-12 14:31:48 158
原创 Rxjava编写安卓倒计时
//验证码倒计时 private void initRxTimer() { final int count = 60; //倒计时时间 Observable mObservable = Observable.interval(0, 1, TimeUnit.SECONDS)//设置0延迟,每隔一秒发送一条数据 .take(count + 1)//设置循环次数 .subscribeOn(Scheduler..
2021-04-30 16:14:40 209 1
原创 edittext遮挡键盘
配置文件添加:windowSoftInputMode=”adjustResize”但是如果设置了沉浸式标题,还需要在布局文件的根节点上加上即可android:fitsSystemWindows=”true”
2021-03-30 18:23:44 87
原创 观察者模式实现Activity与Fragment之间通信
Activity中定义被观察的数据: private class ClearShopCarObservable extends Observable { public void postMessage(Object eventtype) { setChanged(); notifyObservers(eventtype); } }private ClearShopCarObservable clearShop.
2021-03-01 11:55:23 128
原创 gradle的全局配置
如果有多个module的配置是一样的,可以将这些配置提取出来,也就是使用全局配置。全局配置有多种方式,这里介绍其中的两种。1. 使用ext块配置在项目build.gradle中使用ext块,如下所示。GRADLE ext{ compileSdkVersion =28 buildToolsVersion ="28.0.3" minSdkVersion =15 targetSdkVersion =28} 在某个module的build.gradl
2021-02-20 16:27:06 909
转载 Android Jetpack架构组件(一)带你了解Android Jetpack
前言Android已经发展了11年,可以说是比较成熟的技术了,一开始时框架很少,也没有什么规范,所有的代码都是要自己写,比如网络请求,数据库请求,数据解析等等。后来出现了一些框架来帮助开发者快速进行开发,比如XUtils、Volley、OKHttp、EventBus等,随着框架越来越多,一个应用可以有多种技术选型,直接导致应用开发越来越不规范,导致做出来的应用质量参差不齐,这显然不是谷歌想看到的。谷歌随后推出了MVP和MVVM相关的官方例子,效果很一般,而且覆盖面只是在架构上,Goole I/...
2021-02-19 10:12:23 444
原创 单例模式
保证一个类仅有一个实例,并提供一个访问它的全局访问点。1,饿汉模式public class Single { //构造方法私有 private Single(){}; private static Single instance =new Single(); //对外提供唯一访问 public static Single getInstance(){ return instance; }}这种方法在类加载时初始化,类
2021-02-18 14:56:30 115 2
原创 安卓禁止录屏和截屏
我们在看一些精彩图片或直播的时候,有时候想要截个屏或者录屏,但是会提示无法抓取屏幕截图,录像也是黑的,那是怎么做到的呢,其实很简单一行代码:getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);...
2021-02-18 11:17:21 2214 3
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关注的人