相关疑难解决方法(0)

那么在 Flutter 中缓存最简单的方法是什么?

该应用程序是一个简单的新闻阅读器,它显示 WordPress 帖子,没什么特别的,不使用 BLOC、继承的 Widget、Firebase。我希望它即使在用户离线时也能显示缓存的数据(这是最新的 10 个帖子)。

所以如果用户离线显示缓存数据;或者以某种方式默认数据是缓存数据。

从 WP REST API 获取 firstPost[Id] 如果缓存的 Json 文件包含 Post[id],则显示缓存的数据;否则 getPosts(); 并显示加载指示器。还请更新本地 JSON 文件。

获取JSON数据的代码:

// Function to fetch list of posts
 Future<String> getPosts() async {
 var res = await http
    .get(Uri.encodeFull(apiUrl + "posts?_embed&per_page=10"), //TODO make it unlimited
        headers: {"Accept": "application/json"});

setState(() {
  var resBody = json.decode(res.body);

  posts = resBody;
});

return "Success!";
}
Run Code Online (Sandbox Code Playgroud)

获取帖子并显示加载指示器的未来:

  body: FutureBuilder<List<String>>(
      future: getPosts(),
      builder: (context, snapshot) {
        if (snapshot.hasError) print(snapshot.error);

        return snapshot.hasData
            ? ListViewPosts(posts: snapshot.data)
            : …
Run Code Online (Sandbox Code Playgroud)

dart flutter

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

dart ×1

flutter ×1