Bonjour, je suis en train de me familiariser avec flutter et le package http de dart.
J’ai fait un code tout simple à partir de l’exemple donné sur pubdev :
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
var itemCount = 0;
Future getData() async {
var url =
Uri.https('www.googleapis.com', '/books/v1/volumes', {'q': '{http}'});
var response = await http.get(url);
var jsonResponse = jsonDecode(response.body) as Map<String, dynamic>;
setState(() {
itemCount = jsonResponse['totalItems'];
});
}
@override
void initState() {
super.initState();
getData();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter MySQL Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
appBar: AppBar(
title: Text('Liste des produits'),
),
body: Text('$itemCount'),
));
}
}
Lorsque je l’exécute depuis mon pc tout va bien il me retourne et m’affiche 1819.
Je fais un flutter build apk, j’installe l’apk sur mon téléphone et la plus rien, il m’affiche 0.
Il me fait la même chose lorsque j’utilise mon api de test en local, c’est pour ça que j’ai testé avec une api en ligne.
j’ai même essayé de mettre mon api de test en HTTPS avec un certificat autosigné, mais j’ai également le même problème.
Je sèche complètement sur le problème.
Merci pour votre aide.