2022年6月3日星期五

Simple http request to setState Text\worldtime

 import 'package:flutter/material.dart';

import 'package:http/http.dart' as http;

import 'package:http/http.dart';


void main() {

  runApp(const MyApp());

}


class MyApp extends StatelessWidget {

  const MyApp({Key? key}) : super(key: key);


  // This widget is the root of your application.

  @override

  Widget build(BuildContext context) {

    return MaterialApp(

      title: 'Flutter Demo',

      theme: ThemeData(


        primarySwatch: Colors.blue,

      ),

      home: const MyHomePage(title: 'Flutter Demo Home Page'),

    );

  }

}


class MyHomePage extends StatefulWidget {

  const MyHomePage({Key? key, required this.title}) : super(key: key);



  final String title;


  @override

  State<MyHomePage> createState() => _MyHomePageState();

}


class _MyHomePageState extends State<MyHomePage> {


  String strcontent = "";


  void _incrementCounter () async{

    Response response = await get(Uri.parse('http://worldtimeapi.org/api/timezone/Asia/Hong_Kong') );

    setState(()  {

      print(response.body);

      strcontent = response.body;


    });

  }


  @override

  Widget build(BuildContext context) {


    return Scaffold(

      appBar: AppBar(


        title: Text(widget.title),

      ),

      body: Center(


        child: Column(


          mainAxisAlignment: MainAxisAlignment.center,

          children: <Widget>[

            Text(

              '$strcontent',

              style: Theme.of(context).textTheme.headline4,

            ),

          ],

        ),

      ),

      floatingActionButton: FloatingActionButton(

        onPressed: _incrementCounter,

        tooltip: 'Increment',

        child: const Icon(Icons.add),

      ), // This trailing comma makes auto-formatting nicer for build methods.

    );

  }

}


沒有留言:

發佈留言