Android

分类下相关文章

Android 平板 APP 蓝牙控制美容仪器设备

在 Android 平板 APP 上增加了控制空调功能之后,又要蓝牙控制美容仪器,这真是变成了一个万能遥控器。 本以为一两个小时就能搞定,没想到 android 上 kotlin 处理多个 bit 位组合异常麻烦,最终整整耗费了一个下午才搞定。今天的计划彻底被打乱了。 TODO [x] 新 fragment 页面。增加一个调试页面 [x] 扩充蓝牙 MTU 字节数,及读取的字节数。这里犯了一个错误,忽略了 0 号寄存器位,导致拉取的时候,少读取了一个字节,怪不得最后一个字节总是跟预期不符,数值乱跳,原来是读到了校验位。 [x] 控制字段的解析。界面数值显示 [x] 美容功能的控制按钮。点击事 ...

阅读全文...

Image Border: Privacy policy

Welcome to the Image Border app for Android! This is an Android app developed by Zhongwei Sun. The app is available on Google Play. As an avid Android user myself, I take privacy very seriously. I know how irritating it is when apps collect your data without your knowledge. I hereby state, to the be ...

阅读全文...

Android APP 中使用 MQTT 协议进行数据上报

需求 Android APP 通过蓝牙读取工业设备上的运行数据,然后通过 MQTT 协议上传到服务器端,再由服务器转发给客户的云平台。 客户端是一个华为鸿蒙系统平板。非纯血鸿蒙版本,还能跑 Android Kotlin 开发 App。 服务器端使用的是开源的 EMQX 的 MQTT broker。 支持 MQTT 的三方库 最终使用的是 https://github.com/hannesa2/paho.mqtt.android 这个是在一个已经废弃的库 https://github.com/eclipse/paho.mqtt.android 的基础上继续维护的一个项目。因为 eclipse ...

阅读全文...

Android Kotlin 调用 ZXing 扫描二维码

要在 Android 平板上实现一个输入激活码激活的功能,但是激活码太长,40 个字符,太长不好输入。所以想通过生成二维码,然后扫描二维码,提取激活码的方案。 我看目前 Google 官方推荐使用 ML kit 来识别二维码,但是由于使用的是华为平板,担心依赖于 Google 服务的功能无法运行,所以使用了 ZXing 这个库。 下面是一个教程: https://tutorialwing.com/implement-android-qr-code-scanner-using-zxing-library-in-kotlin/ 参考这里面的 fragment 部分。 摄像头权限 <uses- ...

阅读全文...

Percentage Change Calculator: Privacy policy

Welcome to the Percentage Change Calculator app for Android! This is an Android app developed by Zhongwei Sun. The app is available on Google Play. As an avid Android user myself, I take privacy very seriously. I know how irritating it is when apps collect your data without your knowledge. I hereby ...

阅读全文...

升级 Android App API 级别

有近一年没有打开 Google Play Console 了,最近打开,发现一堆警告信息,大部分是: 请在 2023年8月31日之前更新您的目标 API 级别,以发布应用的更新 警告内容 我们检测到您的应用以旧版 Android 为目标平台。为了向用户提供安全可靠的使用体验,Google Play 要求所有应用都必须符合目标 API 级别要求。 自 2023年8月31日起,如果您的目标 API 级别不是在最新 Android 版本发布日期前 1 年内推出的,您将无法更新应用。 如需继续更新应用,请确保您的应用以 Android 13(API 级别 33)为目标平台。 目前最新的 andro ...

阅读全文...

Stock Price Calculator: Privacy policy

Welcome to the Stock Price Calculator app for Android! This is an Android app developed by Zhongwei Sun. The app is available on Google Play. As an avid Android user myself, I take privacy very seriously. I know how irritating it is when apps collect your data without your knowledge. I hereby state, ...

阅读全文...

Proportion Calculator: Privacy policy

