首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android MVVM 架构应用实现

MVVM架构使用组件有ViewModel、LiveData、ViewBinding/DataBinding等,这些组件都是Jetpack库中组件。...初始化: Koin初始化分为两步: 定义ViewModel,告诉Kioin从哪里找到ViewModelRepository并自动生成,这里我选择直接写在BaseApplication中,需要注意是需要定义最外层...,即Classt同级: ApplicationonCreate()函数中初始化Koin: class BaseApplication : Application() {...,第一次独立搭建MVVM架构之后,对于MVVM架构理解加深了不少,对于JetPack库中组件其它开源库也有了新认识,此外MVVM架构还经常Retrofit、RxJava等开源库配合使用,希望以后有机会可以再进行实践操作...本项目使用开源组件库:koin、timber、permissionx、BaseRecyclerViewAdapterHelper 视频:Android中高级进阶之MVVM与JetPack

1.3K20

AndroidStudio 开发基础知识【翻译完成】

二十八、使用安卓手势检测器类检测常见手势 二十九、安卓上实现自定义手势识别 三十、安卓片段介绍 三十一、 AndroidStudio 使用片段——一个例子 三十二、现代安卓应用架构 Jetpack...二十三、Android Jetpack 视图模型教程 三十四、安卓 Jetpack 实时数据教程 三十五、安卓 Jetpack 数据绑定概述 三十六、安卓 Jetpack 数据绑定教程 三十七、安卓视图模型保存状态教程...三十八、使用安卓生命周期感知组件 三十九、 安卓 Jetpack 生命周期感知教程 四十、导航架构组件概述 四十一、安卓 Jetpack 导航组件教程 四十二、安卓系统上创建和管理溢出菜单 四十三、...三十四、安卓触控多点触控事件处理 三十五、使用安卓手势检测器类检测常见手势 三十六、安卓上实现自定义手势识别 三十七、安卓片段介绍 三十八、 AndroidStudio 使用片段——一个例子 三十九...数据绑定教程 四十四、安卓视图模型保存状态教程 四十五、使用安卓生命周期感知组件 四十六、安卓 Jetpack 生命周期感知教程 四十七、导航架构组件概述 四十八、安卓 Jetpack 导航组件教程

3.1K30
您找到你想要的搜索结果了吗?
是的
没有找到

Android Studio 3.2新功能特性

导航编辑器 新导航编辑器与Android Jetpack导航组件集成,为创建应用导航结构提供图形视图导航编辑器简化了应用内目的地之间导航设计实现。...要了解更多信息,请阅读 导航编辑器文档。 AndroidX重构 作为Jetpack一部分,我们正在使用androidx命名空间将Android支持库重构为新Android扩展库。...当您使用Refactor to AndroidX命令或创建一个minSdkVersion设置为“P” 新项目时,这两个标志都会设置为true。...Google Play新应用服务模型称为动态投放,然后使用应用捆绑软件为每个用户设备配置生成并提供优化APK,因此每个用户只下载运行您应用所需代码资源。...添加视图时, “Design”窗口中视图下方会出现一个设置按钮 。点击此按钮设置设计时视图属性。您可以从各种样本数据模板中进行选择,并指定用于填充视图样本项目数。

5.4K10

ApacheCN 安卓译文集 20211225 更新

二十三、支持不同版本安卓、音效旋纽小部件 二十四、设计模式、多重布局片段 二十五、构建简单图片库应用 二十六、使用导航抽屉片段高级 UI 二十七、安卓数据库 二十八、临别赠言 Kotlin... Koin 依赖注入 十三、RxJava 和协程 十四、架构模式 十五、使用协调器布局运动布局动画过渡 十六、 Google Play 上启动你应用 通过构建安卓游戏学习 Java 零...五、了解游戏循环帧速率 六、提高 2D/3D 游戏性能 七、使用着色器 八、性能内存优化 九、测试代码调试 十、安卓虚拟现实游戏中应用范围 十一、使用 C++ OpenGL 开发安卓游戏...设置开发环境 二、创建图形 三、理解游戏物理 四、用户输入 五、处理文本字体 六、声音 七、创建粒子系统 八、添加本机 Java 代码 使用安卓片段创建动态 UI 零、前言 一、片段用户界面模块化...二、片段用户界面灵活性 三、片段生命周期专业化 四、使用片段事务 五、创建丰富导航 六、片段与材质设计 Unity 安卓游戏开发学习手册 零、前言 一、向 Unity Android 问好

7.1K20

Now in Android | 12 月刊 · 2019

《手势导航 (三) | 处理手势冲突》介绍如何处理您应用 Android 10 中新引入系统交互手势之间冲突。...《手势导航 (四) | 沉浸模式》介绍手势交互冲突全屏应用 (系统栏也被隐藏) 下情况注意事项。 无障碍文档改进 文档团队最近迭代了一些无障碍 (Accessibility) 相关文档。...AndroidX 库发布情况更新 近一个月内一些主要组件更新到了一个里程碑版本,包括稳定版发布候选版: 稳定版发布列表 Room 2.2.3 2.2.0 稳定版基础上做了一些 bug 修复。...△ Jetpack Compose 使用教程中示例代码 Jetpack Compose 十月底 Android Dev Summit 上公布,不过它并不属于典型 alpha/beta/发布候选/...△ Motion Editor 可以编辑起始结束状态,以及二者之间切换时动画 Motion Editor: MotionLayout 初步版本已经发布了一段时间,但只能靠 XML 编辑器来操作的话感觉就很不方便

2K30

最新 Android 热门开源项目公布

[1240] 使用起来极为便捷,只需 build.gradle 中引入依赖: dependencies { LeakCanary 会自动检测 debug build 中内存泄露,并显示提示。...[image] 这个库借鉴了 iOS  JTAppleCalendar,提供了比较齐全日历视图所需特性,支持定制样式。...[1240] 注意「零配置」意思是并不提供多种风格选项让你选择,但是你仍然可以通过自行编写规则来自定义 linter 行为。另外,ktlint 也会遵循 .editorconfig 中设置。...官网:mockk.io KOIN 面向 Kotlin 开发者轻量依赖注入框架。 [1240] KOIN 提供了轻量函数式依赖注入 DSL,无需代码生成反射。...GitHub 仓库:mozilla-mobile/fenix 结语 上月初召开 Google I/O 2019,宣布 Kotlin 为 Android 开发首选语言,未来新 Jetpack API

1.3K00

折叠屏上应用设计规范,了解一下?

△ 布局三个主要区域 指南中 组合部分 带您了解如何充分利用屏幕空间以保障可读性,并且以尊重用户心智模型方式不同场景下合理排布重要内容操作选项。...第一种是列表/详情,或列表网格视图简单组合,同时开始展示内容屏幕起始侧,设置/不设置导航容器。 △ 列表/详情布局 支持面板可用于人们需要集中精力体验中,例如文档。...遵循 Material 指南,我们可以根据宽度尺寸类别提供替代布局,将导航调整到最方便使用位置。例如,小屏幕采用底部导航视图,中等屏幕采用 Navigation rail,大屏幕采用完整导航视图。...然后, Started Stopped 这两种生命周期状态之间,我们可以安全地从窗口布局信息流中收集信息。...我们将使用这些坐标以及宽度高度创建一个 Rect 对象,这样我们便得到了窗口坐标空间中视图边界。

4.3K20

为任意屏幕尺寸构建 Android 界面

我们先来进行第一项优化,使用 NavRail 而非底部应用栏,首先我们要考虑导航模型,所幸我们不会更改很多具体视图,仅仅只会更改导航方式,因为 NavRail 会一直存在于整个视图体系中,可以通过它导航到任何其他视图...最后,设置 NavRail 菜单栏 ID 来匹配现有导航目的视图 ID,再在 MainActivity 中为 NavRail 设置 NavController: <!...Jetpack Compose Jetpack Compose 2021 年 7 月发布了 1.0 版本后, Android 开发者社区产生了巨大反响,成千上万应用已经在生产环境中使用了 Compose...JetNews 最初以主页面和文章页面构建而成,每个页面都有自己 ViewModel,导航 ViewModel 之间集成意味着两个页面始终不同导航路径上。...对于此类情况我们可以使用 Box With Constraints,它类似于框布局,能够根据范围测量信息来用于决策。

4.1K20

Jetpack Compose+架构=优秀APP?

使用框架可以降低程序之间依赖性耦合性,使重复性达到最高。...所以MVP这种依赖接口通信解耦方式无法 Compose 项目中使用。...[eec906b5e0a0c4406b65965353a85b37.png] MVC MVC重要特点就是两种分离:视图和数据模型分离视图表现逻辑(Controller)分离   优点:耦合性低;...缺点:没有明确定义;不适合小型,中等规模应用程序;增加系统结构实现复用性;视图与控制器间过于紧密连接;视图模型数据低效率访问;一般高级界面工具或构造器不支持模式。...今天文章就到这里,感谢您阅读,有问题可以评论区留言探讨,期待与大家共同进步。喜欢的话不要忘了三连。大家支持认可,是我分享最大动力。

1.6K20

Android 架构组件最新进展 (上篇)

根据我们曾经做调查,开发者们希望 Android 官方可以维护一些实用组件库架构实践,以降低中大型应用开发门槛,这样开发团队就可以集中更多精力实际业务优化改进上。...数据绑定可以理解为代码 XML 标记语言之间桥梁。 更快编译速度 对开发者来说,处理界面中数据绑定需要时间成本不容忽视,我们现在将数据绑定注解处理速度提高了 20%*。...或者直接在 XML 中设置一个变量,并在视图中访问,代码也能马上给出对应提示。这些都即时可用,无需编译! ? ?...视图访问方法当然不止一种,但正如上图所示简明、编译安全编译速度上,各个方法总有取舍。那有没有一种方法能一石 "三" 鸟呢? 即将到来!...导航 (Navigation) 是一套管理应用内 UI 流程 Jetpack 代码库,现已发布了 2.1 稳定版,与此同时下一个版本也已经出现在了不远前方,接下来我们会: 导航中提供成组 (Scoped

90440

RubyMine 2022 Mac(Ruby代码编辑器) 中文版

JetBrains RubyMine 2022 for Mac是应用在Mac上一款强大Ruby代码编辑器,可以通过可定制配色方案,键盘方案以及高效开发所需所有外观设置,智能导航一键导航到声明,超级方法...代码片段代码中输入最常用模式结构实时模板。使用预定义片段并创建自己片段。智能编辑通过代码评论,扩展/缩小选择,内联正则表达式检查,同步标签编辑等功能提高工作效率。...多选同时许多地方:编辑代码片段使用代码完成,同时多个位置更改“查找”结果等等。分割编辑将当前编辑器以独立视图水平或垂直拆分,并在每个视图中保留一组选项卡。或者一个窗口中处理多个项目。...Rails应用程序中快速切换模型视图控制器。高级搜索选项跳转到任何类,文件或符号:按模式和文件夹过滤,或使用正则表达式。甚至可以找到任何IDE动作或工具窗口。...结构视图通过使用Structure工具窗口或特殊弹出窗口,可以类方法(包括继承方法)或HTML标记之间轻松切换。使用层次结构窗格查看搜索类类型,还有超类型子类型。

2K10

JetBrains RubyMine 2022 Mac(Ruby代码编辑器)

JetBrains RubyMine 2022 for Mac是应用在Mac上一款强大Ruby代码编辑器,可以通过可定制配色方案,键盘方案以及高效开发所需所有外观设置,智能导航一键导航到声明,超级方法...代码片段代码中输入最常用模式结构实时模板。使用预定义片段并创建自己片段。智能编辑通过代码评论,扩展/缩小选择,内联正则表达式检查,同步标签编辑等功能提高工作效率。...多选同时许多地方:编辑代码片段使用代码完成,同时多个位置更改“查找”结果等等。分割编辑将当前编辑器以独立视图水平或垂直拆分,并在每个视图中保留一组选项卡。或者一个窗口中处理多个项目。...Rails应用程序中快速切换模型视图控制器。高级搜索选项跳转到任何类,文件或符号:按模式和文件夹过滤,或使用正则表达式。甚至可以找到任何IDE动作或工具窗口。...结构视图通过使用Structure工具窗口或特殊弹出窗口,可以类方法(包括继承方法)或HTML标记之间轻松切换。使用层次结构窗格查看搜索类类型,还有超类型子类型。

2.1K10

Android Jetpack 之Navigation Architecture Component使用

刚刚结束谷歌IO大会上,谷歌推出了Android Jetpack架构组件;正如官网所说,Android Jetpack 是一套组件、工具指导,可以帮助您构建出色 Android 应用。...Android Jetpack Navigation Architecture Component 介绍 Navigation导航编辑器作为Android Jetpack AndroidX 依赖库一部分其目标旨在简化...Navigation可以帮助我们很好处理Activityfragment之间通过FragmentTransaction交互复杂性。另外Navigation也可以很好处理页面的转场效果。...image Navigation 跳转-- Action 现在我们看到我们导航编辑器又两个视图,main_fragment settings_activity,我们现在需要从main_fragment...:destination就是我们要加载导航视图 当然我们也可以导航编辑器中通过拖动来完成 ?

1.4K30

谷歌社区说|聊聊Compose跨平台与KMM

通过KMM,开发者可以 iOS 、 Android、Desktop与Web 应用程序之间共享业务逻辑通用代码,必要时也可以编写特定于平台代码。所以,KMM只负责跨平台下业务逻辑部分。...这样我们就实现了双平台一个简单数据请求例子。 社区对KMM支持 目前官方许多库都已经支持了跨平台,比如我们刚刚使用网络请求框架Ktor、依赖注入Koin还有序列化组件等。...与AndroidX下Paging设计一样,paging-common模块提供存储层、视图模型层;paging-runtim模块提供UI层。...与原生UI互操作性 使用Jetpack Compose开发Android时候,有些场景下我们可能需要让Jetpack Compose与XML 嵌套使用,那么跨平台中肯定也会存在这种场景,iOS...中可以通过使用 UIKitView,共享用户界面中嵌入复杂特定于平台小部件,如地图、 Web 视图、媒体播放器照相机等。

69410

聚焦 Android 11: Android 开发者工具

这些版本重点都是应用生产效率与交付开发者可信赖高质量产品之间平衡。...在过去一段时间里,我们也重点介绍了开发流程中一些关键环节改进实用建议,范围囊括应用设计、编码、部署、构建、使用模拟器测试进行应用测试,以及应用性能分析。本文将重点讨论这些近期重要更新。...此外,我们还发布了一篇更新内容,介绍为 Jetpack Hilt 准备开发工具: Android Studio 中 Dagger Hilt 导航支持: 重点介绍了 Android Studio...中使用 Dagger Hilt API 实用建议和工具加速器。...) 分析器 UI 更新 原生内存分析 (Native Memory Profiling) 系统跟踪 2.0 新 Gradle API MLKit TFLite 模型导入 Intellij 2020.1

2.5K21

FAQ | 为大屏幕设备构建应用常见问题解答

导航优化方面,以往在对直板手机竖屏模式部分导航组件进行优化时,导航组件几乎始终停靠在屏幕底部,可折叠设备或更大设备中情况就不同了,用户实际上大多数时间是用双手持握设备,这就意味着导航组件最好是放置设备边缘侧面...竖屏中大堆组件或元素占据设备边缘很合理,但在横屏中,用户大多数时间是双手持握设备,横跨两个边缘元素就会占用大量空间且非常显眼,这会给用户一种感觉——界面很笨拙,所以应尽量避免边缘停靠,考虑用其它方式放置组件元素...初期可以借助 Jetpack Compose 更轻松地构建自适应界面,未来开发周期中可以更轻松地进行维护执行其他类似操作。除此以外,还可以使用兼容模式,但兼容模式并不能为用户提供理想体验。...根据我们提供 窗口尺寸类别 指南,对于较小布局,推荐使用底部导航菜单,对于中等更大展开布局,建议您考虑使用 Navigation Rail,因为使用这类设备用户更多会使用双手而不是单手来操作设备...使用 ConstraintLayout,您可以根据布局中视图之间空间关系指定每个视图位置大小。这样一来,当屏幕尺寸改变时,所有视图都可以一起移动拉伸。

3.5K10

Android Jetpack 学习笔记(1) - 概述

为何使用 Android Jetpack? 遵循最佳实践: Jetpack 采用最新设计,且向后兼容性,可以减少崩溃内存泄露。...消除样板代码: Jetpack 可以管理各种繁琐后台任务、导航生命周期管理等。 减少不一致: Jetpack 组件库可在各种 Android 版本设备中以一致方式运作,助您降低复杂性。...navigation * 构建和组织应用内界面,处理深层链接以及屏幕之间导航。 paging * 页面中加载数据,并在 RecyclerView 中呈现。...room * 创建、存储管理由 SQLite 数据库支持持久性数据。 test * Android 中进行测试。 work * 调度执行可延期且基于约束条件后台任务。...Jetpack Compose — Android 新 UI 工具包 Jetpack Compose是 Android 全新现代 UI 工具包,此版本添加了许多新功能:视图互操作性、更多 Material

1.3K20
领券