hello
voila ma premi�re page allant cherche des temp�rature par html(jeedom)
et je gal�re pour mettre en place le push and refresh
qq'un aurait il une id�es svp ???
Merci de votre aide
main.dart
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import 'package:flutter/material.dart'; import 'package:temp/screen_temp.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( title: 'Température maison', debugShowCheckedModeBanner: false, theme: ThemeData( primarySwatch: Colors.blue, ), home: ScreenTemp(), ); } }
screen_temp.dart
temp.dart
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 // ignore_for_file: prefer_const_constructors import 'package:flutter/material.dart'; import 'widget_temp.dart'; import 'temp.dart'; class ScreenTemp extends StatelessWidget { List<Temp> List_Temp = [ Temp( 'http:url1', 'Chambre Seb Fab'), Temp( 'http:url2', 'Chambre Elise'), Temp( 'http:url3', 'Extérieur'), Temp( 'http:url4', 'Bureau'), Temp( 'http:url5', 'Cuisine') ]; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text("Température maison")), body: RefreshIndicator( onRefresh: () async { //Navigator.popAndPushNamed(context, 'row1Screen'); }, child: ListView( children: [ Container ( padding: const EdgeInsets.all(10), child: Row ( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ getTextWidgets(List_Temp), ], ), )], ), ), ); } } Widget getTextWidgets(List<Temp> list_temp) { return Column(children: list_temp.map((item) => Wtemp(Temperature: item)).toList()); }
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 class Temp { String url; String Piece; Temp(this.url,this.Piece); }
widget_temp.dart
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; import 'temp.dart'; class Wtemp extends StatefulWidget { final Temp Temperature; const Wtemp({Key? key, required this.Temperature}) : super(key: key); _row2Widget createState() => _row2Widget(this.Temperature); } class _row2Widget extends State<Wtemp> { _row2Widget(this._Temperature); final Temp _Temperature; String _piece = ''; String _temp = ''; @override void initState() { super.initState(); GetTemp(); } Future GetTemp() async { final response = await http.get(Uri.parse(_Temperature.url)); setState(() { _temp = response.body; _piece = _Temperature.Piece; }); } Widget build(BuildContext context) { return Column( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ Text("$_piece", style: TextStyle(fontSize: 30,color: Colors.blue)), Text("$_temp", style: TextStyle(fontSize: 30)) ], ); } }
Partager