Probleme avec http

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.

as-tu ajouter les autorisations pour internet dans ton app android ?

Doc Android Developers

1 « J'aime »

Ba non, je n’avais pas vu ce fichier … il est bien caché dans flutter, je pensais qu’il le gère tout seul à l’importation du package dans le fichier pubspec.yaml

Il y a quelque année j’avais fait une application toute simple en java et je m’étais déjà arraché les cheveux avec ce fichier…

Merci à toi pour ton aide, effectivement avec les permissions ça fonctionne avec l’api google je testerai demain en local.

Edit tout fonctionne, je ferais attention à ce fichier la prochaine fois.

2 « J'aime »