【发布时间】:2019-07-11 20:46:24
【问题描述】:
如何使用 Bing 网络搜索 Apiv7 在我的 Flutter 应用程序中获取照片?
我从官方网站获得了 API 和端点,但我无法获取 JSON 文件以在 item builder child 中调用它。
示例子:new Image.network('${data['value']['webSearchUrl']}'
我不知道该给这个孩子放什么,也不知道把 API 密钥放哪里...
class _PageOneState extends State<PageOne> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: new FutureBuilder(
future: getPics(),
builder: (context, snapShot){
Map data = snapShot.data;
if(snapShot.hasError){
print(snapShot.error);
return Text('Failed to get data from server',
style: TextStyle(color: Colors.red,
fontSize: 22.0),);
}else if(snapShot.hasData){
return new Center(
child: new ListView.builder(
itemCount: data.length,
itemBuilder: (context, index){
return new Column(
children: <Widget>[
new Container(
child: new InkWell(
onTap: (){},
child: new Image.network(
'${data['value']['webSearchUrl']}'
),
),
),
new Padding(padding: const EdgeInsets.all(5.0)),
],
);
}),
);
}
else if(!snapShot.hasData){
return new Center(child: CircularProgressIndicator(),);
}
}
),
);
and below the code -
Future<Map> getPics() async{
String url =
'https://api.cognitive.microsoft.com/bing/v7.0/images';
http.Response response = await http.get(url);
return json.decode(response.body);
}
【问题讨论】: