Android共406篇 第6页
Android
Dart 3.0 语法新特性 | switch 匹配加强-五八三

Dart 3.0 语法新特性 | switch 匹配加强

一、 重新审视 switch 关键字 众所周知, switch 关键字用于流程控制: 可以基于一个对象进行匹配,并通过 case 关键字产生分支语句,进行不同的逻辑处理。其中有一个非常值得注意,使用者很容...
ViewPager2系列--ViewPager2的预加载与缓存复用机制-五八三

ViewPager2系列–ViewPager2的预加载与缓存复用机制

ViewPager2是基于RecyclerView实现的,因此我们首先要了解RecyclerView的缓存机制 RecyclerView的缓存复用 通常在RecyclerView中存在着四级缓存,从低到高分别为: 可直接重复使用的临时缓存(m...
admin的头像-五八三admin2年前
0150
现代化 Android 开发:逻辑层-五八三

现代化 Android 开发:逻辑层

本文为现代化 Android 开发系列文章第三篇。 完整目录为: 现代化 Android 开发:基础架构 现代化 Android 开发:数据类 现代化 Android 开发:逻辑层(本文) 现代化 Android 开发:组件化与模块...
Android 逆向之脱壳实战篇-五八三

Android 逆向之脱壳实战篇

大家好,我叫 Jack Darren,目前主要负责国内游戏发行 Android SDK 开发 写这篇文章的背景 自从上次 Android 逆向入门保姆级教程 发布之后,便冲上了掘金 Android 热榜第一,并且还是连续两天第...

如何写一个无侵入式的动态权限申请Android框架?

1、核心逻辑 在Activity或者fragment中,写在几个方法写一些注释,用来表示权限申请成功,申请失败,多次拒绝。以上就是使用者需要做的。 简单吧,简单就对了,不用传任何上下文。只需要写注解...
admin的头像-五八三admin2年前
040

ViewPager2 系列– 初探ViewPager2

ViewPager2简介 ViewPager2是什么 ViewPager2是Android Jetpack库中的一个组件,是用于在应用程序中实现页面切换和滑动效果的容器。 ViewPager2的作用和用途 ViewPager2是一个功能强大的滑动容...
admin的头像-五八三admin2年前
0100
Android — 使用dom4j解析、修改AndroidManifest-五八三

Android — 使用dom4j解析、修改AndroidManifest

在之前的文章Android 自定义Gradle插件(二):修改AndroidManifest文件中介绍了如何在自定义的Gradle插件中修改AndroidManifest文件。解析和修改AndroidManifest主要用到了groovy提供的XmlPars...
admin的头像-五八三admin2年前
0100
Android 14 新特性:语法性别 Grammatical Gender-五八三

Android 14 新特性:语法性别 Grammatical Gender

背景 如同汉语里的他、她、它,英语里的 He、She、it,很多语言都存在依据性别、对象不同而造成的语法差异,甚至不仅限于名词,还涉及到形容词、动词等,复杂得多。 而这部分语言所涉及到的人群...
Gson与Kotlin的老生常谈的空安全问题-五八三

Gson与Kotlin的老生常谈的空安全问题

问题出现 偶然在一次debug中发现了一个按常理不该出现的NPE,用以下简化示例为例: Exception in thread 'main' java.lang.NullPointerException: Cannot invoke 'kotlin.Lazy.getValue()' beca...
admin的头像-五八三admin2年前
030
写一篇最好懂的Lifecycle的基本使用和原理分析-五八三

写一篇最好懂的Lifecycle的基本使用和原理分析

想要彻底弄清楚Lifecycle实现对Activity或者Fragment的生命周期方法感知的基本原理,我们可以从以下两个方面去思考: 1、Lifecycle是如何感知到Activity或者Fragment的生命周期方法的? 2、Life...
admin的头像-五八三admin2年前
040
Compose 嵌套滑动冲突的解决办法-五八三

Compose 嵌套滑动冲突的解决办法

前言 在最近我利用业余时间使用 Compose 写的 Gihub APP 中,它的首页结构是这样的: 采用了 Drawer 嵌套 Pager 的结构。 这就会出现一个问题,那就是 Drawer 和 Pager 都需要监听横向滑动手势...
uni app 本地打包apk 教程-五八三

uni app 本地打包apk 教程

前言: 各位同学大家好,最近帮别人打包了一个 uni 的项目编译成apk 所以觉得必要分享下。 上效果图 原始工程 这种uni 原始的工程我们直接 这样我们就可以运行到我们的模拟器或者真机上面去 手...
admin的头像-五八三admin2年前
060
Jetpack Compose Material3 组件之 DatePicker(日期选择)-五八三

Jetpack Compose Material3 组件之 DatePicker(日期选择)

前言 在之前我使用 Comose 写 APP 的时候,官方还没有给出关于 DatePicker 的解决方案。 当时为了在 Compose 中实现 DatePicker ,大致有两种方案: 一是使用原生 VIew 的 DatePicker,但是因为...

Android BatteryStats服务功耗统计流程详解

简介 BatteryStatsService和BatterStatsImpl是系统中用于估算电流消耗的关键对象,能够估算并存储软件功耗和硬件功耗。其中主要流程分为事件回调时记录耗电信息、触发读取时计算并统计耗电信息...

使用 Jitpack 发布你的 Android 库

使用 Jitpack 发布你的 Android 库 在开发 Android 应用时,我们经常会把一些通用的代码抽取出来,打包成一个库,方便在其他项目中使用。这时候,我们就需要把这个库发布到某个地方,方便其他项...
admin的头像-五八三admin2年前
040

RecyclerView优化实战指南

在 Android 开发中,RecyclerView 是一个非常常用的组件,用于展示大量数据。然而,如果不进行优化,RecyclerView 可能会导致 UI 卡顿、内存泄漏等问题。本文将介绍一些优化技巧,帮助你更好地...
给Android工程师的Flutter入门手册(三)-五八三

给Android工程师的Flutter入门手册(三)

前言 这是笔者作为一个Android工程师入门Flutter的学习笔记,笔者不想通过一种循规蹈矩的方式来学习:先学Dart语言,然后学习Flutter的基本使用,再到实践应用这样的步骤。这样的方式有点无趣且...

Android进阶宝典 — 从源码角度看Android如何完成动态权限申请

伙伴们应该都了解,在Android6.0之后,对于部分权限,例如Camera、读写存储权限等,都需要用户授权才可以使用,除非你的应用为系统应用,否则这些“危险权限”将不会自动授予,那么为什么Google...
图解 Binder:AIDL-五八三

图解 Binder:AIDL

这是一系列的 Binder 文章,会从内核层到 Framework 层,再到应用层,深入浅出,介绍整个 Binder 的设计。详见《图解 Binder:概述》。 本文基于 Android platform 分支 android-13.0.0_r1 和内...
admin的头像-五八三admin2年前
090
Android 悬浮View实现-WindowManger-五八三

Android 悬浮View实现-WindowManger

一、WindowManger addView 添加窗口视图 1.1、步骤: 创建悬浮View实例,设置View的点击,触摸等等事件 创建WindowManager.LayoutParams实例 获取WindowManager实例对象,调用addView方法将视图...