首页 > 解决方案 > 离线保存 Blogger 提取的数据

问题描述

我正在开发一个使用 Google Blogger API 从 Blogger 获取数据的应用程序。但问题是每次用户打开应用程序时,它都会获取数据并显示它。我希望数据必须在第一次打开应用程序时存储,并且有一个刷新按钮选项,当单击该按钮时,它将刷新数据并再次离线保存。

这是我在主要活动中的 getData 方法的代码:

 private void getData(){
    Call<PostList> postList = BloggerAPI.getService().getPostList();
    postList.enqueue(new Callback<PostList>() {
        @Override
        public void onResponse(Call<PostList> call, Response<PostList> response) {
            PostList list = response.body();
            recyclerView.setAdapter(new PostAdapter(MainActivity.this, list.getItems()));
            Toast.makeText(MainActivity.this, "Success", Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onFailure(Call<PostList> call, Throwable t) {
            Toast.makeText(MainActivity.this, "Failure", Toast.LENGTH_SHORT).show();
        }
    });
}

PS:我想用这个创建一个教程类型的应用程序。这是创建教程应用程序的好方法吗?我到处找,但没有找到确切的解决方案,所以想由博主创建它。

标签: javaandroidjsongsonblogger

解决方案


您可以在 SQLite 中本地保存数据并使用 DAO 使事情变得更容易,或者如果您需要一些 Rx 解决方案,可以研究 SqlDelight 和 SqlBrite。还有像 Couchbase 这样的存储解决方案,它们是 nosql。最后,您可以将数据存储在共享首选项中,甚至直接使用文件系统,尽管在这种情况下我不提倡使用其中任何一种


推荐阅读