Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何打印实例?_Flutter_Dart - Fatal编程技术网

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(),
)