首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用AWS AppSync构建离线第一移动应用程序?

是否可以使用AWS AppSync构建离线第一移动应用程序?
EN

Stack Overflow用户
提问于 2017-12-08 11:18:03
回答 3查看 4.1K关注 0票数 11

我想使用AWS AppSync进行移动开发(Android/iOS),但我不确定它的脱机功能。

根据文档,数据在离线时可以访问,如果客户端再次联机,数据将自动同步。但是,在使用AppSync创建和修改脱机数据之前,我无法找到有关应用程序客户端是否需要首先连接到AWS的任何信息。

我不熟悉AppSync的底层技术(例如GraphQL),也无法访问公开预览版本来亲自测试它。

我想让对隐私敏感的用户在不连接到AWS的情况下使用应用程序,同时仍然可以使用AppSync作为离线数据库。只有当用户稍后决定跨设备使用备份/同步数据时,他或她才能选择加入连接到AWS.

这个用例可以用AWS AppSync吗?

不使用任何其他本地存储(如SharedPreferences、SQLite、领域等)

EN

回答 3

Stack Overflow用户

发布于 2018-01-06 17:32:47

应该可以使用Firestore、AWS AppSync或您自己的后端解决方案。任何您使用的方法,您将控制什么时候开始保存/同步的东西在线。

在设计这个应用程序时,你需要处理所有这些。建议的方法

让我们以简单的ToDo应用程序为例

  • 我将让用户在应用程序中添加和保存Todos
  • 所有这些数据都将保存在磁盘上(使用SQLLITE、首选项或文件等)。
  • 如果用户清除数据或重新安装应用程序,则所有这些数据都会丢失。
  • 如果用户想升级,我将让他将这些数据与我的后端解决方案(上述解决方案中的任何一种)同步。

示例实现使用Android共享首选项作为本地存储

代码语言:javascript
复制
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
}
票数 1
EN

Stack Overflow用户

发布于 2018-01-07 06:39:01

使用领域数据库管理所有脱机和联机数据,并在应用程序卸载时保存

票数 0
EN

Stack Overflow用户

发布于 2018-01-08 12:25:18

你可以读https://docs.aws.amazon.com/appsync/latest/devguide/building-a-client-app-reactnative.html

AWS AppSync支持脱机模式,您可以为您的应用程序使用数据库

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47713306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档