Dart 颤振导入包/插件

Dart 颤振导入包/插件,dart,flutter,Dart,Flutter,如何获得用户IP或仅在国家/地区使用颤振(Dart)? 我找不到 如何导入这个库? 导入“包:位置/location.dart”要获取IP地址,可以使用dart:io库。注意,在回答这个问题时,Android看起来不受支持 import 'package:flutter/material.dart'; import 'dart:io'; class GetIPScreen extends StatefulWidget { @override _GetIPScreenState crea

如何获得用户IP或仅在国家/地区使用颤振(Dart)? 我找不到

如何导入这个库?
导入“包:位置/location.dart”

要获取IP地址,可以使用dart:io库。注意,在回答这个问题时,Android看起来不受支持

import 'package:flutter/material.dart';
import 'dart:io';

class GetIPScreen extends StatefulWidget {
  @override
  _GetIPScreenState createState() {
    return new _GetIPScreenState();
  }
}

class _GetIPScreenState extends State<GetIPScreen> {
  String _ipAddress;

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      body: new Center(
        child: new Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            new Padding(
              padding: const EdgeInsets.symmetric(vertical: 16.0),
              child: new Text("IP Address: $_ipAddress"),
            ),
            new RaisedButton(
                child: new Text("Get IP"),
                onPressed: () async {
                  debugPrint("pressed button");
                  if (NetworkInterface.listSupported) {
                    List<NetworkInterface> networkInterfaces = await NetworkInterface.list(
                      type: InternetAddressType.IP_V4
                    );
                    networkInterfaces.forEach((i) => debugPrint("name: ${i.name}, address: ${i.addresses}"));
                    setState(() {
                      _ipAddress = networkInterfaces[0].addresses.first.address;
                    });
                  } else {
                    setState(() {
                      _ipAddress = "Not Supported";
                    });
                  }
                })
          ],
        ),
      ),
    );
  }
}
导入“包装:颤振/材料.省道”;
导入“dart:io”;
类GetIPScreen扩展StatefulWidget{
@凌驾
_GetIPScreenState createState(){
返回新的_GetIPScreenState();
}
}
类_GetIPScreenState扩展状态{
字符串地址;
@凌驾
小部件构建(构建上下文){
归还新脚手架(
正文:新中心(
子:新列(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
新填料(
填充:常量边集。对称(垂直:16.0),
子项:新文本(“IP地址:$\U ipAddress”),
),
新升起的按钮(
子项:新文本(“获取IP”),
onPressed:()异步{
调试打印(“按下按钮”);
if(NetworkInterface.listSupported){
List networkInterfaces=等待NetworkInterface.List(
类型:InternetAddressType.IP_V4
);
forEach((i)=>debugPrint(“名称:${i.name},地址:${i.addresses}”);
设置状态(){
_ipAddress=网络接口[0]。addresses.first.address;
});
}否则{
设置状态(){
_ipAddress=“不受支持”;
});
}
})
],
),
),
);
}
}

你说的“如何导入此库”是什么意思?该行正在导入库。也许您没有将其添加到
pubspec.yaml
中的依赖项中-请看,是的,这就是我的意思。因为当我编写这个导入时,系统指出了一个错误。谢谢你的帮助。我和Fletter只工作了一个星期,所以有很多简单的事情我不知道或不明白。不要太担心落选。你会发现如何提出好的问题,并在一段时间后获得更多的选票。请查看更多关于什么是好问题的详细信息。您需要开始的一切都是谢谢您。但我还没有找到如何获得用户IP或他的国家的名称(