Projektentwicklung mit Flutter
e_schumannd@doz.hwr-berlin.de
Das funktioniert:
class MyContent extends StatelessWidget{ //... Widget build(BuildContext context) { return Text(BlocProvider.of<Bloc>(context).state.count); } }
Das nicht:
FloatingActionButton( child: Text(BlocProvider.of<Bloc>(context).state.count), )
final String? name; //nullable final String appName; //non-nullable final String test = name; //Error
final String test = name ?? appName; // default value final int? length = name?.length; // name = null -> return null
final
late
const
var
Baut ein Text Field in eure Applikation ein. Lasst in diesem einen Namen eingeben, der in der App Bar angezeigt wird. Gebt ansonsten einen Standard Namen an.
Helpful Widgets: TextField, AppBar, TextBar.onSubmitted
Baut eine BottomNavigationBar in eure Applikation ein. Nutzt diese um mehrere Seiten anzeigen zu lassen.
Helpful Widgets: BottomNavigationBar, BottomNavigationBarItem
Meistens brauchen Apps Möglichkeiten um
Hypertext Transfer Protocol
zeigt Daten an, schickt aktualisierte Daten
Haushaltet Daten, bestenfalls steuert App Inhalt
{ "foo": "bar", "array": [1, 2, 3, 4], "object": { "test": "test" } }
flutter pub add http
var response = await http.get(Uri.https('dummyjson.com', 'todos')); var todos = jsonDecode(response.body) as Map<String, dynamic>;
Nutzt das http package, um eine Schnittstelle von https://dummyjson.com anzusprechen und zeigt die Daten in eurer App an.
http
Helpful Widgets: FutureBuilder, CircularProgressIndicator, Card, SingleChildScrollView
Wenn in diesem Tree ein BlocProvider eingebaut wird, können alle Widgets darunter darauf zugreifen
Aufgabe danach besprechen, Ergebnisse der Studenten zusammen anschauen und evtl. Probleme besprechen evtl. um die 30min
evtl. um die 20 min?