import 'package:flutter/material.dart'; import 'package:flutter_service/model/CategoryResponse.dart'; import 'package:flutter_service/provider/CategoryProvider.dart'; import 'package:flutter_service/sdk/ClientSDK.dart'; import 'package:flutter_service/sdk/ClientSDK.dart'; import 'package:flutter_service/wrapper/ProviderWrapper.dart'; import 'package:provider/provider.dart'; import 'utils/console.dart'; void main() async { runApp(MultiProvider( providers: ProviderWrapper.providersLists, child: MyApp() )); } class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, visualDensity: VisualDensity.adaptivePlatformDensity, ), home: MyHomePage(title: 'Flutter Demo Home Page'), ); } } class MyHomePage extends StatefulWidget { MyHomePage({Key key, this.title}) : super(key: key); final String title; @override _MyHomePageState createState() => _MyHomePageState(); } ClientSDK sdk = ClientSDK.instance; class _MyHomePageState extends State { int _counter = 0; List categories = []; void _incrementCounter() { setState(() { _counter++; }); } void getCategory() async { categories.map((e) => Console.log("text", e.name)).toList(); } @override void initState() { // TODO: implement initState super.initState(); init(context); } @override void didChangeDependencies() { // TODO: implement didChangeDependencies super.didChangeDependencies(); categories = Provider.of(context, listen: true) .getCategories(); } void init(BuildContext context) async { List result = await sdk.clientGetAllCategoryService(); Provider.of(context, listen: false).setCategories(result); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(widget.title), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Text( 'You have pushed the button this many times:', ), Text( '$_counter', style: Theme.of(context).textTheme.headline4, ), ], ), ), floatingActionButton: FloatingActionButton( onPressed: getCategory, tooltip: 'Increment', child: Icon(Icons.add), ), // This trailing comma makes auto-formatting nicer for build methods. ); } }