首页 文章

在Android上本地保存DynamoDB中的数据

提问于
浏览
3

我是Android和AWS的新手 . 我有一个java程序,它从一些网站读取文章,并在AWS上的dynamoDB中存储信息(如 Headers ,链接,描述,日期......) .

现在,我想开发一个能够读取数据的Android应用程序 . 我想每次应用程序启动时从服务器读取数据都会很浪费,所以我认为我应该在本地保存数据,只要有新条目就从数据库下载更新 . (我只是将项目添加到数据库,永远不会更新或其他东西) .

我的问题是这样做的最佳方式是什么?

  • 如果有新条目,我怎样才能从dynamoDB同步数据?

  • 是sqlite是在android中存储这种数据的最佳方法吗?

如果有另一种做同样的方式,我愿意学习 .

谢谢 .

2 回答

  • 0

    Amazon提供Cognito用于将本地数据与同步存储同步 .

    synchronize方法将本地缓存数据与存储在Amazon Cognito Sync存储中的数据进行比较 . 远程更改从Amazon Cognito Sync商店中提取;如果发生任何冲突,则调用冲突解决方案;设备上的更新值将推送到服务 .

    但是,同步存储是否是DynamoDB数据库并不完全清楚 . 这link说:

    Amazon Cognito Sync商店是链接到Amazon Cognito标识的键/值对商店 .

  • 1

    如果有新条目,我怎样才能从dynamoDB同步数据?

    您可以在互联网上(可能在S3上)放置某种设置文件,以便Android应用每次打开时进行检查 . 此文件可能包含插入DynamoDB的最后一条记录的ID或时间戳 . 然后,您的Android应用程序可以将其与本地版本进行比较,以确定是否需要从DynamoDB中提取更新 .

    这仍然是对互联网的呼唤 . 根据您在DynamoDB中存储的数据量,每次直接查询DynamoDB的速度可能同样快 . 这也会增加数据更新过程的复杂性,要求您确保S3上的文件始终更新 .

    是sqlite是在android中存储这种数据的最佳方法吗?

    是的,这似乎是最好的地方,虽然不知道更多关于您存储的数据的数量和类型,但很难做出明确的建议 .

相关问题