Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android上本地保存来自DynamoDB的数据_Android_Amazon Web Services_Amazon Dynamodb - Fatal编程技术网

在Android上本地保存来自DynamoDB的数据

在Android上本地保存来自DynamoDB的数据,android,amazon-web-services,amazon-dynamodb,Android,Amazon Web Services,Amazon Dynamodb,我对android和AWS都是新手。 我有一个java程序,可以读取一些网站上的文章,并将信息(如标题、链接、描述、日期等)存储在AWS上的dynamoDB中 现在,我想开发一个Android应用程序来读取数据。我想每次应用程序启动时从服务器读取数据都是浪费,所以我想我应该在本地保存数据,只要有新条目,就从数据库下载更新。(我只是将项目添加到数据库中,从不更新或做其他事情) 我的问题是这样做的最佳方式是什么 只有当有新条目时,我如何才能从dynamoDB同步数据 sqlite是在android中

我对android和AWS都是新手。 我有一个java程序,可以读取一些网站上的文章,并将信息(如标题、链接、描述、日期等)存储在AWS上的dynamoDB中

现在,我想开发一个Android应用程序来读取数据。我想每次应用程序启动时从服务器读取数据都是浪费,所以我想我应该在本地保存数据,只要有新条目,就从数据库下载更新。(我只是将项目添加到数据库中,从不更新或做其他事情)

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

  • 只有当有新条目时,我如何才能从dynamoDB同步数据
  • sqlite是在android中存储此类数据的最佳方式吗
  • 如果有其他方法可以做到这一点,我愿意学习

    多谢各位

  • 只有当有新条目时,我如何才能从dynamoDB同步数据
  • 你可以在互联网上(也许在S3上)放置一些设置文件,让你的Android应用程序在每次打开时进行检查。该文件可以包含插入DynamoDB的最后一条记录的ID或时间戳。然后,您的android应用程序可以将其与本地版本进行比较,以确定是否需要从DynamoDB获取更新

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

  • sqlite是在android中存储此类数据的最佳方式吗
  • 是的,这似乎是最好的地方,但如果不了解存储的数据的数量和类型,就很难给出明确的建议。

    亚马逊提供了将本地数据与同步存储同步的功能

    同步方法将本地缓存数据与存储的数据进行比较 在亚马逊Cognito同步商店。远程更改是从 亚马逊干邑同步商店;如果存在冲突,则调用冲突解决 冲突发生;并将设备上的更新值推送到 服务

    不过,还不完全清楚同步存储是否是DynamoDB数据库。上面说:

    Amazon Cognito同步存储是一个链接到 亚马逊Cognito身份


    在不查询数据库的情况下,您如何知道有新条目?嗨,马克,谢谢您的评论。所以你说每次用户打开应用程序时,我都要查询两个数据库(服务器上的数据库和手机上本地的数据库),看看它们是否相同?有没有更聪明的方法?这就是我要问你的。您计划如何确定何时将新项目插入DynamoDB?你的问题听起来好像你已经明白了。如果你不这样做,那么查询DynamoDB看看你是否应该查询DynamoDB将会破坏你优化的目的。我的问题是,只有当本地数据库过期时,在服务器上查询数据库的最佳方式是什么谢谢。也许我会做一些类似的事情,但有点不同。我将在设备上保存最后一个id(增加一个),然后仅查询此id和更新的id。谢谢again@morgul,既然这不是一个100%防弹的答案,我应该删除它吗?谢谢