移动开发

Android-Jetpack-LiveData详解

配图来自网络,如侵必删 在开发中使用ViewModel的时候,肯定会想数据怎么回调到Activity/Fragment会更好,Android SDK给我们提供了LiveData类来做数据回调的事情。这篇博客就来分享LiveData相关的知识,希望对看文章的小伙伴有所帮助。 LiveData概述 LiveData是一个可以被观察的数据容器类,我们可以将数据放到LiveData中,让数据成

Android外部存储兼容(Android12)

外部存储访问权限(~Android 11) Android 12之后系统就不允许自由访问外部存储了,只能访问指定的外部存储存储,例如:context.getExternalFilesDir(Environment.type)下的外部存储,或者其他/Android/data/data下的外部存储。 <!-- Without this folders will be inaccessible

Android-推荐一个车牌键盘库VehicleEditText

Android,图片来源网络 最近开发公司的项目的时候,我们有输入车牌号的功能。如果使用手机输入法去输入,需要来回切换中文和英文以及数字。我们就想有没有办法自定义输入车牌输入键盘。我找到一个非常棒的库,分享给大家,希望能提高小伙伴们的开发效率。 VehicleEditText VehicleEditText库文档,感兴趣的小伙伴可以去看看详情文档。 代码示例 我这里是使用原生的Edit

滚动前行的轮子 — Flutter 交错动画应用实例

前言 之前一篇我们讲了 Flutter组合动画实现的方式 —— 交错动画,如需了解原理的可以查看下面这篇:用 Flutter 做出 GIF 图片的效果 。借助 GIF 和绘图技巧是可以做到类似 GIF 那种效果的。本篇我们来一个应用实例,我们让轮子在草地滚动着前进,而且还能粘上“绿色的草”,运行效果如下动画所示。 滚动的轮子.gif 动画解析 上面实现的效果实际上有三个动画组成:

蓝牙协议栈概览

蓝牙底层结构 HW层:蓝牙芯片层 RF(RADIO):射频层,本地蓝牙数据通过射频信号发送给空中设备,并通过射频接收来自空中的蓝牙信号和数据 BB(BASEBAND):基带层,射频信号和数字(音频)信号转换,实现基带协议和其他底层连接规程 LMP(LINK MANAGER PROTOCOL):链路管理层,负责管理蓝牙设备之间的通信,实现链路建立、验证、链路配置等操作 HCI(HOST