android-architecture-components相关内容
我对导航组件如何适应应用程序行为感到有些困惑.在教程中,您所做的事情并不会太复杂,但是在实际应用中实施时,情况似乎有所不同. 导航之前 在实施导航之前,我必须手动运行片段事务.为了做到这一点,我的片段将实现接口 onFragmentAction ,该接口将 bundle 传递给主 Activity ,并基于动作在活动中,将当前片段替换为另一个片段. 需要处理的第二部分是顶部工具栏
..
我正在使用Paging库直接从网络中加载日期.我是否必须实施逻辑以停止获取数据?就我而言,可能是收到的项目数少于页面大小时.目前,当我到达列表末尾时,lib会继续加载新页面. 解决方案 从理论上讲,PageKeyedDataSource具有结果回调, PageKeyedDataSource.LoadCallback 并且有一个 onResult 方法,文档说的是 如果没有更多
..
对于 LiveData ,是否有与RxJava的Observable中的 blockingNext 或 blockingSingle 类似的东西来同步获取值?如果没有,我如何实现相同的行为? 解决方案 您可以调用 getValue()返回当前值(如果有).但是,没有“阻塞直到有值"选项.通常,这是因为 LiveData 是要在主应用程序线程上使用的,因此应避免无限阻塞调用. 如果您需
..
我正在尝试使用新的 Paging Library 和 Room 作为数据库,但是我遇到了一个问题,即由数据库不应该是发送到UI的相同列表,我先将一些实体 map 展示给用户,然后在此 map 操作中更改列表的大小(添加项目),显然 Paging Library 不支持这种操作,因为当我尝试运行该应用程序时,出现了以下异常: 原因:java.lang.IllegalStateException:无
..
我正在尝试 Android体系结构组件中的分页库,但是我有怀疑将其集成到基于干净架构的项目中. 通常我有3个模块: 主模块(应用程序) 数据模块(具有网络和数据库依赖性的Android模块) 域模块(纯Kotlin模块) 为了引入分页,我不得不考虑将 PagedList 类作为域类.(IMO并不是一个糟糕的主意,因为最后是一个列表,并且数据源是抽象的) 因此在域
..
我想在我的应用程序中使用Google体系结构组件,但是将android studio更新到版本3.1.1之后,当我向app.gradle添加 android.arch.lifecycle:extensions:1.1.1 依赖项时文件,它将显示无法解决:支持片段 我的gradle版本是4.4
..
有关此主题的小故事:该应用程序仅在确认后使用对话框更新单击的行的值.在会议室数据库上使用分页方案. 添加或删除项目时,将获取最新的数据集并将其传递到submitList方法,然后所有更改都可以看到并正常工作. 问题开始于此,如果现有项目已更新,则再次正确地获取了最新的数据集并将其传递给submitList,但是这次似乎没有变化. 当我调试 DIFF_CALLBACK 并将我的项目
..
当前,我正在使用 Android体系结构组件进行应用开发,所有内容都与分页库一起工作.列表正在使用LiveData更新否我想从列表中删除项目notifyItemRemoved()正在PagedList中工作我收到此异常: java.lang.UnsupportedOperationExceptionjava.util.AbstractList.remove(AbstractList.java:
..
我正在尝试创建一个使用MVVM架构的应用程序,有一件事我完全不了解. Android官方文档说,在ViewModel的引用活动上下文不是一个好主意(因为ViewModel可能会超出活动),所以当我想在恢复活动时执行某些操作时,我就开始怀疑用例了. 我知道ViewModel本身不应该执行业务逻辑,但是即使我使用某些服务类(假设GPSService必须启动并暂停每个活动,但必须在暂停时恢复
..
我正在使用LiveData从服务器获取数据并进行观察.我的 onChanged()方法只是第一次调用,而在服务器中的数据更新时不会调用. UserFragment: UserViewModel userViewModel = ViewModelProviders.of(this).get(UserViewModel.class);userViewModel.getUser().obser
..
使用 Android体系结构的导航组件,我有以下内容导航图 ->[首页]->[文章列表]->[特定文章] 我也有一个指向 [Specific Article] 的深层链接.打开后,当前导航至 [Home] . 我想合成一个后置堆栈,以便向上导航返回 [Articles List] (然后再次导航至 [Home] ). 导航的方式是什么? 解决方案 每个 NavDee
..
我正在使用android插件'com.android.tools.build:gradle:3.0.0-alpha1'和gradle版本 gradle-4.0-milestone在android studio 3.0中构建项目-1-all.zip . 也使用了Maven仓库: maven {网址"https://maven.google.com"} 此外,在我的项目中使用androi
..
我有一个类似于聊天的活动,其中我在使用带有PagedListAdaper的RecyclerView来加载一堆消息.我正在使用PositionalDataSource加载数据.它自身的加载工作正常,但是当我发送消息时,我使我的数据源无效,并且列表被重新制作.我的问题是这样做时会闪烁:
..
我的活动有一个Google的ViewModel,它可以获取一些模型项.然后将这些项目转换为RecyclerView的适配器项目.一个RecyclerView支持多种适配器项目. 我希望每个模型对象都有一个单独的视图模型对象,这样我才可以将更复杂的逻辑封装在该“小"视图模型中. 当前,当我有一些仅与某些适配器项有关的异步逻辑(需要在onCleared()中停止)时,我必须以某种方式通过主
..
我需要将 LiveData 对象返回的一种类型的数据转换为在后台线程上的另一种形式,以防止UI滞后. 在我的特定情况下,我有: MyDBRow 对象(由原始 long s和 String s组成的POJO); a 房间 日期/时间对象) 所以我需要将我的 LiveData 转换为 LiveData> ,但
..
因此我在当前应用中的模块具有这种结构. 文章与此相关,因此这是我的gradle文件的方式: 功能1-详细信息 ...实施项目(“:base")实施项目(“:feature-2-detail")... 功能2-详细信息 ...实施项目(“:base")实施项目(“:feature-1-detail")... 功能3-详细信息 ...实施项目(“:base")实施项目(
..
在Google发布的最新Android体系结构组件库中, Transformations 类中有两个静态函数.虽然 map 函数简单易懂,但我发现很难正确理解 switchMap 函数. switchMap的官方文档可以在 每次 userLiveData 的值更改时, userName 也会被更新.请注意,我们返回的是 String . 在 switchMap()函数中: M
..
我在单个片段上添加选项菜单遇到了一些麻烦,因为它破坏了导航.这是我的代码 我有一个具有 NoActionBar 样式和这种布局的Activity
..
我已经开始使用新的导航组件,而且我真的在挖掘它!不过,我确实有一个问题-当我处于图表的起始目标位置时,应该如何处理后退按钮? 这是我现在正在使用的代码: findNavController(this,R.id.my_nav_host_fragment).navigateUp() 当我在图表上的任何地方时,它工作得很好,它使我返回,但是当我在它的开始时,由于后备箱为空,应用程序崩溃了.
..
我有两个图,所以第一个图从一个片段移动到一个活动,将safeArgs传递给该活动. val操作= MyFragmentDirections.actionMyActivity(arg1,arg2)Navigation.findNavController(view).navigate(action) 现在,在第二篇文章中,我想将这些参数从 MyActivity 传递到属于此活动的片段.
..