flutter app untuk unitstock
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

66 行
1.8 KiB

  1. import 'dart:async';
  2. import 'dart:io';
  3. import 'package:flutter/material.dart';
  4. import 'package:flutter/services.dart';
  5. import 'package:http/http.dart';
  6. import 'package:unitstocks/Util/Prefs.dart';
  7. import 'package:unitstocks/login_page.dart';
  8. import 'home_page.dart';
  9. import 'stocking.dart';
  10. import 'unit_details.dart';
  11. import 'package:shared_preferences/shared_preferences.dart';
  12. import 'package:location/location.dart';
  13. import 'Util/Util.dart';
  14. SharedPreferences prefs;
  15. Location location = Location();
  16. StreamSubscription locationStream;
  17. LocationData currentPosisiton;
  18. Util util = new Util();
  19. Client http = new Client();
  20. SecurityContext clientContext;
  21. registerCert()async{
  22. ByteData bytes = await rootBundle.load('cert/isrgrootx1.pem');
  23. clientContext = new SecurityContext()
  24. ..setTrustedCertificatesBytes(bytes.buffer.asUint8List());
  25. }
  26. void main() async{
  27. WidgetsFlutterBinding.ensureInitialized();
  28. prefs = await SharedPreferences.getInstance();
  29. await registerCert();
  30. SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp])
  31. .then((_) {
  32. runApp(new MyApp());
  33. });
  34. }
  35. class MyApp extends StatelessWidget {
  36. @override
  37. Widget build(BuildContext context) {
  38. return MaterialApp(
  39. title: 'Unit Stock',
  40. theme: ThemeData(
  41. pageTransitionsTheme: PageTransitionsTheme(
  42. builders: {
  43. TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
  44. }
  45. ),
  46. primarySwatch: Colors.indigo,
  47. ),
  48. debugShowCheckedModeBanner: false,
  49. home: (prefs.getBool(keyClass.logged_in)??false)?HomePage(title:'Home Page'):LoginPage(),
  50. routes: {
  51. '/home': (context) => new HomePage(title:'Home Page'),
  52. '/stocking' : (context) => new Stocking(),
  53. '/unitdetails' : (context) => new UnitDetails(),
  54. '/login' :(context) => new LoginPage(),
  55. },
  56. );
  57. }
  58. }