我已经使用 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'
然后使用 Amplify CLI:
通过执行此 Amplify CLI 命令随时生成模型:
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());
那么,我是否需要添加“new AWSApiPlugin()”来启用/禁用此功能?谢谢!
任何足以解释这一点的教程/书籍?我已经阅读了几个文档(包括官方文档),但我无法找到有关此特定案例的信息。从一开始就始终在线同步。