You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
travelguideProject/src/lib/main.dart

204 lines
5.8 KiB

import 'package:flutter/material.dart';
import 'package:travelguide/travelguideapp/ui/boundary/MuseumInfoPage.dart';
import 'package:travelguide/travelguideapp/ui/boundary/CommunityPostPage.dart';
import 'package:travelguide/travelguideapp/ui/boundary/ServicePage.dart';
import 'package:travelguide/travelguideapp/ui/boundary/MapPage.dart';
import 'package:travelguide/travelguideapp/ui/boundary/collection0.dart';
import 'package:travelguide/travelguideapp/ui/boundary/collection1.dart';
import 'package:travelguide/travelguideapp/ui/boundary/collection2.dart';
import 'package:travelguide/travelguideapp/ui/boundary/collection3.dart';
import 'package:travelguide/travelguideapp/ui/boundary/collection4.dart';
import 'package:travelguide/travelguideapp/data/MyDatabase.dart';
import 'package:path/path.dart';
import 'dart:async';
import 'package:sqflite/sqflite.dart';
void main() async{
WidgetsFlutterBinding.ensureInitialized();
// 初始化数据库
final database = await MyDatabase.initDatabase();
Future<void> insertMuseumInfoData() async {
final databasePath = await getDatabasesPath();
final path = join(databasePath, 'travelguide.db');
final database = await openDatabase(path);
await database.insert('MuseumInfo', {
'MuseumName': '',
'MuseumDetail': '',
'ImagePath': ''
});
await database.close();
}
insertMuseumInfoData();
Future<void> deleteMuseumInfoData() async {
final databasePath = await getDatabasesPath();
final path = join(databasePath, 'travelguide.db');
final database = await openDatabase(path);
await database.rawDelete(
'DELETE FROM MuseumInfo WHERE MuseumName = **'
);
await database.close();
}
deleteMuseumInfoData();
Future<void> insertCollectionInfoData() async {
final databasePath = await getDatabasesPath();
final path = join(databasePath, 'travelguide.db');
final database = await openDatabase(path);
await database.insert('CollectionInfo', {
'CollectionID': 1,
'MuseumName': '天津市博物馆',
'CollectionName': '',
'CollectionDetail':
' ',
'ImagePath':''
});
await database.close();
}
insertCollectionInfoData();
Future<void> deleteCollectionInfoData() async {
final databasePath = await getDatabasesPath();
final path = join(databasePath, 'travelguide.db');
final database = await openDatabase(path);
await database.rawDelete(
'DELETE FROM CollectionInfo WHERE CollectionID = **'
);
await database.close();
}
deleteCollectionInfoData();
// Future<void> insertCommunityInfoData() async {
// final databasePath = await getDatabasesPath();
// final path = join(databasePath, 'travelguide.db');
// final database = await openDatabase(path);
//
// await database.insert('CommunityInfo', {
// 'CommunityID': '',
// 'MuseumName': '',
// 'Author': '',
// 'PostTime':'',
// 'Comment':''
// });
//
// await database.close();
// }
// insertCommunityInfoData();
Future<void> deleteCommunityInfoData() async {
final databasePath = await getDatabasesPath();
final path = join(databasePath, 'travelguide.db');
final database = await openDatabase(path);
await database.rawDelete(
'DELETE FROM CommunityInfo WHERE CommunityID = 1'
);
await database.close();
}
deleteCommunityInfoData();
// Future<void> insertServiceInfoData() async {
// final databasePath = await getDatabasesPath();
// final path = join(databasePath, 'travelguide.db');
// final database = await openDatabase(path);
//
// await database.insert('ServiceInfo', {
// 'ServiceID': '',
// 'MuseumName': '',
// 'Service': ''
// });
//
// await database.close();
// }
// insertServiceInfoData();
Future<void> deleteServiceInfoData() async {
final databasePath = await getDatabasesPath();
final path = join(databasePath, 'travelguide.db');
final database = await openDatabase(path);
await database.rawDelete(
'DELETE FROM ServiceInfo WHERE ServiceID = 1'
);
await database.close();
}
deleteServiceInfoData();
runApp(MaterialApp(
initialRoute: '/', // 设置初始路由
routes: {
'/': (context) => MyHomePage(),
'/targetPage0': (context) => collection0(),
'/targetPage1': (context) => collection1(),
'/targetPage2': (context) => collection2(),
'/targetPage3': (context) => collection3(),
'/targetPage4': (context) => collection4(),
},
));
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _currentIndex = 0;
void _onTabTapped(int index) {
setState(() {
_currentIndex = index;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: _currentIndex == 0
? MuseumInfoPage()
: _currentIndex == 1
? CommunityPostPage()
: _currentIndex == 2
? ServicePage()
: MapPage(),
bottomNavigationBar: BottomNavigationBar(
currentIndex: _currentIndex,
unselectedItemColor: Colors.black38, // 未选中的项颜色
selectedItemColor: Colors.green, // 选中的项颜色
items: [
BottomNavigationBarItem(
icon: Icon(Icons.account_balance),
label: '信息展示',
),
BottomNavigationBarItem(
icon: Icon(Icons.camera),
label: '用户社群',
),
BottomNavigationBarItem(
icon: Icon(Icons.dashboard),
label: '服务信息',
),
BottomNavigationBarItem(
icon: Icon(Icons.map),
label: '地图显示',
),
],
onTap: _onTabTapped,
),
);
}
}