登录社区云,与社区用户共同成长
邀请您加入社区
Android多进程开发 - AIDL 最简单的实现、传递数据大小限制
如果用一个公式来定义未来开发的效率:没有 Compose 的基础,你无法辨别 AI 是否在“胡说八道”;而没有 AI 的加持,你将永远被淹没在繁琐的胶水代码中。这十篇专栏,我们从思维出发,历经状态、架构、性能、副作用、导航、混合开发、绘图、测试,最后在AI 赋能中画上句号。Android 开发的黄金时代并没有过去,它只是在进化。在这个时代,**“学会学习”**比“学会代码”更重要。希望这套系列文章
摘要:Android Jetpack Compose核心组件体系分为7大类:1.基础UI组件(Text/Image等)替代传统View控件;2.布局组件(Column/LazyColumn等)构建界面结构,其中懒加载布局优化列表性能;3.交互组件(按钮/输入框/选择器等)处理用户操作;4.容器组件(卡片/弹窗等)增强样式功能;5.导航组件实现页面跳转;6.动画组件提升交互体验;7.辅助工具(状态管
本文介绍了Jetpack Compose中Button组件的使用与自定义封装方法。主要内容包括:1) Button基础属性说明,如onClick、enabled、modifier等;2) VectorDrawable的优势与应用;3) 自定义按钮封装方案,包括AlphaIconButton(支持透明度变化)、AppButton(支持多种状态颜色变化)等组件实现;4) 颜色扩展工具类,提供颜色加深、
Jetpack核心组件的协同开发,本质是通过“标准化组件+规范化流程”解决Android开发的复杂性。其核心价值在于:解耦彻底,各组件职责单一;开发高效,减少模板代码;稳定可靠,框架兜底生命周期和内存问题;可扩展性强,适配多终端、跨平台、AI等未来趋势。新项目直接采用“Navigation 3.X+Hilt+ViewModel+Flow”核心架构,搭配Compose提升开发效率;旧项目迁移采用“渐
等抽屉相关的参数,而是将抽屉功能从Scaffold 中剥离出来,使其成为一个独立的、可组合的组件,即 ModaNavigaionDrawer。需要注意的是,Scaffold 默认会处理系统栏的插入,因此我们不需要再手动使用。,那么 Scaffold 会自动处理系统栏,并将系统栏的插入考虑到。在 Material 3 中,Scaffold 组件没有内置的。这样,内容就会在安全区域内显示,不会被遮挡。
Android开发新技术趋势梳理:从声明式UI到AI集成,Jetpack Compose简化了UI开发,通过状态驱动实现高效界面更新;Jetpack组件升级带来导航优化和生命周期管理改进;端侧AI技术如TensorFlow Lite和MediaPipe提升了移动端智能应用性能;大屏设备适配和多终端协同成为开发重点;Kotlin+协程+MVVM成为主流开发模式,显著提升异步处理效率。这些新技术正在重
本文将通过探寻源码,追踪Android Navigation崩溃java.lang.IllegalStateException: Activity * does not have a NavController set on * 抛出的原因,通过根因分析,给出解决此问题的方案:(supportFragmentManager.findFragmentById(R.id.fragment_contai
摘要:Gson和Kotlinx.serialization是Android开发中常用的JSON处理库。Gson基于反射,生态成熟但性能一般,仅支持JSON且不原生支持Kotlin特性。Kotlinx.serialization由JetBrains开发,编译期生成序列化器,性能更优,支持多平台、Kotlin特性(如默认值、密封类)和多种数据格式。两者在动态JSON处理、构建JSON和配置上语法差异明
Android 项目问题:This version only understands SDK XML versions up to 3 but an SDK XML file of version 4
Android Gradle 插件兼容问题:Your project may be using a third-party plugin which is not compatible with...
随着kotlin代码跨平台方案的推出,kotlin跨平台一度引起不少波澜。但波澜终归没有掀起太大的风浪,作为一个敏捷型开发的公司,依然少不了Android和iOS的同步开发,实际成本和效益并没有太多变化。所以对于大多数公司来说依然风平浪静……时过境迁,如今kotlin已经支持Android、iOS、Web、PC的桌面UI开发了,并且iOS已经进入Beat的里程碑,kotlin即将迎来一统天下的时刻
Android Studio - Android Studio 查看项目的 Android SDK 版本(4 种方式)
CameraX 是一个 Jetpack 库,旨在帮助简化相机应用程序的开发。
首先要注册相关账号,比如GitHub账号,Gitee账户,Jitpack账户掌握基本的git命令,以及属性groovy编译工具的语法正确配置gradle版本,gradle插件版本,Android studio 版本的对应关系总重要的一点就是要有足够的耐心,发现问题,分析问题,解决问题。
上一篇文章已经介绍了Android Jetpack Compose,相信都知道了compose是以kotlin为主,在学习前可以先了解一些compose控件。这一章主要是介绍常用的控件,这些控件在使用的时候是必不可少的,这个需要我们慢慢练习,才能达到孰能生巧。
RenderEffect允许你向UI组件应用视觉效果。这些效果可以包括模糊、自定义着色器或者你能想象到的任何其他视觉转换。然而,RenderEffect仅适用于API 31及以上版本。在我们的示例中,我们将使用RenderEffect为我们的可扩展浮动按钮和一些额外组件创建模糊和着色器效果。
让你彻底明白Jetpack中的textField使用
通过模仿activityViewModels源码,我们定义了两个扩展方法:AppCompatActivity.applicationViewModels和Fragment.applicationViewModels,实现了Application作用域的ViewModel,非常简单。但是这样做是不是对的?会不会带来其它问题比如内存泄露啥的?毕竟ViewModel 类旨在以注重生命周期的方式存储和管理
EditText中的imeOptions详细解析。
在最近思索如何使用Compose方式改进我的开源TMDB电影列表应用程序的主屏幕时,一个激动人心的概念浮现在我的脑海中——为什么不整合一个吸引人的轮播图来展示即将上映的电影呢?在本文中,我将分享我的开发和实现自定义轮播图的经历,提供涉及不同步骤的见解。首先,我搜索了现有的解决方案,考虑到Material Design 3文档中有一个轮播图组件的可用性。然而,我很快发现它尚未发布用于Jetpack
前言:心中纵是有所盼 严寒没有减 风很冷 我的手已渐蓝 前言 控件查找对于Android开发来说也是一部血泪史,一直为更有效的方案进行了多种方案的研究和探讨。`findViewById()` 过于繁琐,强制转换不安全;`butterkniife` 会存在众多臃肿的全局
在深入了解Divider之前,我们首先简单回顾一下Jetpack Compose。Jetpack Compose是一个现代化的,充满活力的Android UI工具包,允许开发者使用Kotlin语言以声明式方式构建应用程序的界面。这意味着您只需要描述UI应该如何展示,而不是描述它的变化过程。颜色(Color):这会改变分隔线的颜色。默认情况下,颜色是一种灰色。厚度(Thickness):这会改变分隔
Jetpack 是一个由多个库组成的套件,可帮助开发者遵循最佳实践、减少样板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开发者可将精力集中于真正重要的编码工作。
View Binding(视图绑定)视图绑定是一项功能,可让你更轻松地编写与视图交互的代码。在模块中启用视图绑定后,它会为该模块中存在的每个 XML 布局文件生成一个 绑定类。绑定类的实例包含对在相应布局中具有 ID 的所有视图的直接引用。在大多数情况下,View Binding会替换findViewById.设置视图绑定在一个模块一个模块的基础上启用。要在模块中启用视图绑定,请在Module级b
Material 3是由Google引入的一种设计系统,通过采用一套设计原则、指南和组件,提供统一直观的用户体验。
/// 设置最大线程数使用,当运行dex-in-process时,默认为4。//// 对依赖的库进行dex 预处理,提升增量构建速度。
大家好,写给初学者的Jetpack Compose教程第4篇更新了。今天我们要介绍的是Compose当中至关重要的一个组件,State。State不光非常的重要,同时可以让我们的Compose学习之旅变得更加有趣。为什么这么说呢?因为在之前的学习过程当中,我们所实现的都是静止的界面效果,而有了State之后,则可以让界面开始动起来了。
写过一段Android jetpack compose 界面的小伙伴应该都用过Compose的脚手架Scaffold,利用它我们可以很快的实现一个现代APP的主流界面架构,即一个带顶部导航栏和底部导航栏的界面架构,我们基于这个架构可以快速的搭建出我们想要的页面效果。而今天的文章就是要介绍如何实现一个有特点的底部导航栏。
你真的了解lifecycle吗?本文的目标就是要“打破砂锅问到底”,带你真真切切了解它。lifecycle是属于Android Jetpack(官方开发工具包)—— Architecture(架构组件)中的一员。【官方介绍】构建生命周期感知型组件,这些组件可以根据 Activity 或 Fragment 的当前生命周期状态调整行为。【白话】lifecycle可以和Activity或Fragment
目录前言一、实现思路二、服务端接口三、UI页面三、工具类实现1.检查版本号2.下载apk3.安装apk4.实时更新下载进度5.完整代码三、外部使用总结前言版本的升级和更新是一个线上App所必备的功能,App的升级安装包主要通过 应用商店 或者 应用内下载 两种方式获得,大部分app这两种方式都会具备,应用商店只需要上传对应平台审核通过即可,而应用内更新一般是通过以下几种方式:1.集成第三方库如 a
说到沉浸式状态栏,很多小伙伴可能不太熟悉,其实让Android的状态栏的颜色和APP的主题颜色相同,给人感觉状态栏和APP就是一体的。沉浸式的状态栏让页面看起来更舒服,实现沉浸式状态栏也很简单,首先就是配置主题,然后设置状态栏的颜色,之前的博客中实现沉浸式状态栏是通过将状态栏的颜色设置成页面背景的颜色,这样状态栏就和背景融为一体了,但是这种办法在每个页面都需要设置一遍,非常废了,最好的 方式就是将