我有一个非常有趣的问题,我可以在模拟器上很好flutter build apk
地运行我的应用程序成功,可以在Google Play上发布新版本,也可以apk
在手机上安装新版本(Pixel 2 XL,目前在4月发布安全补丁) 。
但是,当我在手机上启动它时,它立即崩溃。我还没有尝试安装debug apk
,首先,我想应用May补丁。
我已经尝试了几次升级颤振,但那里似乎也不是什么问题:
C:\Android\osszefogasaszanhuzokert>flutter upgrade
Upgrading Flutter from c:\Android\flutter...
From https://github.com/flutter/flutter
3d3673a34..23098dde5 master -> origin/master
Already up to date.
Upgrading engine...
Already up-to-date.
Flutter 0.3.6-pre.81 • channel beta • https://github.com/flutter/flutter.git
Framework • revision 2849bc04ff (10 days ago) • 2018-05-01 20:07:45 -0700
Engine • revision d5c1117170
Tools • Dart 2.0.0-dev.52.0.flutter-011676641a
Running "flutter packages upgrade" in osszefogasaszanhuzokert... 14.4s
Running flutter doctor...
Doctor summary (to see all details, run flutter …
Run Code Online (Sandbox Code Playgroud) 我已经使用DropdownButton
和TextField
小部件编写了相当广泛的表格。概念是我有一个StatefulWidget
,其中的类State<StatefulWidget>
包含2个方法,这些方法返回要构建的小部件。这样,我可以轻松地访问和使用输入的数据,并将其传递给功能以将它们组成电子邮件。
但是,当我从选项中选择一个项目时,框架在重建期间会引发异常。我放入了一些日志函数,它表明该setState()
方法成功地将值保存为selectedValue
变量。
Widget buildMultiChoiceInputRow(var label, List<String> values) {
final List<String> options = values.toList();
selection = options.first;
final dropDownMenuOptions = options.map((String value) {
return new DropdownMenuItem<String>(
value: value,
child: new Text(value),
);
}).toList();
return new Column(
children: <Widget>[
new Row(
children: <Widget>[
new Expanded(
child: new Container(
padding:
const EdgeInsets.only(left: 5.0, top: 2.0, right: 5.0),
child: new Text(label, style: commonInfoCardInfoTextBlack16Bold)),
),
],
),
new Row(
children: <Widget>[
new Expanded( …
Run Code Online (Sandbox Code Playgroud) 我最近开始使用dart&flutter为动物收容所开发应用程序,并遇到了问题.
这个想法是有一个捐赠页面,用户可以选择为狗狗购买食物.开放式脚手架将显示食物的图片,并从销售所述食物的网站和当前价格中获取一些数据.图像作为资产存储在本地,但我想从网站上获取至少价格,因此它始终是最新的.
我按照flutter.io上的教程,但问题是http.get返回网站的整个代码,而不仅仅是我指定的部分(description_tab).我尝试检查async和dart:convert文档,但到目前为止,我还没有找到任何可以帮助从HTML网站抓取特定内容的东西,使用div标签.
完整的代码可以在这里找到:https://github.com/kergefarkas/osszefogasaszanhuzokert
这就是我能够获取网站的整个HTML代码的方式:
Future<JoseraAdultActive> fetchPost() async {
final response = await http.get(
'https://www.petissimo.hu/kutyaknak/szarazeledelek/josera/josera-active.html');
final json = JSON.decode(response.body);
return new JoseraAdultActive.fromJson(json);
}
class JoseraAdultActive {
final String description;
final String price;
JoseraAdultActive({this.description, this.price});
factory JoseraAdultActive.fromJson(Map<String, dynamic> json) {
return new JoseraAdultActive(
description: json['description_tab'],
price: json['product_price_from']);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我显示提取信息的地方:
new Container(
padding: const EdgeInsets.only(top: 10.0, right: 5.0),
child: new FutureBuilder<JoseraAdultActive>(
future: fetchPost(),
builder: (context, snapshot) {
if (snapshot.hasData) {
return new Text('');
} else if (snapshot.hasError) { …
Run Code Online (Sandbox Code Playgroud) 我的 Google Drive 上有一个公共(知道链接的任何人都可以查看)文件,我想在我的 Android 应用程序中使用它的内容。
从我目前收集到的信息来看,我需要 fileID、OAuth 令牌和客户端 ID - 这些我已经得到了。但我无法弄清楚授权应用程序或获取文件的确切方法是什么。
编辑:
简单地使用 file.readAsLines 读取它是行不通的:
final file = new File(dogListTxt);
Future<List<String>> dogLinks = file.readAsLines();
return dogLinks;
Run Code Online (Sandbox Code Playgroud)
dogLinks 变量未填充任何数据,但我未收到任何错误消息。
我尝试的另一种方法是遵循这个示例,但这是一个基于 Web 的应用程序,具有显式授权请求(由于某种原因,我永远无法导入 dart:html 库)。
最好的解决方案是如果它可以无缝完成,因为我会在应用程序启动时将内容存储在列表中,并在手动刷新按钮按下时重新阅读。
我在这里找到了几个旧的解决方案,但是这些方法中描述的方法似乎不再适用(从 4-5 年前开始)。
是否有关于在用 dart 编写的 Flutter 应用程序中集成 Drive API 的良好分步教程?