1.
import 'package:get_it/get_it.dart';
// main.dart
import 'package:get_it/get_it.dart';
GetIt.I.registerSingleton<Local
Dart
복사
1.
GetIt.I.registerSingleton<LocalDatabase>(database); when define
a.
database is registered under instance I
2.
GetIt.I<LocalDatabase>().getCategoryColors(), when use
a.
call getCategoryColors() method under instance I
import 'package:flutter/material.dart';
import 'package:get_it/get_it.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await initializeDateFormatting();
final database = LocalDatabase();
final colors = await database.getCategoryColors();
// add Dependency Injection here
GetIt.I.registerSingleton<LocalDatabase>(database);
runApp(MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
fontFamily: "NotoSans",
useMaterial3: true,
colorScheme: lightColorScheme,
inputDecorationTheme: CustomInputTheme().theme(),
),
home: HomeScreen(),
));
}
Dart
복사
FutureBuilder<List<CategoryColor>>(
future: GetIt.I<LocalDatabase>().getCategoryColors(), // call database
builder: (context, snapshot) {
return _ColorPicker(
colors: snapshot.hasData
? snapshot.data!
.map((e) => Color(int.parse('FF${e.hexCode}', radix: 16,),),).toList()
: [],
);
},
),
Dart
복사

.png&blockId=6278a278-6e97-4453-9fa3-e3a111080782)
.png&blockId=6278a278-6e97-4453-9fa3-e3a111080782&width=256)