我想使用AWS AppSync进行移动开发(Android/iOS),但我不确定它的脱机功能。
根据文档,数据在离线时可以访问,如果客户端再次联机,数据将自动同步。但是,在使用AppSync创建和修改脱机数据之前,我无法找到有关应用程序客户端是否需要首先连接到AWS的任何信息。
我不熟悉AppSync的底层技术(例如GraphQL),也无法访问公开预览版本来亲自测试它。
我想让对隐私敏感的用户在不连接到AWS的情况下使用应用程序,同时仍然可以使用AppSync作为离线数据库。只有当用户稍后决定跨设备使用备份/同步数据时,他或她才能选择加入连接到AWS.。
这个用例可以用AWS AppSync吗?
不使用任何其他本地存储(如SharedPreferences、SQLite、领域等)
发布于 2018-01-06 17:32:47
应该可以使用Firestore、AWS AppSync或您自己的后端解决方案。任何您使用的方法,您将控制什么时候开始保存/同步的东西在线。
在设计这个应用程序时,你需要处理所有这些。建议的方法
让我们以简单的ToDo应用程序为例
示例实现使用Android共享首选项作为本地存储
public void saveLocalTodo(String title, String details) {
ArrayList<Todo> todos;
Todo todo = new Todo(title, details);
String listOfTodo = sharedPreference.getString(TODOS_LIST, null);
if (listOfTodo == null)
todos = new ArrayList<Todo>();
else
todos = gson.fromJson(listOfTodo, new TypeToken<ArrayList<Todo>>() {
}.getType());
//save at 0th position, recent should always come first
todos.add(0, todo);
sharedPreference.edit().putString(TODOS_LIST, gson.toJson(todos)).apply();
}
public ArrayList<Todo> getLocalTodos() {
ArrayList<Todo> todos;
String listOfTodos = sharedPreference.getString(TODOS_LIST, null);
if (listOfTodos == null)
todos = new ArrayList<Todo>();
else
todos = gson.fromJson(listOfTodos, new TypeToken<ArrayList<Todo>>() {
}.getType());
return todos;
}
public void saveOnBackend() {
// Connect to Backend solution
// Get all local todos from preference
// Save all at once in batches
//OR
// Get all local todos from preference
// Save one by one
}发布于 2018-01-07 06:39:01
使用领域数据库管理所有脱机和联机数据,并在应用程序卸载时保存
发布于 2018-01-08 12:25:18
你可以读https://docs.aws.amazon.com/appsync/latest/devguide/building-a-client-app-reactnative.html
AWS AppSync支持脱机模式,您可以为您的应用程序使用数据库
https://stackoverflow.com/questions/47713306
复制相似问题