logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Android Compose 物联网(IoT)UI 组件库封装指南

在物联网(IoT)应用开发中,使用Jetpack Compose可以创建现代化、响应式的用户界面。

文章图片
#android
FlutterActivity vs FlutterFragmentActivity:全面对比与最佳实践

FlutterActivity 适合简单的纯 Flutter 应用,而 FlutterFragmentActivity 为混合开发提供了完整的 Android 架构组件支持。对于大多数企业级应用,推荐使用 FlutterFragmentActivity 以获得更好的可扩展性和维护性。本文将深入分析 FlutterActivity 和 FlutterFragmentActivity 的区别,并介绍如

文章图片
#flutter#android
Android XML布局与Compose组件对照手册

下面我将详细列出传统 XML 布局中的组件与 Compose 组件的对应关系,帮助您更好地进行迁移或混合开发。自定义视图:Fragment混合:主题适配:迁移建议布局转换步骤:示例转换:通过这种对应关系表,您可以更系统地将现有XML布局逐步迁移到Compose,或在新开发中直接使用对应的Compose组件。

文章图片
Android常用设计模式:全面总结与实战代码

在安卓开发中,随着项目规模的增长,Activity 或 Fragment 中堆积大量业务逻辑、数据处理和UI操作代码(俗称“上帝类”)会导致代码难以维护、测试和扩展。· 安卓中的实现:传统的写法中,Activity 既是 Controller 又是 View,导致它异常臃肿,难以测试。MVVM 官方支持,生命周期管理,数据驱动UI 概念较多,学习曲线稍陡 大多数现代安卓应用,尤其是新项目。· Vi

文章图片
#android
Android 底部 Tab 导航终极指南:封装 BottomTabHelper 实现高效、灵活的 Tab 布局

通过以上代码和布局文件,你可以快速实现一个功能强大且灵活的底部 Tab 导航功能。

文章图片
#android
(Kotlin) Android使用DialogX实现iOS风格底部弹窗(带Toggle开关)

本文将详细介绍如何使用DialogX库实现一个iOS风格的底部弹窗,包含。setAlignBottom() 确保内容对齐底部。使用RecyclerView实现高效列表。通过回调处理Toggle状态变化。顶部圆角背景优化视觉效果。自定义动画实现滑动效果。

文章图片
#android#kotlin
深入理解 Android 中的 ViewModel 和 LiveData:实现数据与 UI 的分离与响应式更新

它们通常一起使用,以实现数据与 UI 的分离,并确保数据在配置更改(如屏幕旋转)时不会丢失。是生命周期感知的,意味着它只会在 Activity 或 Fragment 处于活跃状态时更新 UI。是一种可观察的数据持有者,它允许 UI 组件观察数据的变化,并在数据发生变化时自动更新 UI。:用于观察数据的变化,并在数据变化时自动更新 UI。:用于管理与 UI 相关的数据,并在配置更改时保持数据的持久性

文章图片
#android#ui
Jetpack Compose 安全关闭 Activity 或 Fragment 总结

按场景选择最合适的方式,确保代码健壮性和可维护性!✅ 适用于需要保留返回栈的情况。✅ 自动处理返回动画和状态恢复。,适用于复用代码(如工具类)。默认返回逻辑(如先关闭。,不触发返回栈逻辑。

文章图片
ViewModel 使用总结:普通、Shared 及嵌套 Fragment 场景

通过合理选择 ViewModel 作用域,可以清晰管理 Android 多层级 Fragment 架构中的数据流!

文章图片
#android#kotlin
Android Retrofit + RxJava + OkHttp 网络请求高效封装方案

Retrofit + RxJava + OkHttp 是 Android 开发中常用的网络请求库组合。Retrofit 是一个类型安全的 HTTP 客户端,RxJava 是一个响应式编程库,OkHttp 是一个高效的 HTTP 客户端。允许在运行时动态修改 Retrofit 和 OkHttp 的配置,例如 Base URL、超时时间、拦截器等。将网络请求与 Activity/Fragment 的生

文章图片
#retrofit#rxjava#okhttp
    共 47 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择