问题标签 [android-jetpack-datastore]

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.

0 投票
0 回答
19 浏览

android - 从android中的DataStore获取静态数据

如何从 Jetpack 数据存储中检索静态数据,而不是在 android 中流动?默认返回此流量。

0 投票
0 回答
34 浏览

kotlin - 应用程序分离后,再次打开它然后最后一个搜索查询结果不显示,而是显示默认结果

我正在尝试在片段停止或应用程序与进程分离时保存查询结果,当返回进程时,应用程序将显示最后的搜索查询结果,但应用程序显示默认查询结果请提前解决此问题,并抱歉英语。

科特林

在此类中使用 DataStore Preferences 保存和读取数据

科特林

0 投票
0 回答
20 浏览

android-jetpack-datastore - 如何在 gradle.kts 中配置 Jetpack Datastore?

当我想

但它不编译

0 投票
1 回答
146 浏览

android - 如何监听写入 Preferences DataStore 的成功或失败结果?

首选项 DataStore 提供了一个 edit() 函数,该函数以事务方式更新 DataStore 中的数据。例如,此函数的 transform 参数接受一段代码,您可以在其中根据需要更新值。

我想跟踪它何时成功写入数据存储。我应该把跟踪代码放在哪里?

0 投票
0 回答
50 浏览

android - 为什么没有设置我的 Preferences DataStore 值?

我对 AndroidX DataStore 的理解是操作应该是线程安全的和事务性的。但是我正在设置一个值,然后立即读取它,并且该值尚未更新。我究竟做错了什么?这应该是不可能的吧?

这是我的“get”和“set”函数。

以下是他们在我的应用程序的 CREATE 方法中如何调用它们。

在“get”调用之后,test==""。

0 投票
2 回答
385 浏览

android - 如何使用 Dagger-Hilt 注入 Kotlin 扩展属性

我正在尝试使用 Kotlin 序列化和 Hilt 来实现 Proto Datastore。

参考:https ://medium.com/androiddevelopers/using-datastore-with-kotlin-serialization-6552502c5345

我无法使用新的 DataStore 创建语法注入 DataStore 对象。

我收到了 lint 消息Local extension properties are not allowed

如何注入这个 Kotlin 扩展属性?或者有什么方法可以注入 dataStore 对象?

0 投票
0 回答
349 浏览

android - 为什么 Android Datastore 总是返回与 runblocking 相同的值

我已经使用 Datastore 很长时间了。今天我不得不阅读主线程中的值。在查看文档后,我决定使用runblocking。我创建了一个名为 lastInsertedId 的长值。

我在片段 A 中读取 lastInsertedId,然后导航到片段 B,我正在更改 lastInsertedId 的值。当我弹回片段 A 时,我再次阅读 lastInsertedId。但是 lastInsertedId 的值还是一样的。实际上它的值正在改变,但我无法读取它的最后一个值。

我认为这是因为片段 A 没有被破坏。只有 onDestroyView 从 onCreateView 调用和创建。我想要的是我需要在主线程中随时访问 lastInsertedID 的当前值。

当我将它创建为变量时,它总是返回相同的值。但是当我将它转换为功能时,它运行良好。但我认为这不是最佳做法。访问此值的最佳方法是什么?谢谢。

0 投票
1 回答
367 浏览

android - 从 Preferences DataStore 读取返回 null

即使我使用 elvis 运算符在首选项管理器上设置了默认值,我的 DataStore 仍然返回 null。此外,没有调用我在键值对上设置首选项的编辑函数,所以我什至不确定我的数据存储是否正常设置。不过,我很确定该类已正确注入,因为在使用断点时我可以将其视为变量。

基本上val countryCode = viewModel.countrySettings.value在 ViewModel 上总是返回 null

PreferencesManager 类

视图模型

分段

0 投票
0 回答
88 浏览

android - 如何在 Android 中使用 Proto Data Store 准备 proto 文件和更新数据?

我想将以下用户对象详细信息存储在 Android 的 Proto Data Store 中。

我使用以下代码添加了 .proto 文件。

但不确定如何使用 .proto 文件中的现有数据更新 UserObject 详细信息。我用下面的代码添加了 Proto 数据存储逻辑。

您能解释一下如何在 android 的 Proto 数据存储中更新用户对象详细信息吗?

0 投票
0 回答
900 浏览

android - 找不到类的序列化程序。将类标记为 @Serializable 或显式提供序列化程序

已发布的 APK 崩溃并出现下一个错误:

我添加了官方的proguard规则

https://github.com/Kotlin/kotlinx.serialization#android

(当然是我的包裹)

甚至添加@KeepUser课程中,但仍然崩溃

这里有什么问题?

更新

发现问题。我实际上有一个伴生对象,User并且必须为这个对象添加@Keep 来解决这个问题: