
Android
文章平均质量分 58
i土豆程序猿
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
kotlin中的flow使用,Flow跟生命周期结合
/ 启动一个 Job 来发射数据delay(200) // 模拟一些工作e")stateFlow.emit(e) // 更新 StateFlow 的值// 订阅 StateFlowvalue")cancel() // 取消收集// 等待一段时间,确保 Job 运行job.cancelAndJoin() // 取消数据源的 Jobsubscription.cancelAndJoin() // 取消收集的 Job。原创 2025-01-14 16:17:39 · 808 阅读 · 0 评论 -
Android使用辅助服务AccessibilityService实现自动化任务
通过辅助服务,可以将一些人工操作自动化,从而解放用户的双手。不是每个event都能获取到Activity的,比如一些Toast,Dialog的事件,拿不到Activity;author: https://blog.youkuaiyun.com/keeng2008 有了这神器,能实现些什么新奇玩法呢?当辅助服务开启后,Service会开始运行,界面上的元素变动,窗口变动会回调onAccessibilityEvent。这样就已经注册好辅助服务,但是需要用户手动到“设置”中的“无障碍”,去启动无障碍功能。原创 2024-12-25 16:57:02 · 966 阅读 · 0 评论 -
Android上传到Minio本地存储
对于一般文件都能上传成功了,然后发现大文件时会报错,因为它对文件大小contentLenght使用int类型的参数,也就是超过2^31(大约1.9G)的文件会报错,无法传输;这时就需要使用分段上传了。其中的endpoint为minio服务器地址,如 http://172.18.18.8:10100, 该端口跟网页上使用的不一样,否则会提示该端口不支持上传。文件传输都是非常耗时的过程,分段的中途让它delay休息一下,调用put之后会堵塞当前线程的,最好都放要在IO线程完成。原创 2024-12-17 16:07:47 · 726 阅读 · 0 评论 -
Compose学习记录(3): ViewModel数据驱动更新组件
对于 LiveData,需要将 LiveData 转换为 State;在同一个Activity中创建的组件,它们其实只有一个实例共用。对于 Flow,需要将 Flow 转换为 State。在Compose函数中访问ViewModel。原创 2024-11-21 18:05:00 · 850 阅读 · 0 评论 -
gradle任务中下载资源文件
【代码】gradle任务中下载资源文件。原创 2024-09-30 10:44:21 · 346 阅读 · 0 评论 -
AprilTag视觉定位的Android实现
AprilTag是一个视觉基准库,在AR,机器人,相机校准领域广泛使用。通过特定的标志(与二维码相似,但是降低了复杂度以满足实时性要求),可以快速地检测标志,并计算相对位置。Apriltag提供了C编写的识别库,在github上找到AprilTag for Android项目,但是该项目把识别跟UI绑定在一起,不方便作为SDK引入到别的项目。于是尝试把识别能力提取成独立的Lib,然后生成aar就能轻松放到其它项目中了。原创 2024-07-25 17:52:14 · 649 阅读 · 0 评论 -
Compose学习记录(2)-组件状态
学习记录-Jetpack Compose 基础知识。原创 2024-06-26 18:19:21 · 275 阅读 · 0 评论 -
Gson解析会丢失默认属性值
可能内部类还要依赖于所在的上级类,而静态类是完全独立的,跟普通类没有什么区别。打印输出发现 gradually 值并没有设置为1,而是0.也就是普通类的属性能保留了,但是内部类的默认值丢失了。原创 2024-06-03 18:20:46 · 457 阅读 · 0 评论 -
Compose学习记录(1)-简单布局
谷歌Jetpack Compose 基础知识。Compose学习记录(1)原创 2024-05-27 16:09:59 · 443 阅读 · 0 评论 -
Android在后台读取UVC摄像头的帧数据流并推送
USB连接上会回调,onAttach, 本地判断连接上的USB设备是否UVC,如果是的话可以尝试调用连接该对象。如何判断该连接对象是UVC对象,如果名字中包含USBCam或 interfaceClass = USB_CLASS_VIDEO。使用原版的 saki4510t/UVCCamera 在预览过程中断开可能会闪退,这里使用的是。获取到的YUV帧可以使用其他推流SDK进行推流即可,比如使用阿里云推流SDK推流。这完成可以在后台进行推流,不需要UI上展示,节省设备的性能。添加UvcCamera依赖库。原创 2024-03-01 18:00:38 · 2065 阅读 · 2 评论 -
Java反射调用kotlin中的类,Object类,Companion对象
Java反射调用kotlin中的类,Object类,Companion对象。原创 2023-11-24 11:49:06 · 1698 阅读 · 0 评论 -
Android JNI学习:创建一个支持native的Module
Android JNI学习:创建一个native的Module原创 2023-03-10 18:21:53 · 357 阅读 · 0 评论 -
Windows使用opencv训练模型过程记录(提供样本)
Windows使用opencv训练模型过程记录首先按照这个指引安装好所需要的工具:Windows环境下训练OpenCV分类器Windows环境下训练OpenCV分类器_@陌阡的博客-优快云博客Python + pip下载 opencv_createsamples.exe和opencv_traincascade.exe准备训练库opencv_bin,自己拍照进行训练。自己试了几个训练结果,发现都不理想。一般训练识别不准确。后来经过多次尝试,觉得应该收集更多原创 2021-12-29 11:27:13 · 5924 阅读 · 2 评论 -
Android Databinding学习
一、启用Databindingandroid { dataBinding { enabled = true }}二、xml布局文件<layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com...原创 2021-08-09 15:04:42 · 500 阅读 · 0 评论 -
从OkHttp引入Cronet支持quic协议
HTTP/3在HTTP/2的基础上,增强了安全上的限制,且使用UDP传输降低丢包导致的头部阻塞、降低因为TCP的协议限制而导致的连接耗时高等问题,但是目前各大浏览器的支持范围不够广,暂时不建议在网页相关的服务上进行升级。但是其提高了传输效率,有必要在传输数据量较大的应用上进行升级,建议对HTTP/3支持的改造设计与研究,在规范成熟时发布支持HTTP/3协议的版本。> 前期在调研quic选型中,选择了Cronet作为客户端访问quic协议的网络库。为了方便现有项目中能快速的支持quic网络协议,下面原创 2021-07-28 10:55:19 · 4428 阅读 · 2 评论 -
用Android Studio开发Java App (Runnable Jar)
## 步骤一:新建工程及module若已有Android Studio工程,可在现有工程的基础上来建一个module来完成java代码的编写。若无工程,我们可先自行新建一个Android工程;再新建一个Module,然后删除其中的app。对于Android Studio的新建工程,在此不予以赘述;对于如何在工程的基础上新建module,其具体步骤如下:File -----> New ------> New Module... -----> JavaLibrary原创 2021-07-15 10:49:36 · 576 阅读 · 0 评论 -
Flutter实现帧动画
import 'package:flutter/material.dart';// 帧动画Imageclass FrameAnimationImage extends StatefulWidget { final List<String> _assetList; final double width; final double height; int inter...原创 2019-01-29 17:19:04 · 4410 阅读 · 0 评论 -
Robolectric测试框架使用文档
Robolectric使用文档--keeng2008@qq.com 2016-01-071.测试驱动你的Android应用代码在Android模拟器或者手机上运行单元测试是很漫长的。每次编译、部署、启动应用都需要耗时1分钟以上。有没有更好的办法呢?Robolectric 是一个针对于Android SDK 的单元测试框架,使用它可以测试驱动你的Android应用程序的开发。测试用例原创 2016-08-16 14:45:05 · 1496 阅读 · 0 评论 -
Appium使用教程_Android篇
--by keeng2008@qq.com 2016-05-16一、Appium介绍Appium是一个开源的自动化测试工具,其支持iOS和安卓平台上的原生的,基于移动浏览器的,混合的应用。1、Appium 理念Appium是基于以下的四个理念设计来满足移动平台测试自动化的要求的:1)您不应该因为需要自动化测试您的应用而不得不以任何形式去重新编译或者修改你的app2)您不应该原创 2016-05-16 16:40:39 · 129386 阅读 · 10 评论