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 文件。但它什么也没做,实际上什么也没做。没有错误,不打印任何东西。