android-architecture-components相关内容

如何使用导航组件管理权限请求代码?

如何使用导航组件管理权限请求代码? 我参考了太多网站 &堆栈链接,没有一个工作,仍然显示已弃用的 Waring Google 参考链接:https://developer.android.com/training/permissions/requesting#manage-request-code-yourself 代码::在片段中使用以下代码 私人乐趣 checkMulti ..

如果我点击导航控制器中的菜单,如何在两个片段目的地之间传递数据?

我正在尝试使用导航控制器.我有一个底部导航视图.位于我的 MainActivity 上,它是使用以下代码启动的: class MainActivity : AppCompatActivity() {lateinit var navController : NavControllerlateinit var logoHeaderImageView : ImageViewvar toolbarMen ..

Java 中的 Android 架构 SingleLiveEvent 和 EventObserver 实践示例

我尝试使用两个字段(用户名,密码)制作示例登录页面,并使用android架构组件保存按钮,使用android数据绑定,验证viewmodel中的数据并且从视图模型我调用存储库以进行远程服务器调用,如官方文档中所述,远程服务器成功返回我的用户 ID,那么如何使用此成功从视图模型启动新片段?我了解了一些关于 singleLiveEvent 和 EventObserver 的知识,但我找不到明确的用法示 ..
发布时间:2021-11-02 22:12:14 Java开发

SingleLiveEvent 实际上是 Android 架构组件库的一部分吗?

我一直在使用 SingleLiveData 类,该类可以在 这里.我的问题是: SingleLiveData 实际上是 Android 架构组件的一部分吗? 使用它是个好主意吗? 解决方案 看实时数据及其父/子继承 没有 SingleLiveData 这样的东西.阅读@Raghu 提供的链接,我找到了声明: SingleLiveEvent 类是为示例创建的,作为适用于该特 ..

在没有 LifecycleOwner 的自定义视图中设置 LiveData 观察者

我正在尝试新的 Android 架构组件,但在尝试将 MVVM 模型用于自定义视图时遇到了障碍. 本质上,我创建了一个自定义视图来封装一个通用 UI,并且它是在整个应用程序中使用的相应逻辑.我可以在自定义视图中设置 ViewModel,但随后我必须使用 observeForever() 或在自定义视图中手动设置 LifecycleOwner 如下所示,但似乎都没有正确. 选项 1) 使 ..

为什么 ViewModelProvider 在屏幕旋转时创建视图模型的新实例?

我正在尝试实现分页,但每次我旋转视图模型的屏幕构造函数时都会被调用,从而触发 loadInitial 以从我的 DataSource 类中的网络获取新数据.感谢帮助 //视图模型deflifecycle_version = "2.2.0"实现“androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"//实时数据实现“androidx.l ..

Room 数据库中的@ForeignKey 和@Relation 注释有什么区别?

我无法理解这些注释之间的区别.在我的用例中,我想在表之间创建一对多关系.并找到了两个选项:一个是@ForeignKey,另一个是@Relation 我还发现,如果我更新该行(例如使用 OnCoflictStrategy.Replace),我将丢失该行的外键,这是真的吗? 解决方案 A @ForeignKey 定义了一个约束(又名规则),要求子列存在于父列中).如果试图打破该规则,则会 ..

如何在Android Navigation 组件中管理BottomNavigationView backstack

我正在使用navigation component 和BottomNavigationView,我遇到了一个问题,那就是当我从fragment 1>2>5>4>3,当我按下后退按钮时,我得到 fragment 1.我知道这是默认行为,但我不想要这个,我想将它们保存在 backstack 所以当我按下后退按钮时,它应该转到 fragment 4 而不是 1.我一直在尝试和搜索,但找不到任何解决方案. ..

使用ItemKeyedDataSource观察Room Database表中的更改

我已经实现了扩展 ItemKeyedDataSource 的类> ,并提供来自会议室数据库的数据访问对象(DAO)的分页数据.我的DAO的查询方法将数据对象列表(未由 LiveData 包装)传递给 DataSource 回调. 在包装的数据库表中发生更改后(例如,更改是否来自后台服务),建议使 DataSource 无效的方法是什么?DAO可以生成的 DataSource.Factory ..
发布时间:2021-04-04 18:46:43 移动开发

何时/如何创建/销毁会议室数据库

我想知道是否有人可以指出我的文档来/澄清何时创建或销毁会议室数据库实例.另外,您将如何有效地打开/关闭它? 如果我有一个通过匕首注入到演示者的 RoomDatabase 对象,那太酷了,然后我可以访问各种Daos吗?我担心对象会挥之不去并占用内存. 解决方案 您可以注入 DataManager Singleton类,而不是将 RoomDatabase 插入演示者. 此 Data ..

从片段的适配器(A)导航到另一个片段(B)时无法解析上下文或应用程序

我试图从一个片段(A)导航到另一个(B),但是该片段但第一个片段(A)具有recyclerView的含义,当我单击任何项​​目时,我应该导航至下一个.我正在使用android Navigation组件,但是我无法解析方法 findNavController(xxx),因为它需要片段的ApplicationContext.,因为我尝试了 v.getContext(), v.getApplicatio ..

带LiveData的嵌套观察者(观察者)

在某些情况下,我有BottomNavigationView,其中显示/隐藏片段而不是添加/替换片段,因此它们不会每次都经历其生命周期. 片段1 观察一个数据库表,片段2 观察另一数据库表. 我的目标是在调用 Fragment 1 的onChanged时调用 Fragment 2 的onChanged. 一种有效的愚蠢而幼稚的解决方案是在片段2 中设置片段1 的观察者,并在其中调用 ..

pagedList一次加载所有项目

我正在尝试将架构组件集成到我的应用程序中,即分页,LiveData和ViewModel.Room已经被集成和测试过,因此我可以从我的DAO类返回 DataSource.Factory .这是我用于创建PagedList的LiveData的代码: PagedList.Config pagedListConfig =(新的PagedList.Config.Bu ..
发布时间:2021-04-04 18:46:20 移动开发

如果使用导航组件将我的图像从ImageView中的相机缝到另一个片段后消失了,这是正常的吗?

我尝试使用相机捕获图像,然后图像结果将以片段A的形式放置在我的ImageView上,如下代码所示,因此它不从服务器获取图像路径,然后将其放置在使用Glide Library的ImageView,我从相机拍摄了图像. val image_uri = Uri.fromFile(photoFile)photoImageView.setImageURI(image_uri) 然后,我使用此代码(从 ..

仅当minifyEnabled并与LifeCycle v 2.1.0一起使用时,应用程序才会在创建ViewModel时崩溃

使用 lazy {} 创建视图模型时,我的应用在启动时因 LinkageError 而崩溃.只有在以下情况下才会发生崩溃: minifyEnabled 在build.gradle和AND 中设置为 true 我使用 ver.2.1.0 生命周期组件.它与 lifecycle-2.0.0 和 minifyEnabled 一起使用时效果很好 def lifecycle_version = ..

如何将WearableActivity与LiveData和ViewModel结合使用

我希望能够在Wearable应用程序中使用新的Android体系结构组件中的Lifecycle组件(与在Android应用程序中相同). 在我的主要Android应用中,我放入了 LiveData 字段在 ViewModel 中.然后可以从我的两个活动中访问/绑定此 ViewModel 和我的片段.为此,我使用方法 WearableActivity 类从可穿戴式应用中的中的ViewModel ..
发布时间:2021-04-04 18:46:11 移动开发