- 博客(249)
- 资源 (1)
- 收藏
- 关注
原创 OpenHarmony v4.1 Release设置应用随系统自动启动
OpenHarmony 4.1 版本中的 Ability Manager Service (AMS) 提供了应用自启动管理功能,允许系统控制哪些应用可以在系统启动时自动运行。这需要以下两个主要步骤:启用系统的自启动管理支持开发一个系统应用来管理自启动配置。
2025-03-31 15:57:11
524
原创 鸿蒙(OpenHarmony/HarmonyOS)开发中常用的命令行工具及操作大全
鸿蒙(OpenHarmony/HarmonyOS)开发中常用的命令行工具及操作大全,涵盖设备管理、应用调试、日志查看等核心场景,帮助你高效开发
2025-02-26 15:10:02
955
原创 Android 开发 Java中 list实现 按照时间格式 yyyy-MM-dd HH:mm 顺序
如果你有一个包含日期时间字符串(如 “2020-03-26 10:00”)的列表,并希望根据这些日期时间字符串进行倒序排序,你可以使用 Collections.sort 方法结合一个自定义的比较器。
2024-11-07 11:17:19
747
原创 Android Greendao的数据库复制到设备指定位置
这里yourApplicationContext是你的应用上下文,通常可以是你的Activity、Service或者通过调用getApplicationContext()获取的Context。dbName就是你在GreenDAO中定义的数据库文件名。在这个例子中,"your-database-name.db"就是你想要获取的数据库文件名。
2024-09-12 11:25:33
587
原创 Android 11(API 级别 30)及以上版本中,将Bitmap保存到设备上
saveBitmapToMediaStore(getContentResolver(),bitmap,“图片名”,mimeType);
2024-09-12 10:08:54
731
原创 Android studio MyDialog extends Dialog 自定义弹框怎么去掉下面的导航栏
这里使用的SYSTEM_UI_FLAG_HIDE_NAVIGATION标志是用来隐藏导航栏的,SYSTEM_UI_FLAG_FULLSCREEN让应用使用全屏模式,SYSTEM_UI_FLAG_IMMERSIVE_STICKY确保当用户交互时,导航栏和状态栏会短暂地出现然后再次自动隐藏。
2024-08-24 18:04:16
279
原创 nvm 切换、安装 Node.js 版本
nvm install vXX // 安装对应vXX版本的node。nvm uninstall vXX // 卸载对应vXX版本的node。nvm ls // 查看已安装node版本。nvm use xxx // 选择使用XXX版本。配置环境变量(我的是window11)双击,一直无脑下一步,即可安装成功。配置好后,点确定一层一层关闭。打开任务栏设置–搜环境变量。往下拉找到Assets。
2024-08-07 11:27:32
324
原创 Android studio CPU 唤醒而同时允许屏幕关闭时
在Android中,如果你想在设备屏幕关闭时保持CPU活跃(即不进入深度睡眠),你可以使用PowerManager类来获取一个PARTIAL_WAKE_LOCK。这个WakeLock类型允许设备在屏幕关闭时仍然保持CPU运行和部分硬件(如Wi-Fi)活跃。
2024-06-06 11:05:32
562
原创 Caused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed to apply plugin ‘com.a
【代码】Caused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed to apply plugin ‘com.a。
2024-04-16 09:31:43
593
1
原创 Android 获取状态栏高度、底部导航栏高度、ActionBar高度的方法
【代码】Android 获取状态栏高度、底部导航栏高度、ActionBar高度的方法。
2024-04-12 10:49:24
1437
原创 Android 开发 OCR Tesseract4Android图片文字识别 巨详细全部代码教程
是Optical Character Recognition(光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。1、 Android 4.1 (API 16) 或更高版本。2、JDK版本是Java 17。
2024-03-29 16:46:10
6013
10
原创 Android开发 OCR:通过Tesseract实现图片文字识别
官网奉上简单地说,Tesseract 就是OCR所说的“识别软件”的具体实现其实看官网已经是5、6年前就开始不维护了这里也指明了,不在维护,可前往 Tesseract Tools 的一个分支Tesseract4Android官网,这里还是写一下吧,做参考。
2024-03-29 16:13:40
3108
2
原创 Android 开发 OCR 拍照 + ML Kit 识别文字 巨详细全部代码教程
官网奉上ML Kit是一个由Google开发的跨平台移动SDK(Android和iOS)。它带来了谷歌的端上机器学习能力。ML Kit所有在端上运行的API允许实时和离线功能。这也意味着这些功能在离线模式下也可用。ML Kit可以识别超过100种语言的文本,包括原生拼写及罗马转写系统,比如汉语、俄语、印地语、英语、希腊语等。点击查看支持语言的完整列表。
2024-03-29 10:44:20
6554
3
原创 Error:No such property: GradleVersion for class: JetGradlePlugin
插件所需的Gradle 版本在gradle目录下的gradle-wrapper.properties文件中,如图。Android Gradle 插件版本在项目的根目录(不是App目录)下的build.gradle文件中,如图。Gradle版本对照表。
2024-03-22 17:08:52
322
原创 Android Studio 编译报错 ( Could not find com.android.tools.build:gradle:4.2.1.)
检查下根目录下的 build.gradle 配置 , 是否只配置了 jcenter 仓库 ,加上。
2024-03-22 16:56:54
518
原创 java.nio.file.FileSystemException:......xx.jar
java.nio.file.FileSystemException 异常通常意味着在文件系统层面出现了某种错误。在你提供的错误信息中,乱码部分提示了操作无法完成,很可能是因为文件 out.jar 正在被其他进程使用。
2024-03-13 17:09:20
1095
原创 Android fragment的使用案例
效果图:两个点击事件,显示不同的fragment布局默认是如下图,点击页面一也如下图点击页面二如下图:Android Fragment的生命周期是与其所在的Activity紧密相关的。当一个Fragment被添加到Activity中时,它将经历一系列的生命周期回调方法。以下是Fragment生命周期的主要阶段需要注意的是,Fragment的生命周期受其所属的Activity影响。例如,当Activity进入暂停状态时,其中的所有Fragment也会进入暂停状态。
2024-03-07 17:17:27
770
原创 Cannot fit requested classes in a single dex file (# methods: 120306 > 65536 ; # fields: 74726 > 655
原因:“当您的应用及其引用的库包含的方法数超过 65536 时,您会遇到一个构建错误”,也就是收到了Android的64k引用的限制,那什么是64k的引用限制呢?文档:Android 应用 (APK) 文件包含 Dalvik Executable (DEX) 文件形式的可执行字节码文件,这些文件包含用来运行应用的已编译代码。Dalvik Executable 规范将可在单个 DEX 文件内引用的方法总数限制为 65536,其中包括 Android 框架方法、库方法以及您自己的代码中的方法。
2024-01-03 14:30:09
1279
原创 Could not resolve all files for configuration ‘:app:debugCompileClasspath‘.
【代码】Could not resolve all files for configuration ‘:app:debugCompileClasspath‘.
2023-12-06 16:07:20
1131
原创 Android Edittext 实现输入小写字母显示大写字母
在这个例子中,我们创建了一个自定义的InputFilter,它将所有的小写字母转换为大写字母。然后我们将这个过滤器应用到EditText上,这样每次输入小写字母时,显示的都会是大写字母。可以使用setFilters方法配合InputFilter来实现这个功能。
2023-09-21 16:38:33
732
原创 Android 实现 RecyclerView下拉刷新,SwipeRefreshLayout上拉加载
【代码】Android 实现 RecyclerView下拉刷新,SwipeRefreshLayout上拉加载。
2023-08-08 11:22:53
2414
原创 Android 进程与进程之间的通信--Messager 详细教程,两个app实现
Messenger是一种轻量级的IPC方案,它的底层实现其实就是AIDL.跨进程通信使用Messenger时,Messenger会将所有服务调用加入队列,然后服务端那边一次处理一个调用,不会存在同时调用的情况.而AIDL则可能是多个调用同时执行,必须处理多线程问。
2023-07-19 14:35:53
1112
原创 Android 进程与进程之间的通信--AIDL详细教程,以传递对象为例,两个app实现
AIDL 使用一种简单语法,允许您通过一个或多个方法(可接收参数和返回值)来声明接口。参数和返回值可为任意类型,甚至是 AIDL 生成的其他接口。
2023-07-14 15:31:52
1441
原创 java.lang.IllegalArgumentException: Unexpected char 0x0a at 56 in Content-Signature value:Base64编码字符
要解决此问题,可以在对字符串进行编码时使用Base64.NO_WRAP标志而不是Base64.DEFAULT。这将确保输出中不包含任何换行符。错误是由Base64编码字符串中的意外换行符(0x0a)引起的。
2023-07-12 14:22:11
948
原创 Android 进程与进程之间的通讯 详解及实现步骤 -- 两个app实现
2、输入自定义AIDL名字,点击OK,即可创建出AIDL接口文件,文件中会默认生出一个basicTypes方法,该方法描述了AIDL中可以使用的基本类型(int, long, boolean, float, double, String)。2.编译器通过*.aidl文件的描述信息生成符合通信协议的Java代码,我们无需自己去写这段繁杂的代码,只需要在需要的时候调用即可,通过这种方式我们就可以完成进程间的通信工作。4、创建一个实现类,继承刚才创建的AIDL的名称里的Stub类,并实现接口方法。
2023-07-10 17:15:09
1568
Android音频录制,以.wav格式结尾,最接近原始声音的音频APP
2022-04-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人