我使用AwsAppsync启动了一个项目。
该应用程序将首先离线。如果客户想要同步,我们希望稍后提供在云中同步的选项,作为一个额外的选项。因此,我将我的项目配置如下:
在build.gradle中添加了以下内容:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.2'
classpath 'com.amplifyframework:amplify-tools-gradle-plugin:0.2.1'
}
}
apply plugin: 'com.amplifyframework.amplifytools'并添加了这些依赖项:
implementation 'com.amplifyframework:core:0.10.0'
implementation 'com.amplifyframework:aws-api:0.10.0' // If using cloud sync
implementation 'com.amplifyframework:aws-datastore:0.10.0'然后使用扩容CLI:
在任何时候通过执行这个Amplify命令复制生成模型:
amplify codegen models之后,在活动的onCreate中:
ModelProvider modelProvider = AmplifyModelProvider.getInstance();
Amplify.addPlugin(AWSDataStorePlugin.forModels(modelProvider));
Amplify.configure(getApplicationContext());有了这个,我可以查询、更新和删除数据。
,这足以提供完整的离线体验吗?
现在,根据文档,要添加在线同步功能,我必须执行以下操作:
使用扩容CLI:
amplify push这将创建具有同步配置的amplifyconfiguration.json。
现在,这些信息似乎是在构建时设置的。那么,当我需要这个特性时,我如何启用/禁用它?这些文件提到了以下内容:
ModelProvider modelProvider = AmplifyModelProvider.getInstance();
Amplify.addPlugin(AWSDataStorePlugin.forModels(modelProvider));
Amplify.addPlugin(new AWSApiPlugin()); // If using remote model synchronization
Amplify.configure(getApplicationContext());因此,我需要添加“新AWSApiPlugin()”才能启用/禁用该特性?谢谢!
有足够好的教程/书来解释这一点吗?我读过几个文档(包括官员),但我没有找到关于这个特定案例的一些东西。它总是与在线同步从get开始。
发布于 2020-06-01 06:17:52
从高层次来看,是的,这是相当准确的。DataStore不需要后端,它只是一个本地DB,您可以用于脱机,包括查询。当您使用amplify push添加后端(这将部署由DynamoDB支持的AppSync API )并将其与AWSApiPlugin连接时,它将开始同步。最好的教程在docs中:https://docs.amplify.aws
https://stackoverflow.com/questions/61872577
复制相似问题