移动开发

Android 10.0 锁屏壁纸 LockscreenWallpaper(三)

学习笔记: 一、设置壁纸 通过系统设置进行锁屏壁纸和桌面壁纸的设置。 Setting 部分的代码: // DefaultWallpaperPersister.java private int setStreamToWallpaperManagerCompat(InputStream inputStream, boolean allowBackup, int whic

Android Jetpack架构组件(十一)— DataStore

一、DataStore简介 Jetpack DataStore 是一种数据存储解决方案,允许您使用协议缓冲区存储键值对或类型化对象。DataStore 使用 Kotlin 协程和 Flow 以异步、一致的事务方式存储数据。 Preferences DataStore 和 Proto DataStore DataStore 提供两种不同的实现:Preferences DataStore 和 Prot

iOS开发之UILabel末尾增加展开折叠—Swift

前言 针对超过指定行数显示展开,点击后显示全文,简单封装了一个控件,在此抛砖引玉供大家参考。 特性 支持富文本 支持内边距 支持AutoLayout 原理 使用CoreText切割字符串后,计算截断符的宽度,按照宽度重新生成新的字符串。这里核心在于如何保障新的字符串不会超出设置的行数。核心代码参考如下: func reload() { guard let attributedText

iOS 检查网络连接及监听

在Swift中,您可以使用以下步骤来获取网络权限: 方式一: 在Info.plist文件中添加以下键值对: <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>

[Input] App端消费事件流程

这是Android Input系列的第三篇文章,前面两篇的地址如下: Input ANR是如何产生的 [Input] socket连接的创建 今天主要讲讲App端在收到事件之后,是如何消费这些事件的。 首先,我们看一个事件分发的典型Java堆栈: image.png 可以看到,事件是从nativePollOnce分发出来的,调到了InputDispatcherReceiver的o

【安卓调试笔记】 一、首次使用环境部署及简单调试

安卓调试笔记一、首次使用环境部署 文章目录 安卓调试笔记 前言 一、投屏调试 二、常用APK 三、常用ADB调试指令 1.环境部署: 2.常用指令: 3.tinycap指令: 4.板载GPIO调试: 总结 前言记录瑞芯微RK3399/RK3576/RK3588安卓系统主控

Android-推荐一个与H5交互的库(JsBridge)

图片来源网络,入侵必删 最近项目当中,需要与H5进行交互。如果快速实现需求呢?虽然很多框架都支持,但是我们前端大佬指定要使用JsBridge来进行交互。 JsBridge 这个开源库在 Java 和 JavaScript 之间架起了一座桥梁,它提供了从js调用java代码和从java调用js代码的安全便捷的方式。 导入项目 repositories { // ... m

实战:Android 15 (API 35) 适配 & 构建踩坑全记录

一、为什么要适配 API 35? Google Play 政策要求(2025 年 8 月 31 日前必须使用目标 API ≥ 35),新应用和应用更新必须以 Android 15(API 级别 35)或更高版本为目标平台,才能提交到 Google Play;但 Wear OS、Andr

人和人根本的差距在于思维的差距

“顺着这个线索找下去”,和我们一起调试问题的领导肯定地说道。 昨天,线上版本又出了新的问题,看数据不规律错乱的现象,初步定位是线程安全的问题。由于时间紧急,然后我便开始尝试各类的线程安全工具尝试解决。 时间过去了2个小时,领导来询问情况,只得回复说,“应该是线程安全的问题,比较麻烦”。 听到这里,有些不安的领导撸起袖子准备一起调研这个问题。 他的做法: 观测现象,根据现象分析,找办法验证,再观测,