问题标签 [sqlbrite]
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 - 带有两个 ArrayList 的 Android ListView 适配器
在我们的聊天应用程序中,我们希望使用很酷的新库SQLBrite来更新数据库更改的聊天。由于我们的聊天有无限滚动,并且聊天室可以有非常大的消息列表,我们希望将提供给 Chat ListView 适配器的 ArrayList 拆分为两个列表。检查图形的想法。
- 我们想在数据库中设置一个点,在这个点之上,旧消息将被普通的 SQLite 查询查询。低于这一点,我们要设置 SQLBrite,这将为我们带来添加到数据库的新消息。
- 每个部分都应填充其对应的 ArrayList。并且两个arrayLists 应该组合在一个适配器中。
我的问题是可以吗?如果是,我们如何在单个适配器中组合和处理两个动态 ArrayList?
编辑 1 1. 我需要在重置期间保持聊天滚动位置,并且在 ArrayLists 更新期间没有闪烁。
android - Android SQLBrite insertWithOnConflict
我使用事务通过 SQLBrite 包装器插入多个项目。
问题是某些项目可能已经在数据库中,因此存在冲突。我想使用insertWithOnConflict()
带有 IGNORE 的方法来解决冲突。我如何使用 SQLBrite 完成此任务?
android - 将 SQLBrite 逻辑提取到 Android 中的外部类
在我的聊天应用程序中,我使用 SQLBrite 包装器从本地数据库更新聊天。目前我的活动同时包含 UI 和 SQLBrite。现在我想将 SQLBrite 逻辑提取到外部类。因此,当我的活动还活着时,我需要提取的 SQLBrite 也活着。目前我有订阅者的问题。我还将它提取到外部类,并且它一直在发出查询,尽管一切都与它在活动时一样,并且它正在工作。
这是旧代码,所有内容都在同一个活动中:我该怎么做?
eclipse - 如何在 Eclipse 中使用 sqlbrite 和 RxJava 1.x?
我如何在 Eclipse 中使用下面给出的这些库。提取这些 zip 文件时没有找到 jar 文件。这些只能与android studio一起使用吗?
https://github.com/ReactiveX/RxJava
https://github.com/square/sqlbrite
谢谢。
android - 订阅多个 Observable 的适配器
我的问题是适配器订阅多个可观察对象的最佳方式是什么
我有一个具有标题和常规项目类型的适配器。适配器的信息来自使用 Sqlbrite 的数据库。使用 Sqlbrite,我想通过让适配器订阅 observable 来更新标题和列表。
对于第一个 Observable 来说不是问题。在我的片段的 OnResume 中:
但是,然后我尝试向片段添加第二个 Observable
所以,我需要在我的适配器中实现 Action1:
但是,我得到一个重复的类错误。所以我尝试实现一个泛型类型:
但是我收到一个运行时错误,我无法将摘要映射到提交。即便如此,我也不确定铸造泛型是解决问题的最佳方法。
根据 dwursteisen 的反馈:
我将 Summary 类更改为映射到 Submission。我还创建了一个名为“isSummary”的新字段。我按照建议将我的 observable 更改为以下内容:
这会创建一个 Observable,它会触发两次;一个是批量提交列表,另一个是大小为 1 的列表。这个列表实际上是摘要。在我的适配器中:
java - 使用 sqlbrite 和内容观察者的不同 betweet
我正在阅读关于 sqlbrite 和 RxJava 的介绍。我想知道使用 sqlbrite 和内容观察者来执行诸如监控 sms 数据库更改之类的操作有什么区别。我所知道的是,也许,在 sqlbrite 中,Observables 在至少有一个订阅者订阅它们之前不会发送,但在普通的内容观察者中,observables 总是发送消息。如果我错了,请纠正我,还有其他区别吗?非常感谢。
android - RxJava - 操作员是一项任务还是整个链是一项任务?
我正在编写一些代码来将记录插入 Sqlite 数据库(如果表为空)。在插入任何数据之前,它会进行 Web 服务调用LoveToDo.basecampClient().fetchMe()
以返回一些数据。
我使用 SqlBrite 进行数据库访问,使用 Retrofit 进行 Web 访问。这是我的代码:
不用说,我不认为这是很棒的代码。我想做的是找出如何将这段代码转换成好的东西。因此,让我们使用它并挑选它的可怕之处。
首先,我是否应该将数据库和 Web 服务调用操作结合在一个操作员中。例如:
或者是否有充分的理由将此类操作隔离在链中?
让我烦恼的第二件事是这是一个后台操作 - 不会因为这段代码而直接更新用户界面。这就是为什么有一个无参数的subscribe()
函数调用。但是当出现异常时会发生什么?这是否意味着我必须执行以下操作?
顺便说一句,我需要将subscribeOn
whenobserveOn
设置为后台线程吗?
第三,链由 SqlBrite 观察者启动。在链的后面,我再次需要 SqlBrite,所以我使用 singleton 访问它LoveToDo.briteDatabase()
。这是一个坏主意吗?有一个更好的方法吗?
最后,有没有办法上break;
链?如果我可以放弃我正在做的事情而不是在每一步检查丢失的数据,那就太好了
java - RxJava 和 Sqlbrite - 使用什么运算符
我开始将 RxJava 与SqlBrite结合使用,但操作员遇到了一些问题zip
。
假设我有 2 个课程,User
并且Tweet
.
以及他们各自的 SQLite 表:
和他们各自的 SqlBrite DAO
用户道:
TweetDAO:
正如您在 中看到的UserDao
,我尝试使用zip
和flatMap
运算符的组合来填充Tweet
for each的列表User
。
第一个问题:有没有更好的方法来做到这一点?
第二个问题:那个zip
操作符似乎永远挂起并且永远不会完成......我看到它被tweetDao.getTweetsByUser(user)
调用但从未被调用......有人知道为什么吗?Func
zip
第三个问题:有没有比使用and组合更好的方法将 an 转换Observable<List<T>>
为other ?Observable<T>
flatMap
from
该死,RxJava 很强大,但学习曲线非常陡峭......
android-sqlite - 当 SQLBrite 通知时如何获取数据库表更改的上下文(例如,更改了哪些行以及是否添加或删除了?)
示例用例:我们有一个可以更改状态(已读/未读)的消息列表。新消息可以出现在列表的任何位置,也可以在本地或通过其他方式从后端删除消息。
我们现在实现这一点的方式是,我们使用 SQLBrite 作为我们所知道的本地数据缓存的包装器。
- 操作(删除、更改消息状态)通过网络发送远程 API 调用来完成,或者我们轮询后端以查看是否有任何更改。
- SQLBrite 缓存作为远程 API 调用结果的副作用进行更新,包括用户发起的操作和定期轮询更新。此时,我们确切地知道发生了什么变化,我们执行 INSERT、UPDATE 或 DELETE 来更新缓存。
- UI 观察者被告知重新执行消息表的 SQLBrite 查询,并且 UI 更新自身以响应本地缓存中的更改。例如,使用挂起的删除动画离开一条消息。
问题是,处理第 3 步的最佳方法是什么?我们只剩下对新消息、已删除消息和更新消息进行昂贵的搜索了。我们必须运行整个查询,建立一组消息 ID,然后将其与我们在 UI 模型中知道的消息 ID 进行比较。当我们确切地知道 UI 小部件中需要更新的内容时,我们正在重建我们在第 2 步中获得的信息,但该信息并未在第 3 步中传递给我们的观察者。
有没有更好的方法来构建它,这样我们就可以避免代价高昂的对账步骤?
android - 将 groupBy 和 toList rxjava 函数与 sqlbrite 一起使用
使用sqlbrite时,使用groupBy()后无法使用rxjava函数toList()。这是我的代码:
这可以正常工作并在所有项目发出时记录它们,但是如果我将其更改为
我没有正确使用 toList() 吗?这可能是因为 sqlbrite 流没有结束,所以 rxjava 在完成 toList() 之前等待更多项目发出?