Welcome to the Proportion Calculator app for Android! This is an Android app developed by Zhongwei Sun. The app is available on Google Play. As an avid Android user myself, I take privacy very seriously. I know how irritating it is when apps collect your data without your knowledge. I hereby state, ...

阅读全文...

Desktop Todo: Privacy policy

Welcome to the Desktop Todo app for Android! This is an Android app developed by Zhongwei Sun. The app is available on Google Play. As an avid Android user myself, I take privacy very seriously. I know how irritating it is when apps collect your data without your knowledge. I hereby state, to the be ...

阅读全文...

Android MPAndroidChart 实时曲线使用时间作为 X 轴

MPAndroidChart 确实强大,但是文档太少,需要自己踩坑。 在基于 MPAndroidChart 绘制手环传输过来的实时数据时,发现用时间(小时:分钟)作为横轴坐标,网上找到的示例代码都不好使。 不支持时间戳 如果直接使用 System.currentTimeMillis() 生成基于毫秒的时间戳作为 x 坐标,会发现 MPAndroidChart 根本无法展示,我不确定问题出在哪里。有两个推测: 数值太大,组件不支持 x 轴可能设置了刻度 (这个可能无关) 基于时间差解决 而使用简单一秒加 1 的计数器,却可以完美的展示实时需求,唯一的问题是,这种计数器的值无法转换为时间。 ...

阅读全文...

Android MPAndroidChart 动态显示曲线数据

MPAndroidChart 的示例大多数静态图表,没有实时显示曲线的变化的示例。 找到一个官方的说明: https://github.com/PhilJay/MPAndroidChart/wiki/Dynamic-&-Realtime-Data there are various methods that allow to either add or remove Entry objects to an existing DataSet or DataSet objects to/from an existing ChartData object 看来确实可以实现动态修改。 添加 ...

阅读全文...

Android 基于 PopupWindow 实现右下角的悬浮额外指标数值

PopupWindow 介绍 This class represents a popup window that can be used to display an arbitrary view. The popup window is a floating container that appears on top of the current activity. PopupWindow 会浮动在当前 Activity/Fragment 之上。 相对于 AlertDialog,PopupWindow 的实现更灵活。 可以自定义位置。例如显示在指定按钮的下方,上方等位置。 展现形式更自由 ...

阅读全文...

Android 图表库 MPAndroidChart

为了在 Android 平板上实时展示血氧和心率的曲线图,需要找一个三方的 chart 库。 Android Chart 库的选型 https://github.com/PhilJay/MPAndroidChart , 37K star 但是 4 年前就不再更新了。但是实测并没有兼容性问题 (Android 12, 及华为鸿蒙3) https://github.com/diogobernardino/williamchart , 这个确实很漂亮,而且是 kotlin 实现的,但是看起来不如 MPAndroidChart 灵活。 MPAndroidChart 的使用 添加依赖 ...

阅读全文...

Android Kotlin 点击按钮跳转至系统语言切换设置页

需求 在 Android 多语言 App 内切换语言,为了节省开发工作量,直接复用系统的语言切换功能。 即,点击一个 App 内的语言设置按钮,跳转至 Android 系统的语言切换功能页。 实现 import android.content.Intent import android.provider.Settings binding.appSetting.setOnClickListener { val intent = Intent(Settings.ACTION_LOCALE_SETTINGS) startActivity(intent) } 效果 效果非常好。而且 ...

阅读全文...

android AppCompatButton 设置按下时显示的背景图片

即一个 Android Button 在正常显示时,跟按下时,显示不同的背景图片。 通常按下时显示的是另一张高亮的图片。 之前是通过点击事件实现的,无意发现 drawable selector 可以方便的配置实现,这样代码也清晰了很多。 drawable selector 右键点击 res/drawable 目录,选择新建一个 Drawable Resource File,Root Element 是 selector。 命名为 button_bg.xml <?xml version="1.0" encoding="utf-8"?> < ...

阅读全文...