Flutter Revision Guide Clean
Flutter Revision Guide Clean
1. Flutter Basics
void main() {
runApp(MyApp());
}
2. Widget Types
StatelessWidget:
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Text('Hello');
}
}
StatefulWidget:
class MyWidget extends StatefulWidget {
@override
_MyWidgetState createState() => _MyWidgetState();
}
class _MyWidgetState extends State<MyWidget> {
int counter = 0;
@override
Widget build(BuildContext context) {
return Text('$counter');
}
}
3. Common Widgets
Row(children: [Text('Left'), Text('Right')])
Column(children: [Text('Top'), Text('Bottom')])
Container(padding: EdgeInsets.all(10), color: Colors.blue, child: Text('Container'))
4. State Management
setState:
Flutter Complete Revision (With Common Syntax)
int count = 0;
ElevatedButton(onPressed: () {
setState(() { count++; });
}, child: Text('Count: $count'))
Provider:
class Counter with ChangeNotifier {
int value = 0;
void increment() { value++; notifyListeners(); }
}
context.read<Counter>().increment();
7. HTTP Request
import 'package:http/http.dart' as http;
import 'dart:convert';
Future<void> fetchData() async {
final response = await http.get(Uri.parse('https://api.example.com/data'));
if (response.statusCode == 200) {
var data = jsonDecode(response.body);
print(data);
}
}
8. Async/Await
Future<String> getData() async {
await Future.delayed(Duration(seconds: 1));
return 'Done';
}
11. Themes
MaterialApp(theme: ThemeData(primarySwatch: Colors.blue, textTheme: TextTheme(bodyLarge:
TextStyle(fontSize: 18))))