Flutter 如何打印实例?
我试图打印一条短信,但我只是打印“的实例…” 这是一款在屏幕上显示智能手机中所有短信的应用程序 我正在使用短信插件Flutter 如何打印实例?,flutter,dart,Flutter,Dart,我试图打印一条短信,但我只是打印“的实例…” 这是一款在屏幕上显示智能手机中所有短信的应用程序 我正在使用短信插件 class _HomeState extends State<Home> { Future<List> getSMS() async { SmsQuery query = new SmsQuery(); List<SmsMessage> messages = await query.getAllSms; return
class _HomeState extends State<Home> {
Future<List> getSMS() async {
SmsQuery query = new SmsQuery();
List<SmsMessage> messages = await query.getAllSms;
return messages;
}
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return new Scaffold(
body: FutureBuilder<List>(
future: getSMS(),
builder: (context, snapshot) {
switch(snapshot.connectionState){
case ConnectionState.none:
case ConnectionState.waiting:
default:
if(snapshot.hasError){
return new Center(
child: Text("Erro ao Carregar Dados :(",
style: TextStyle(
color: Colors.black,
fontSize: 25.0),
textAlign: TextAlign.center,)
);
} else {
debugPrint(snapshot.data[0].toString());
}
}
return new Center(
child: Text(snapshot.data[0].toString(),
style: TextStyle(
color: Colors.black,
fontSize: 25.0),
textAlign: TextAlign.center,)
);
},
),
);
}
}
class\u HomeState扩展状态{
未来的getSMS()异步{
SmsQuery query=新建SmsQuery();
列表消息=wait query.getAllSms;
返回消息;
}
@凌驾
void initState(){
super.initState();
}
@凌驾
小部件构建(构建上下文){
归还新脚手架(
正文:未来建设者(
future:getSMS(),
生成器:(上下文,快照){
交换机(快照.连接状态){
案例连接状态。无:
案例连接状态。正在等待:
违约:
if(snapshot.hasError){
返回新中心(
子:文本(“Erro ao Carregar Dados:(“,
样式:TextStyle(
颜色:颜色,黑色,
字体大小:25.0),
textAlign:textAlign.center,)
);
}否则{
debugPrint(snapshot.data[0].toString());
}
}
返回新中心(
子项:文本(快照.data[0].toString(),
样式:TextStyle(
颜色:颜色,黑色,
字体大小:25.0),
textAlign:textAlign.center,)
);
},
),
);
}
}
我只需要在屏幕上打印sms,但我不知道如何在dart中打印对象的实例,您只能打印字符串(因为打印控制台就是这样做的)。如果类没有
toString()
方法内置,然后您需要找出字符串的位置。在该包上,它看起来像SmsMessage
有一个body
参数,它是一个字符串。因为您有一个SmsMessage列表,所以您需要以类似forLoop的方式遍历它们,并打印它们随后的body
参数。要打印如果要在console中打印所有消息,可以执行的第一条消息打印(messages.first.body):
print(snapshot.data.map((message) => message.body));
Text('${snapshot.data.map((message) => message.body)}')
Column(
children: snapshot.data.map((message) => Text('${message.body}')).toList(),
)
如果要在控制台中打印第一条消息:
print(snapshot.data.first.body);
Text('${snapshot.data.first.body}')
如果要在文本小部件中显示所有消息:
print(snapshot.data.map((message) => message.body));
Text('${snapshot.data.map((message) => message.body)}')
Column(
children: snapshot.data.map((message) => Text('${message.body}')).toList(),
)
如果要在文本小部件中显示第一条消息:
print(snapshot.data.first.body);
Text('${snapshot.data.first.body}')
如果要显示包含所有消息的文本小部件列表:
print(snapshot.data.map((message) => message.body));
Text('${snapshot.data.map((message) => message.body)}')
Column(
children: snapshot.data.map((message) => Text('${message.body}')).toList(),
)