hyzp_ybqx-Commit029:标注整个Flutter App的入口过程01-07。找到入口处理结束,正式开始Flutter App的起点MyApp
This commit is contained in:
@@ -2,21 +2,26 @@ import 'dart:async';
|
|||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'common.dart';
|
import 'package:flutter/services.dart';
|
||||||
|
import 'package:fluttertoast/fluttertoast.dart';
|
||||||
|
import 'package:intl/date_symbol_data_local.dart';
|
||||||
//import 'file_manager.dart';
|
//import 'file_manager.dart';
|
||||||
import 'package:path_provider/path_provider.dart';
|
import 'package:path_provider/path_provider.dart';
|
||||||
import 'package:permission_handler/permission_handler.dart';
|
import 'package:permission_handler/permission_handler.dart';
|
||||||
import 'package:intl/date_symbol_data_local.dart';
|
|
||||||
import 'package:fluttertoast/fluttertoast.dart';
|
|
||||||
import 'package:flutter/services.dart';
|
|
||||||
import '../main.dart';
|
|
||||||
|
|
||||||
|
import '../main.dart';
|
||||||
|
import 'common.dart';
|
||||||
|
|
||||||
|
//整个Flutter App的入口02
|
||||||
checkPermission() {
|
checkPermission() {
|
||||||
WidgetsFlutterBinding.ensureInitialized();
|
WidgetsFlutterBinding.ensureInitialized();
|
||||||
initializeDateFormatting("zh_CN", null).then((value) async{
|
initializeDateFormatting("zh_CN", null).then((value) async {
|
||||||
|
//整个Flutter App的入口03
|
||||||
bool ret = await getPermission();
|
bool ret = await getPermission();
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
//整个Flutter App的入口04
|
||||||
getSDCardDir().then((value) {
|
getSDCardDir().then((value) {
|
||||||
|
//整个Flutter App的入口05
|
||||||
//runApp(MyApp());
|
//runApp(MyApp());
|
||||||
runApp(MaterialApp(
|
runApp(MaterialApp(
|
||||||
//title: '启动图demo',
|
//title: '启动图demo',
|
||||||
@@ -25,10 +30,9 @@ checkPermission() {
|
|||||||
brightness: Brightness.light,
|
brightness: Brightness.light,
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
platform: TargetPlatform.android),
|
platform: TargetPlatform.android),
|
||||||
home: new SplashScreen(),
|
home: new SplashScreen(), //整个Flutter App的入口06
|
||||||
routes: <String, WidgetBuilder>{
|
//整个Flutter App的入口07
|
||||||
'/home': (BuildContext context) => MyApp()
|
routes: <String, WidgetBuilder>{'/home': (BuildContext context) => MyApp()},
|
||||||
},
|
|
||||||
));
|
));
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
@@ -38,6 +42,7 @@ checkPermission() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//整个Flutter App的入口03
|
||||||
// Permission check,适用于 permission_handler: ^5.x.x
|
// Permission check,适用于 permission_handler: ^5.x.x
|
||||||
Future<bool> getPermission() async {
|
Future<bool> getPermission() async {
|
||||||
if (Platform.isAndroid) {
|
if (Platform.isAndroid) {
|
||||||
@@ -77,6 +82,7 @@ Future<bool> getPermission() async {
|
|||||||
// return true;
|
// return true;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
//整个Flutter App的入口04
|
||||||
Future<void> getSDCardDir() async {
|
Future<void> getSDCardDir() async {
|
||||||
Common().sDCardDir = (await getExternalStorageDirectory()).path;
|
Common().sDCardDir = (await getExternalStorageDirectory()).path;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,10 +19,12 @@ import 'provider/player_ratio.dart';
|
|||||||
import 'provider/player_region.dart';
|
import 'provider/player_region.dart';
|
||||||
import 'routers/router.dart';
|
import 'routers/router.dart';
|
||||||
|
|
||||||
|
// 整个Flutter App的Android入口
|
||||||
void main() {
|
void main() {
|
||||||
//file_manager_load();
|
//file_manager_load();
|
||||||
//runApp(MyApp());
|
//runApp(MyApp());
|
||||||
|
|
||||||
|
//整个Flutter App的入口01
|
||||||
WidgetsFlutterBinding.ensureInitialized(); //必须要添加这个进行初始化 否则下面会错误
|
WidgetsFlutterBinding.ensureInitialized(); //必须要添加这个进行初始化 否则下面会错误
|
||||||
//Flutter 强制竖屏
|
//Flutter 强制竖屏
|
||||||
SystemChrome.setPreferredOrientations([
|
SystemChrome.setPreferredOrientations([
|
||||||
@@ -31,6 +33,7 @@ void main() {
|
|||||||
// DeviceOrientation.landscapeLeft, //顺时针旋转90度
|
// DeviceOrientation.landscapeLeft, //顺时针旋转90度
|
||||||
// DeviceOrientation.landscapeRight, //逆时针旋转90度
|
// DeviceOrientation.landscapeRight, //逆时针旋转90度
|
||||||
]).then((_) {
|
]).then((_) {
|
||||||
|
//整个Flutter App的入口02
|
||||||
checkPermission(); //请求用户授权
|
checkPermission(); //请求用户授权
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -51,6 +54,7 @@ void main() {
|
|||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
//整个Flutter App的入口07。入口处理结束,正式开始Flutter App
|
||||||
class MyApp extends StatefulWidget {
|
class MyApp extends StatefulWidget {
|
||||||
MyApp({Key key}) : super(key: key);
|
MyApp({Key key}) : super(key: key);
|
||||||
|
|
||||||
@@ -196,6 +200,7 @@ class _MyAppState extends State<MyApp> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//整个Flutter App的入口06
|
||||||
class SplashScreen extends StatefulWidget {
|
class SplashScreen extends StatefulWidget {
|
||||||
@override
|
@override
|
||||||
_SplashScreenState createState() => new _SplashScreenState();
|
_SplashScreenState createState() => new _SplashScreenState();
|
||||||
@@ -208,6 +213,7 @@ class _SplashScreenState extends State<SplashScreen> {
|
|||||||
return new Timer(_duration, navigationPage);
|
return new Timer(_duration, navigationPage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//整个Flutter App的入口07
|
||||||
void navigationPage() {
|
void navigationPage() {
|
||||||
Navigator.of(context).pushReplacementNamed('/home');
|
Navigator.of(context).pushReplacementNamed('/home');
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user