gpt4 book ai didi

android - 卸载和重新安装时不显示 Dropbox 数据存储表

转载 作者:行者123 更新时间:2023-11-29 01:43:49 25 4
gpt4 key购买 nike

我正在使用数据存储 API 从我的 Android 应用程序在 Dropbox 上创建一些表。

假设我在表格中插入了一些数据。我确实调用了 sync() 并且数据在应用程序控制台的 browse datastores 中可见。但是当我卸载应用程序并重新安装它时,并尝试查找用户是否有来自该应用程序的任何现有数据。它永远不会出现。 store.getTables() 什么都不返回。

我的 Intent 是能够在重新安装期间从应用程序导入任何现有数据。

示例代码:在第一次安装时,

DbxDatastore store = manager.openDefaultDatastore();
DbxTable table1 = store.getTable("table1");
table1.insert().set("name","test");
store.sync();

完成上述步骤后,表 1 在应用程序控制台的 browse datastores 中显示了 1 条记录。现在,如果我卸载应用程序并重新安装它,我想读取数据存储中存在的那 1 条记录。

DbxDatastore store = manager.openDefaultDatastore();
Set<DbxTable> tablesList = store.getTables();

这里 getTables() 不返回任何东西。即使我在调用 getTables() 之前调用 store.sync(),它也不会返回任何内容。

如何在重新安装应用程序时导入现有数据?

Android SDK 版本:4.4.2 和 4.3,带 dropbox 同步和数据存储 api

最佳答案

看来我的评论是正确的。您在打开数据存储后立即调用 getTables,因此尚未下载任何数据。这意味着您纯粹是在查看本地缓存的内容(对于刚刚链接的帐户,本地还不会缓存任何内容。)

您应该向数据存储添加一个监听器并等待其状态指示同步已完成。参见 https://www.dropbox.com/developers/datastore/docs/android#com.dropbox.sync.android.DbxDatastoreStatus .我相信您会想要等待 isDownloading 第一次为 false。

也就是说,通常您只需设置一个监听器,它会在发生任何变化时更新您的 UI...与任何其他变化相比,您真的需要在首次关联帐户时做一些特别的事情吗?

关于android - 卸载和重新安装时不显示 Dropbox 数据存储表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22751218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com