- 移除 ItemScopedModel,改用 ItemProvider - 更新 addItem 屏幕,使用 ItemProvider 添加物品 - 修改物品列表屏幕,使用 ItemProvider 加载和刷新数据 - 更新 main 函数,添加 ItemProvider
34 lines
936 B
Dart
34 lines
936 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:item_tracker/provider/item_provider.dart';
|
|
import 'package:item_tracker/repository/item_repository.dart';
|
|
import 'package:item_tracker/screens/home_screen.dart';
|
|
import 'package:provider/provider.dart';
|
|
import 'database/sqlite_helper.dart';
|
|
|
|
void main() async {
|
|
|
|
final dbHelper = DatabaseHelper();
|
|
final repository = ItemRepository(dbHelper: dbHelper);
|
|
|
|
WidgetsFlutterBinding.ensureInitialized();
|
|
await DatabaseHelper().database;
|
|
print('数据库初始化完成');
|
|
runApp(
|
|
ChangeNotifierProvider(
|
|
create: (_) => ItemProvider(repository: repository),
|
|
child: MyApp(),),
|
|
);
|
|
}
|
|
|
|
class MyApp extends StatelessWidget {
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return MaterialApp(
|
|
title: '物品记录器',
|
|
theme: ThemeData(
|
|
primarySwatch: Colors.blue,
|
|
),
|
|
home: HomeScreen(), // 修改为 HomeScreen
|
|
);
|
|
}
|
|
} |