将变量保存到文件 - Flutter

时间:2018-06-13 18:12:11

标签: android ios string file flutter

我一直在寻找一段代码来将指定的变量保存到文本文件。理想情况下,只需按<按>按钮即可。

这是我想要实现的代码,因此在每个listview项的最右边,我可以按一个图标按钮并执行上述代码。

如果有人对如何实现这一点有任何想法,我将不胜感激任何建议。

Widget _cryptoWidget() {
    return new Container(
        child: new Column(
          children: <Widget>[
            new Flexible(
              child: new ListView.builder(
                itemCount: _currencies.length,
                itemBuilder: (BuildContext context, int index) {
                  final int i = index ~/ 2;
                  final Crypto currency = _currencies[i];
                  final MaterialColor color = _colors[i % _colors.length];
                  if (index.isOdd) {
                    return new Divider();
                  }
                  return _getListItemUi(currency, color);
                },
              ),
            )
          ],
        )
      );
  }

感谢您的时间。

编辑:

ListTile _getListItemUi(Crypto currency, MaterialColor color) {
    return new ListTile(
      leading: new Image.network("http://cryptoicons.co/32@2x/color/"+currency.symbol.toLowerCase()+"@2x.png"),
      title: new Text(currency.name,
          style: new TextStyle(fontWeight: FontWeight.bold)),
      subtitle:
      _getSubtitleText(currency.price_usd, currency.percent_change_1h),
      isThreeLine: true,
    );
  }

第二次编辑:

Widget _getSaveValueButton() {
    new IconButton(
    icon: new Icon(Icons.add),
    onPressed: () { Directory appDocDir = await getApplicationDocumentsDirectory();
    String appDocPath = appDocDir.path;
    new File('$appDocPath/my_file.txt').writeAsStringSync('myVar: $_currencies');  

  }

1 个答案:

答案 0 :(得分:3)

您可以使用https://pub.dartlang.org/packages/path_provider获取临时或应用文档目录,然后在那里创建一个文件

String someVal = 'some value to write to the file'; 

Directory appDocDir = await getApplicationDocumentsDirectory();
String appDocPath = appDocDir.path;
new File('$appDocPath/my_file.txt').writeAsStringSync('myVar: $someVal');