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