问题标签 [android-jetpack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 嵌入式列表 - 如何?
我正在玩 ROOM for android,我看到的大多数示例都没有解释如何创建一个包含 arrayList 的实体表。
@Embedded 似乎只嵌套了另一个对象,但我试图嵌套一个名为 usageRules 的对象列表
我需要创建一个单独的使用规则表吗?问题是,每个使用规则可以包含在上面的多个产品中,并且一个产品可以定义多个使用规则,因此它是多对多关系。
ROOM 可以吗?
我知道在 Realm 中,我可以简单地将 UsageRule List<> 转换为 RealmList<>。ROOM 中是否有等价物?
另一种选择是因为它只是一个字符串列表。我可以简单地创建一个名为 allUsage 的新表实体字段,该字段使用分隔符存储特定产品上的所有使用规则,然后当我想再次从 ROOM 构造数据对象时,我可以通过执行 allUsage.Split(.. )
仍然宁愿以另一种方式做,因为我可能会遇到这样一个场景,其中 usageRules 不仅仅是一个字符串列表,而是一个对象列表......
android - 来自房间持久性库的 HashMap
我想从我的 sql 中获取一个密钥对对象,所以我怎样才能像这样
android - Android分页边界回调说明
我已经在我的应用程序中集成了分页组件,它工作得非常好(几乎)。我有数据库+网络模型。数据库最初有一些项目被LivePagedListBuilder
. 我观察到这一点LiveData<PagedList<InboxEntity>>
并最终将列表提供给PagedListAdapter#submitList(PagedList<T> pagedList)
,例如:
DAO#getItemList
返回DataSource.Factory<Integer, Entity>
。
我正在监听边界回调并在到达分页列表末尾时触发网络调用。该调用再次填充数据库。
还有一件事。我已经AdapterDataObserver
在回收站视图上注册了,因为如果在开头插入了一个项目,我必须滚动到顶部位置:
我在这个模型中面临一个问题:
进行网络调用后,再次填充数据库并onChanged
使用 new 调用函数PagedList<Entity>
。现在,这个分页列表是否只包含新项目。我已经证实了这一点。
但是onItemRangeInserted
方法也是用positionStart
as调用的0
,这表明项目是在开头插入的。但他们不是。它们被插入到最后,由 stetho db 检查员确认。
那么为什么onItemRangeInserted
被称为positionStart
as0
呢?这让我很难区分何时在适配器的开头插入新项目以及何时在末尾插入项目。
编辑:
的值为itemCount
10,这是我的页面大小。
在 DiffCallback 中,我只是比较了函数中两个实体的主键列areItemsTheSame
。
android - Android Jetpack 到底是什么?
我看过 Google I/O 2018 的开发者主题演讲,也看过 Android 开发者网站上的 jetpack 主页,但我无法理解它到底是什么。对我来说,这似乎只是我们已经使用的一堆 API 的新名称。IDE 是否会为我们做一些事情或在编码时会有所帮助?Jetpack 中的所有组件都指向其原始的 Android 文档,并且实际上与以前没有任何区别。有人可以简单地解释一下 Jetpack 对我作为开发人员的实际作用,除了在网页上加入俱乐部文档吗?
android - 无法使用变换 JetifyTransform 解决依赖关系?
无法使用变换 JetifyTransform 解决依赖关系?
错误:
android - 如何使用 WorkManager 安排通知?
我想在每次用户在数据库中添加特定时间的注释时安排通知。虽然使用 AlarmManager、BroadcastReceiver 等有多种方法可以做到这一点。如何使用 WorkManager 做到这一点?
android - 将依赖项迁移到 Android Jetpack
因此,我一直在将我的依赖项从支持库迁移到此链接中所述的 jetpack 映射。
我现在在构建我的应用程序时遇到了一个错误,这让我一无所知。我不知道是什么导致了这个错误,因为它看起来像是生成的资源。
错误是:
错误行(8673)是:
新迁移的依赖项是:
android-support-library - 使用带有 Android 导航 UI 库的 BottomNavigationView 进行导航时从操作栏中删除向上按钮
我创建了一个小应用程序,其中包含三个片段,用于通过 BottomNavigationView 进行顶级导航。如果您启动应用程序并单击底部导航上的导航按钮,您会在操作栏中看到一个向上按钮。这是活动的代码:
这是结果的屏幕截图。该应用程序在主屏幕上启动,我所做的只是单击底部导航视图中的配置文件按钮。
我试过听 BottomNavigationView 的项目选择并使用不同的NavOptions手动导航无济于事。当用户使用 BottomNavigationView 导航时,我们可以做些什么来避免在操作栏中显示向上按钮?
android - FastScrolling recyclerView 与 PagedListAdapter快速滚动时崩溃为什么?
我的道
正如Google I/O video
我PositionalDataSource.Factory<Integer, User>
用于fast scrolling recyclerView
.
但
getItem(position)
在用户使用快速滚动时null
。PagedListAdapter
为什么 ?
注意:- 如果用户不使用快速滚动机制并使用general scroll
recyclerView 应用程序不会崩溃。