刷新
Jetpack Compose(3) —— 状态管理

博主头像 本文主要讲解了 Compose 中状态的概念。最后做个小结, - Compose UI 依赖状态变化,触发重组,驱动界面更新。 - 使用 remember 和 rememberSaveable 进行状态持久化。remember 保证在 recompose 过程中状态稳定,rememberSaveab... ...

Android 获取设备的CPU型号和设备型号

博主头像 原文: Android 获取设备的CPU型号和设备型号-Stars-One的杂货小窝 之前整的项目的总结信息,可能不太全,凑合着用吧,代码在最下面一节 CPU型号数据 华为: ro.mediatek.platform vivo: ro.vivo.product.platform oppo: ro.b ...

区块链钱包-android篇

博主头像 ​ 1:使用Protocol Buffers 首先根目录gradle中添加依赖: classpath "com.google.protobuf:protobuf-gradle-plugin:0.8.3" 然后项目文件中添加plugin,添加依赖包: apply plugin: 'com.google ...

Android 二维码相关(二)

博主头像 Android 二维码相关(二) 本篇文章继续讲述下如何使用zxing解析二维码图片,获取内容. 1: 创建RGBLuminanceSource对象. 首先获取二维码图片的bitmap对象. Bitmap bitmap = BitmapFactory.decodeResource(getResour ...

Android 二维码相关(一)

博主头像 Android 二维码相关(一) 本篇文章主要记录下android下使用zxing来创建二维码. 1: 导入依赖 api "com.google.zxing:core:3.5.1" 2: 创建二维码 创建QRCodeWriter对象 QRCodeWriter qrCodeWriter = new Q ...

Linux入门(五)

博主头像 Linux入门(五) 本篇文章主要讲述下文件处理相关的命令 1: 显示权限 ls -lh 总用量 36K drwxrwxr-x 5 zh zh 4.0K 2月 28 16:47 app -rw-rw-r-- 1 zh zh 530 2月 22 18:25 build.gradle drwxrwxr- ...

Android 修改系统息屏时间.

博主头像 Android 修改系统息屏时间. 本篇文章主要记录下android 如何修改手机息屏时间. 目前手机屏幕超时的时间范围一般是: 15秒 30秒 1分钟 2分钟 5分钟 10分钟 30分钟 那如何设置超过30分钟呢? 代码很简单,如下: private void changeScreenOffTim ...

Glide源码解析四(解码和转码)

博主头像 本文基于Glide 4.11.0 Glide加载过程有一个解码过程,比如将url加载为inputStream后,要将inputStream解码为Bitmap。 从Glide源码解析一我们大致知道了Glide加载的过程,所以我们可以直接从这里看起,在这个过程中我们以从文件中加载bitmap为例: De ...

Android switch语句报错Constant expression required

博主头像 方案一 :可以用 if来替代 如下 原因:在Android Studio中使用JDK17以上版本,会出现switch语句报错"Constant expression required"的问题,这是因为在JDK17中switch语句的条件表达式支持使用枚举类型,而这个特性还没有被支持。 方案2:换JD ...

android 混淆规则作用,Android代码混淆详解

博主头像 一、混淆的意义 混淆代码并不是让代码无法被反编译,而是将代码中的类、方法、变量等信息进行重命名,把它们改成一些毫无意义的名字,同时也可以移除未被使用的类、方法、变量等。 所以直观的看,通过混淆可以提高程序的安全性,增加逆向工程的难度,同时也有效缩减了apk的体积。总结如下: 1、将项目中的类、方法、 ...

手动下载sdk及avd

博主头像 有时候下载sdk的时候报各种错误导致无法下载,如图 那么可以离线下载,到浏览器或IDM中下载图中提示的url链接,将第一个下载的包即sources的解压后放到SDK目录下的sources目录,并重命名为对应的api版本如android-25 第二个链接即platform的那个则解压后放到SDK目录中 ...

Android 多渠道配置

博主头像 Android 多包名,icon 本篇文章主要记录下android 下的同一工程,打包时配置不同的包名,icon,名称等信息. 1: 多包名 首先讲述下如何配置多包名. 在build.gralde的android 标签下添加: productFlavors{ xiaomi{ applicationI ...

Kotlin扩展函数与属性原理解析

博主头像 一、扩展函数 扩展函数可以方便地给现有类增加属性和方法而不改动类地代码。 二、原理 fun String.addTo(s: String): String{ return this + s } 反编译: @Metadata( mv = {1, 6, 0}, k = 2, d1 = {"\u0000\ ...

Android12以上获取设备网络信号数据

公司有很多物联网设备,关键的信号参数是RSRP,总有些地方信号差,不适合安装。所以让开发一款测信号的app,用于现场的同事在判定是否符合设备信号条件,再考虑安装设备。 由于与开发过程中使用的是Android sdk33,版本太高,网上搜到的很多旧的方法已经弃用,用起来也比较麻烦。 自己捣鼓了半天使用 ...

BlockCanary原理解析

博主头像 一、背景 为了解决应卡顿,分析耗时。 二、原理 Looper中的loop方法: public static void loop() { ... for (;;) { ... // This must be in a local variable, in case a UI event sets th ...

【Android】深入Binder拦截

博主头像 ☞ Github ☜ ☞ Gitee ☜ 说明 Binder作为Android系统跨进程通信的核心机制。网上也有很多深度讲解该机制的文章,如: Android跨进程通信详解Binder机制原理 Android系统核心机制Binder【系列】 这些文章和系统源码可以很好帮助我们理解Binder的实现原 ...

Android 事件分发介绍

博主头像 Android 中 View 的布局是一个树形结构,各个 ViewGroup 和 View 是按树形结构嵌套布局的,从而会出现用户触摸的位置坐标可能会落在多个 View 的范围内,这样就不知道哪个 View 来响应这个事件,为了解决这一问题,就出现了事件分发机制。 ...

安卓之从视频中提取音频的应用场景及技术优劣分析

博主头像 随着移动设备性能的不断提升和多媒体内容的广泛传播,从视频中提取音频已成为众多开发者与用户日常操作的一部分。在安卓平台上,这项技术经历了从早期的复杂专业工具到现今便捷易用的应用程序的演变过程。本文旨在探讨安卓系统中视频转音频(Video to Audio Extraction, VAE)技术的发展历史... ...

<123···10>