自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

TLuffy的博客

Android

  • 博客(117)
  • 资源 (3)
  • 问答 (4)
  • 收藏
  • 关注

原创 Android 实现MQTT客户端,用于门禁消息推送

当setCleanSession为true时,客户端掉线或服务端重启后,服务端和客户端会清掉之前的 session, 重连后客户端会有一个新的session。离线期间发来QoS=0,1,2的消息一律接收不到,且所有之前订阅的topic需要重新订阅。当setCleanSession为false时, 客户端掉线或服务端重启后,服务端和客户端不会清除之前的session。// 在尝试重新连接之前,它最初将等待1秒,对于每次失败的重新连接尝试,//连接丢失的情况下,客户端将尝试重新连接到服务器。

2023-08-04 15:34:50 837

原创 ADB命令记录

adb shell am start 包名/.MainActivity。adb connect ip:5555 端口号带不带都行。adb devices 端口号带不带都行。

2023-06-02 10:47:28 208

原创 Android compose 一个简陋的登陆页面

class LoginActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { GoodNewsTheme { // A surface container using the 'background'

2023-04-26 09:58:24 295 1

原创 python __lt__ __gt__ 重载运算符

【代码】python __lt__ __gt__ 重载运算符。

2023-03-08 16:12:59 229

原创 通过蓝牙芯片(HC-05)与手机 APP 通信

例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)

2023-03-08 16:04:34 892

原创 python读取excel表格数据

python读取excel表格数据,并判断有效行数和列数,转换单元格内容为日期时间的格式

2023-03-07 17:49:25 1664

原创 python 执行sql语句,时间转换遇到的坑

因为python执行的sql中的DATE_FORMAT(add_time,讲sql中的DATE_FORMAT(add_time,与python的参数。

2023-02-24 16:39:43 405

原创 UNI-APP学习

官方网页uni-app是一个使用Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台。即使不跨端,uni-app同时也是更好的小程序开发框架。具有vue和微信小程序的开发经验,可快速上手uni-app为什么要去学习uni-app?

2023-02-23 15:29:44 517

原创 windows10下安装Python虚拟环境virtualenvwrapper-win

记录

2023-01-04 17:13:31 231

原创 Win10编译Android版本的FFmpeg库

下载地址:MSYS2安装完成后打开MSYS2执行如下命令, 安装所需要的工具链下载android NDK我在Android Studio里面已经下载过了,没有的可以自己百度去官网下载NDK我用的这个版本NDK切换至分支在ffmpeg的文件下找到configure,用编辑器打开替换成:找到替换成:保存文件,使用MSYS2 MINGW64进入到ffmpeg根目录下执行来跑一边配置文件需要自己替换对应目录我使用的api是23将完成的脚本保存为build_android.sh,放到源码目

2022-12-06 21:30:00 980

原创 课堂点名H5

/ 通过获取一个随机的数组下标实现随机获取一个名字,并将这个名字赋值给变量random。// // 当flag标志为true时,开始刷新,文字变更。// 当flag标志为false时,点击按钮让刷新停止;// button.innerHTML = '停止';// 当flag标志为true时,开始刷新,文字变更。// 将开始与停止按钮绑定到按钮上,并通过按钮控制。// // 标志变更。"李大大,崔大大,王大大,赵大大"// 监听回车事件。

2022-10-12 16:35:45 290

原创 virtualxposed 检测Android隐私合规问题

点击下面菜单按钮进入菜单页面,点击添加应用,把需要检测的APP和。下载压缩文件,解压获取apk安装在手机上。可以看到刚才添加的两个应用,一个是。可以按照自己需求自行修改代码。下载,需要运行到手机上。,一个是你自己的APP。......

2022-08-30 22:00:00 1856 3

原创 VUE项目笔记

[参考学习网站](https://element.eleme.cn/#/zh-CN/component/installation)跳转页面传递对象 //传参 this.$router.push({name: 'Edit', query: {data: row}}); //接收参数 this.$route.query.data.name this.$route.query.data.id跳转页面传递参数 //传参 this.$router.push(`/edi.

2022-05-25 11:36:11 106

原创 算法题练习:棋盘放麦子

问题描述国际象棋共有 64格,请在第 1 个棋盘格放 1 粒麦子,在第 2 个棋盘格放 2 粒麦子,在第 3 个棋盘格放 4 粒麦子,在第 4个棋盘格放 8 粒麦子,…后一格的数字是前一格的两倍,直到放完所有棋盘格。请你借助计算机准确地计算,到底需要多少粒麦子?代码实现fun main(){ // 公式求 var sum:BigInteger = BigInteger.valueOf(0) var m: BigInteger sum = BigInteger.v

2022-04-28 13:33:39 605

原创 算法题练习:吃鸡蛋

问题描述小明家里有 n 个鸡蛋。每天早上,小明都要吃 1 个鸡蛋作为早餐。小明家里还有一个母鸡。母鸡会在第 m,2m,3m… m,2m,3m…天的晚上下蛋,每次只下 1 个蛋。请问,连续多少天以后,小明就没有早餐鸡蛋吃了?要求输入:n = 9, m = 3思路吃鸡蛋这题本质上就是一个简单的模拟问题,模拟这一个循环过程。一开始有n个鸡蛋,每天-1,如果是m的倍数,那么鸡蛋的数目等于n+1。直到最后n为0,此时鸡蛋吃完了,输出此时的天数。代码实现fun main(){ var

2022-04-28 09:48:21 238

原创 算法题练习:猴子分香蕉

问题描述5 只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉。第2只猴子醒来,把香蕉均分成5堆,还剩下2个,就吃掉并把自己的一份藏起来继续睡觉。第3只猴子醒来,把香蕉均分成5堆,还剩下3个,就吃掉并把自己的一份藏起来继续睡觉。第4只猴子醒来,把香蕉均分成5堆,还剩下4个,就吃掉并把自己的一份藏起来继续睡觉。第5猴子醒来,重新把香蕉均分成5堆,此时正好不剩!请计算一开始最少有..

2022-04-28 09:35:58 614

原创 JNI - JAVA 数据类型转换

基本数据类型转换在 Java 中传递的参数类型是 int,而在 JNI 中就成了 jint,这就涉及到 Java 到 JNI 的数据类型转换。Java 类型Native 类型字节长度booleanjboolean8位bytejbyte8位charjchar16位shortjshort16位intjnit32位longjlong64位floatjfloat32位doublejdouble64位...

2022-04-19 21:45:00 2429

原创 Android MediaPlayer播放MP3 字节流文件

private MediaPlayer mediaPlayer = null; public void PlayAudio(String base64EncodedString){ try{ String url = "data:audio/mp3;base64,"+base64EncodedString; if (mediaPlayer == null){ mediaPlayer = new Med..

2022-04-14 18:09:22 2921

原创 饺子播放器使用IJKPlayer播放MP4文件

JZVideo项目地址问题汇总视频设置禁止回退快进 MyJzvdStd.findViewById(R.id.bottom_seek_progress).setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { return true;.

2022-03-30 22:45:00 995

原创 JNI 与 NDK

JNIJava Native Interface,即 Java本地接口。JNI 是属于Java的,与Android无直接关系作用Java代码和 C、C++ 互相调用NDKNative Development Kit,是 Android的一个工具开发包。NDK是属于 Android 的,与Java并无直接关系。作用通过 NDK在 Android中 使用 JNI与本地代码(如C、C++)交互NDK项目构建新建工程,按图选择,然后点Next–>Finish即可项目目录结构项目目录如图

2022-03-29 21:45:00 3045

原创 【笔记】FFmpeg常用命令

常用命令分享记录分离视频音频流分离视频文件中的视频ffmpeg -i 源视频文件 -vcodec copy -an 输出文件分离视频文件中的音频,两种方式都可以ffmpeg -i 源视频文件 -acodec copy -vn 输出视频文件ffmpeg -i 111.mp4 -an 去掉音频.mp4视频转码MP4 flv互转// 640k表示的码率ffmpeg -i 111.mp4 -b:v 640k 111.flvffmpeg -i 111.flv -b:v 640k 111.

2022-03-21 22:15:00 2951

原创 gson解析列表对象

Gson gson = new Gson(); A a= gson.fromJson(jsons, new TypeToken<List<A>>() {}.getType());

2021-12-24 09:52:24 1033 1

原创 获取Android应用 Release MD5值

用apk直接查看把apk的格式改为压缩文件,进行解压进入获取META-INF文件夹下,找到CHSYTBKT.RSA文件打开cmd ,输入命令keytool -printcert -file CHSYTBKT.RSA通过签名文件获取找到签名文件所在的目录位置输入命令keytool -v -list -keystore 加上你签名文件目录路径...

2021-12-14 17:27:33 1627

原创 ADB命令

查询手机cpu命令行adb shell getprop ro.product.cpu.abi

2021-09-16 16:18:22 81

原创 git相关命令

笔记https地址改为ssh形式https一直超时git remote set-url origin 后面加上你的地址查看远程地址git remote -vtag//本地分支 git tag// 获取远程指定标签git fetch origin tag 2.4.7//打标签git tag -a v1.4 -m "my version 1.4"//推标签git push origin v1.5 //推指定标签git push origin --tags //

2021-08-20 16:13:50 80

转载 android TextView文字换行内容末尾跟图标或其他View的实现

效果如下 import android.content.Context; import android.text.Layout; import android.text.StaticLayout; import android.text.TextPaint; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; import android.widget.Te.

2021-08-06 18:35:36 1924 1

原创 Android OpenCv实现拍照搜题功能实现步骤

分11步处理自定义相机扫描框实时扫描试卷二维码功能扫描二维码获取当前试卷信息自定义相机按试卷比例绘制裁剪框OpenCv对用户拍照图片进行矫正对矫正后的图片,使用OpenCv对图片进行处理,获取到图片定位点信息。根据图片定位点算出每张图片原点的偏移量获取到试卷起始定位点,根据第二步获取到的试卷坐标对图片进行题型框选(需要算原图和用户拍照图的宽高比例对坐标进行缩放处理,否则会圈的很不准确)OpenCv对框选内容进行图片切割、压缩。图片上传服务器进行识别搜题服务器返回各题识别结果和当前小图的.

2021-07-11 22:29:04 2228 5

原创 免费工具网站

MP4转GIFGIF压缩

2021-05-24 14:56:49 159

原创 Android OpenCv4 图像切割

实现效果题型框选图片分割OpenCv实现分割代码 /** * * @param src 待切分的图 * @param rects 切分图的坐标信息 */ public static void imgSplit(Mat src, List<Rect> rects){ File pictureFile = new File(Environment.getExternalStorageDirectory(), "ImgS.

2021-05-21 22:59:30 903 5

原创 Android 自定义Toast

/** * 修改toast显示到中间位置 * * @param message 需要展示的信息 */ public void showCenterToastCenter(String message) { LayoutInflater inflater = getLayoutInflater(); LinearLayout linear = (LinearLayout) inflater.inflate(R.layo...

2021-05-18 20:20:49 129

原创 Android OpenCv4 图像透视变换之图片矫正

实现效果相机拍照,对图片进行倾斜矫正图片矫正实现步骤读取图片到内存。为两张图检测ORB特征点。特征匹配:找到两图中匹配的特征点,并按照匹配度排列,保留最匹配的一小部分。然后把匹配的特征点画出来并保存图片。计算单应性矩阵:由于上一步产生的匹配的特征点不是100%正确的,需要调用findHomography 函数来计算多个二维点对之间的最优单应性变换矩阵。透视变换:有了精确的单应性矩阵,就可以把一张图片的所有像素映射到另一个图片。使用透视变换 来完成图片矫正。透视变换透视变换(P.

2021-05-17 20:52:55 2551 4

原创 Android OpenCv4 斑点检测,实现图片特征点绘制

结合以前功能点做一个特征点绘制实现步骤图片灰度化高斯滤波二值化图片腐蚀图片膨胀斑点检测绘制特征点前五个已经在前几章说过了,在这就不再说了,有不明白的可以回去看一下。斑点检测,斑点j是指二维图像中周围有颜色差异和灰度差异的区域,因为斑点代表的是一个区域,所以其相对于单纯的角点,具有更好的稳定性和更好的抗干扰能力.斑点通常是指与周围有着颜色和灰度差别的区域。代码会注释已经很清楚了 public static List<Point> getPoint(Contex.

2021-05-13 23:08:35 580

转载 Android 获得View截屏最优方案

Android 获得View截屏最优方案/** * 获得View的截屏 Bitmap * * @param view * @return */public static Bitmap getMagicDrawingCache(Context context,View view,boolean quick_cache) { Bitmap bitmap = (Bitmap) view.getTag(R.id.cacheBitmapKey); Boolean dirty = (Bo.

2021-05-13 11:26:36 494

原创 ​Android OpenCv4 图像形态学之腐蚀和膨胀

图像腐蚀图像腐蚀的作用是将目标图像收缩,运算效果取决于结构元素大小内容以及逻辑运算性质。腐蚀处理可以表示成用结构元素对图像进行探测,找出图像中可以放下该结构元素的区域。腐蚀是一种消除边界点,使边界点内缩的过程。可以用来消除小且无意义的目标物。/** src 输入的待腐蚀图像,图像的通道数可以是任意的,但是图像的数据类型必须是CV_8U,CV_16U,CV_16S,CV_32F或CV_64F dst 腐蚀后的输出图像,与输入图像src具有相同的尺寸和数据类型 kernel 用于腐蚀.

2021-05-12 21:42:33 529

原创 Android OpenCv4 边缘检测+轮廓绘制出图像最大边缘

Canny边缘检测基于Canny算法的边缘检测主要有5个步骤,依次是高斯滤波、像素梯度计算、非极大值像素梯度抑制、滞后阈值处理和孤立弱边缘抑制。Canny在有噪声的情况下表现好不好,取决于前面的降噪过程,可以手动做高斯处理提高识别率。/** image 输入图像,必须是CV_8U的单通道或者三通道图像。 edges 输出图像,与输入图像具有相同尺寸的单通道图像,且数据类型为CV_8U。 threshold1 第一个滞后阈值。 threshold2 第二个滞后阈值。 ap.

2021-05-11 22:16:01 1217 9

原创 Android OpenCv4 高斯滤波

高斯滤波高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。 通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。高斯滤波是利用高斯核的一个2维的卷积算子,用于图像模糊化(去除细节和噪声)。/**src 待高斯滤波图像,图像可以具有任意的通道数目,但是数据类型必须为C.

2021-05-11 20:42:56 361 1

原创 Android OpenCv4 二值化

图像二值化( Image Binarization)就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。在数字图像处理中,二值图像占有非常重要的地位,图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓。方法以及参数介绍/** src 待二值化的多通道图像,只能是CV_8U和CV_32F两种数据类型 dst 二值化后的图像,与输入图像具有相同的尺寸、类型和通道数 thresh 二值化的阈值 maxval 二值化过程的最大值,此函数只在T...

2021-05-10 22:59:20 456 1

原创 Android OpenCv4 绘制多边形

集成非常简单,直接按Module形式导入open sdk即可绘制矩形方法 /** img 输入图像 pt1 左上起点 pt2 右下终点 color 绘制直线的颜色 thickness 直线宽度。若为负值,表示填充 lineType 边界的类型,可取值为FILLED ,LINE_4 ,LINE_8 和LINE_AA shift 点坐标中的小数位数 **/ public static void rectangle(Mat img, Point pt1,..

2021-05-10 21:42:22 422 1

原创 Android SurfaceView设置圆角

直接复制即可用 mSurfaceView.setOutlineProvider(new ViewOutlineProvider() { @Override public void getOutline(View view, Outline outline) { Rect rect = new Rect(); view.getGlobalVisibleRect(rect); .

2021-04-26 08:37:17 2475 1

原创 Android监听手机是否水平

需求需要坐一个类似作业帮拍照,判断用户是否把手机放平的功能。使用手机重力感应来实现Activity实现SensorEventListener方法 //注册感应器 SensorManager sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETE

2021-04-21 22:27:22 1131 3

lottie-android.rar

Android端lottie的Demo,包含lottie基本用法、高级用法。

2019-07-10

深入探索Android热修复技术原理7.3Q.pdf

Sophix-阿里第三代非侵入式热修复书籍,阿里原创书籍。深入探索Android热修复技术原理

2019-06-13

viewpagerCycle

2016-08-04

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除