我正在尝试从json文件中读取数据,但徒劳无益,这是我得到的错误,请有人帮我,我也正在使用chopper,我也尝试与jsonplaceholder一起工作,但是当我正在使用我的代码时它不起作用,我只想知道该问题的原因
agence_api_service.chopper.dart
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'agence_api_service_chopper.dart';
class _$AgenceApiService extends AgenceApiService {
_$AgenceApiService([ChopperClient client]) {
if (client == null) return;
this.client = client;
}
final definitionType = AgenceApiService;
Future<Response> getAgences() {
final $url = 'http://127.0.0.1:8080/agences';
final $request = Request('GET', $url, client.baseUrl);
return client.send<dynamic, dynamic>($request);
}
Future<Response> getAgence(int idb) {
final $url = 'http://127.0.0.1:8080/agences/${idb}';
final $request = Request('GET', $url, client.baseUrl);
return client.send<dynamic, dynamic>($request);
}
Future<Response> postAgence(Map<String, dynamic> body) {
final $url = 'http://127.0.0.1:8080/agences';
final $body = body;
final $request = Request('POST', $url, client.baseUrl, body: $body);
return client.send<dynamic, dynamic>($request);
}
}
和home_page.dart
class HomePage extends StatelessWidget {
HomePage({Key key, this.title}) : super(key: key);
final String title;
@override
Widget build(BuildContext context) {
// TODO: implement build
return new Scaffold(
appBar: new AppBar(
title: new Text("Drawer App"),
elevation: defaultTargetPlatform == TargetPlatform.android ? 5.0 : 0.0,
),
drawer: new Drawer(
child: new ListView(
children: <Widget>[
DrawerHeader(
decoration: BoxDecoration(
gradient: LinearGradient(colors: <Color>[
Colors.deepOrange,
Colors.orangeAccent
])
),
child: Container(
child: Column(
children: <Widget>[
Material(
borderRadius: BorderRadius.all (Radius.circular(50.0)),
child: Padding(padding: EdgeInsets.all(8.0),
child: Image.asset("images/images.png",width: 100,height:100,),),
)
],
),
)
),
new ListTile(
trailing: new Icon(Icons.account_circle),
title: new Text("My Account"),
onTap: () {
Navigator.of(context).pop();
//Navigator.of(context).pushNamed("/a");
Navigator.push(context, new MaterialPageRoute(
builder: (context) => new LoginApp())
);
},
),
new ListTile(
title: new Text("Simulation"),
trailing: new Icon(Icons.format_list_bulleted),
onTap: ()
{
_buildBody(context);
},
),
new Divider(),
new ListTile(
title: new Text("Close"),
trailing: new Icon(Icons.close),
onTap: ()=> Navigator.of(context).pop(),
)
]
)
),
body: _buildBody(context)
);
}
FutureBuilder<Response> _buildBody(BuildContext context) {
// FutureBuilder is perfect for easily building UI when awaiting a Future
// Response is the type currently returned by all the methods of PostApiService
return FutureBuilder<Response>(
// In real apps, use some sort of state management (BLoC is cool)
// to prevent duplicate requests when the UI rebuilds
future: Provider.of<AgenceApiService>(context).getAgences(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
if (snapshot.hasError) {
return Center(
child: Text(
snapshot.error.toString(),
textAlign: TextAlign.center,
textScaleFactor: 1.3,
),
);
}
final posts = snapshot.data.body;
return _buildAgences(context, posts);
} else {
// Show a loading indicator while waiting for the posts
return Center(
child: CircularProgressIndicator(),
);
}
},
);
}
ListView _buildAgences(BuildContext context, List agences) {
return ListView.builder(
itemCount: agences.length,
padding: EdgeInsets.all(8),
itemBuilder: (context, index) {
return Card(
elevation: 4,
child: ListTile(
title: Text(
agences[index].nom,
style: TextStyle(fontWeight: FontWeight.bold),
),
subtitle: Text(agences[index].lieu),
onTap: () => _navigateToAgence(context, agences[index].idb),
),
);
},
);
}
void _navigateToAgence(BuildContext context, int id) {
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) => SinglePostPage(postId: id),
),
);
}
}
我得到的错误
E/flutter ( 7843): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: SocketException: OS Error: Connection refused, errno = 111, address = 127.0.0.1, port = 47660
E/flutter ( 7843): #0 IOClient.send (package:http/src/io_client.dart:33:23)
E/flutter ( 7843): <asynchronous suspension>
E/flutter ( 7843): #1 ChopperClient.send (package:chopper/src/base.dart:171:40)
E/flutter ( 7843): <asynchronous suspension>
E/flutter ( 7843): #2 _$AgenceApiService.getAgences (package:loanapp/data/agence_api_service.chopper.dart:20:19)
E/flutter ( 7843): #3 HomePage._buildBody (package:loanapp/home_page.dart:101:54)
E/flutter ( 7843): #4 HomePage.build.<anonymous closure> (package:loanapp/home_page.dart:75:21)
E/flutter ( 7843): #5 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:635:14)
E/flutter ( 7843): #6 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:711:32)
E/flutter ( 7843): #7 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
E/flutter ( 7843): #8 TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:365:11)
E/flutter ( 7843): #9 TapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:312:7)
E/flutter ( 7843): #10 GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27)
E/flutter ( 7843): #11 _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:222:20)
E/flutter ( 7843): #12 _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
E/flutter ( 7843): #13 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
E/flutter ( 7843): #14 _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
E/flutter ( 7843): #15 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
E/flutter ( 7843): #16 _rootRunUnary (dart:async/zone.dart:1136:13)
E/flutter ( 7843): #17 _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter ( 7843): #18 _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
E/flutter ( 7843): #19 _invoke1 (dart:ui/hooks.dart:250:10)
E/flutter ( 7843): #20 _dispatchPointerDataPacket (dart:ui/hooks.dart:159:5)
E/flutter ( 7843):
E/flutter ( 7843): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: SocketException: OS Error: Connection refused, errno = 111, address = 127.0.0.1, port = 47662
E/flutter ( 7843): #0 IOClient.send (package:http/src/io_client.dart:33:23)
E/flutter ( 7843): <asynchronous suspension>
E/flutter ( 7843): #1 ChopperClient.send (package:chopper/src/base.dart:171:40)
E/flutter ( 7843): <asynchronous suspension>
E/flutter ( 7843): #2 _$AgenceApiService.getAgences (package:loanapp/data/agence_api_service.chopper.dart:20:19)
E/flutter ( 7843): #3 HomePage._buildBody (package:loanapp/home_page.dart:101:54)
E/flutter ( 7843): #4 HomePage.build.<anonymous closure> (package:loanapp/home_page.dart:75:21)
E/flutter ( 7843): #5 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:635:14)
E/flutter ( 7843): #6 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:711:32)
E/flutter ( 7843): #7 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
E/flutter ( 7843): #8 TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:365:11)
E/flutter ( 7843): #9 TapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:312:7)
E/flutter ( 7843): #10 GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27)
E/flutter ( 7843): #11 _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:222:20)
E/flutter ( 7843): #12 _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
E/flutter ( 7843): #13 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
E/flutter ( 7843): #14 _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
E/flutter ( 7843): #15 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
E/flutter ( 7843): #16 _rootRunUnary (dart:async/zone.dart:1136:13)
E/flutter ( 7843): #17 _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter ( 7843): #18 _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
E/flutter ( 7843): #19 _invoke1 (dart:ui/hooks.dart:250:10)
E/flutter ( 7843): #20 _dispatchPointerDataPacket (dart:ui/hooks.dart:159:5)
答案 0 :(得分:1)
TLDR,使用10.0.2.2
在Android模拟器中运行的应用程序可以通过10.0.2.2地址连接到本地HTTP Web服务,该地址是主机环回接口(开发计算机上的127.0。0.1)的别名。
答案 1 :(得分:1)
如果您使用 django 作为后端,首先将服务器作为“python manage.py runserver 0.0.0.0:8000”运行。然后在flutter的url中传入你的本地ip-address:8000,你可以通过在macOs和linux的终端中输入“ifconfig”或windows中的ipconfig来找到你的本地ip-address。
答案 2 :(得分:1)