0
import 'package:flutter/material.dart';
import 'package:path/path.dart';
import 'dart:convert';
import 'dart:io';
import 'package:path_provider/path_provider.dart';

List<Widget> listWidget = [];
List<FileSystemEntity> listDirectories = [];
TextEditingController control = TextEditingController();

main() {
  runApp(MyApp());
}

class Home extends StatefulWidget {
  Home({Key key}) : super(key: key);

  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<Home> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(appBar: AppBar(),
           body: FlatButton(
              onPressed: () {
                JsonHelper jsonhelper = JsonHelper(
                  body: control.text, // I have created a textField for this but not mentioning it
                  title: "Hello",
                );
                return FutureBuilder(
                  builder: (context, snapshot) {
                    if (snapshot.hasData) {
                      print(snapshot.data);
                      return Text("Done");
                    } else {
                      return CircularProgressIndicator();
                    }
                  },
                  future: jsonhelper.jrite(),
                );
              },
              child: Text("CREATE"),
            
);

class JsonHelper {
  String title;
  String body;

  JsonHelper({this.title, this.body});

  jrite() async {
    Directory directory = await getApplicationDocumentsDirectory();
    File jsonfile = new File(join(directory.path, "$title.json")).create(recursive = true);
    Map contents = {"title": title, "body": body};
    File writtenfile = await jsonfile.writeAsString(jsonEncode(contents));
    return jsonDecode(await writtenfile.readAsString());
  }
}

我要做的是在如上所示的目录中创建一个json文件并返回文件的内容(或打印出来),我怎样才能得到上面的代码来为我完成这项工作。请帮忙 !!!!

我已经创建了一个如上所示的按钮,我希望:当我按下按钮时,快照数据被打印出来,也被写入一个 .json 文件。但它什么也没做,实际上什么也没做。没有错误,不打印任何东西。

4

0 回答 0