redstonex 1.2.9 copy "redstonex: ^1.2.9" to clipboard
redstonex: ^1.2.9 copied to clipboard

基于GetX的Flutter快速开发框架。Development flutter framework based GetX frame.

example/lib/main.dart

import 'package:example/db-manager/example_base_floor_database.dart';
import 'package:example/homepage/homepage/homepage_logic.dart';
import 'package:example/homepage/homepage/homepage_view.dart';
import 'package:example/net-manager/net_client_manager.dart';
import 'package:example/providers/providers_manager.dart';
import 'package:example/routes.dart';
import 'package:example/services/services_manager.dart';
import 'package:flustars_flutter3/flustars_flutter3.dart';
import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:get/get.dart';
import 'package:oktoast/oktoast.dart';
import 'package:redstonex/redstonex.dart';

void main() async {
  rApplicationInitializer.run(
    const OKToast(child: MyApp()),
    preBuiltinInit: () {
      Routes.initGlobalRoutes();
      MyExampleDb().initializeDatabase();
    },
    postBuiltinInit: () {
      NetClientManager.initNetClients();
      ProvidersManager.initProviders();
      ServicesManager.initServices();
      ScreenUtil.getInstance();
      rLog().debug('initial end');
    },
    errorReporter: (details) => FlutterError.dumpErrorToConsole(details),
  );
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      debugShowCheckedModeBanner: true,
      title: 'Flutter Demo',
      getPages: rDispatcher.pageRoutes,
      theme: ThemeData(
        primaryColor: Colors.blue,
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
      builder: EasyLoading.init(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);
  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    rProvides().provide(HomepageLogic());
    return Scaffold(
      body: HomepagePage(),
    );
  }
}