我.txt在 Flutter 项目的文件夹资产中有一个文件,当应用程序在设备上打开时,SQFlite会创建一个数据库,并且应该从该文件行读取以将它们插入到数据库中。我需要阅读.txt文件的每一行并将它们添加到List<String>这样的:
List<String> _list = await new File('$dir/assets/file.txt').readAsLines();
Run Code Online (Sandbox Code Playgroud)
我尝试使用rootBundle但我无法将结果转换为 aFile并尝试像这样直接打开文件:
String dir = (await getApplicationDocumentsDirectory()).path;
Run Code Online (Sandbox Code Playgroud)
我总是找不到文件并收到错误消息。
var byte = await rootBundle.load('assets/bot.txt'); // Can't convert it to file
String dir = (await getApplicationDocumentsDirectory()).path;
List<String> _list = await new File('$dir/assets/file.txt').readAsLines(); // Error
error FileSystemException: Cannot open file, path = '/data/user/0/com.example.animationexp/app_flutter/assets/file.txt' (OS Error: No such file or directory, errno = 2) during open, closing...
Run Code Online (Sandbox Code Playgroud)
有没有办法让我打开和阅读这个文件?
我做了一个 Flutter 插件,我需要添加国际化。我已经按照本教程进行操作,就像我通常对 Flutter 应用程序所做的那样:Internationalization in Flutter 1.22+
但是对于 Flutter 插件,没有 MaterialApp,所以我无法添加这个:
MaterialApp(
localizationsDelegates: Translations.localizationsDelegates,
supportedLocales: Translations.supportedLocales
)
Run Code Online (Sandbox Code Playgroud)
那么,有没有办法将国际化添加到我的 Flutter 插件中,以便我可以在我的插件中使用它?
Translations.of(context).title;
Run Code Online (Sandbox Code Playgroud) 我正在 flutter 中做一个 UI,现在它在我的模拟器上看起来很棒,但我担心如果屏幕尺寸不同它会崩溃。防止这种情况的最佳实践是什么,尤其是使用 gridview。
这是我正在尝试做的用户界面(目前只有左侧部分):

我现在拥有的代码正在运行。每个项目都在一个Container中,其中 2 个是Gridview:
Expanded(
child: Container(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
SizedBox(height: 100),
Container( // Top text
margin: const EdgeInsets.only(left: 20.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text("Hey,",
style: TextStyle(
fontWeight: FontWeight.bold, fontSize: 25)),
Text("what's up ?", style: TextStyle(fontSize: 25)),
SizedBox(height: 10),
],
),
),
Container( // First gridview
height: MediaQuery.of(context).size.height/2,
child: GridView.count(
crossAxisCount: 3,
scrollDirection: Axis.horizontal,
crossAxisSpacing: 10,
mainAxisSpacing: 10,
padding: const EdgeInsets.all(10),
children: List.generate(9, (index) {
return …Run Code Online (Sandbox Code Playgroud)