hk591_apm 0.0.11
hk591_apm: ^0.0.11 copied to clipboard
HK591 APM
example/lib/main.dart
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:hk591_apm/hk591_apm.dart';
import 'package:hk591_apm_example/router.dart';
import 'package:hk591_apm_example/widgtes.dart';
GlobalKey<NavigatorState> globalKey = GlobalKey<NavigatorState>();
void main() {
WidgetsFlutterBinding.ensureInitialized();
ApmManager.instance.init(
config:
ApmConfig(enable: true, handlers: [FloatWindowHandler(globalKey)]));
HttpOverrides.global = ApmHttpOverrides();
WidgetsBinding.instance.addObserver(ApmWidgetsBindingObserver());
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
navigatorKey: globalKey,
routes: generateRoutes(),
theme: ThemeData(
primarySwatch: Colors.blue,
),
navigatorObservers: [ApmNavigatorObserver.instance],
home: const MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
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) {
return Scaffold(
appBar: AppBar(
title: const Text('通用版首页'),
actions: <Widget>[
IconButton(
icon: const Icon(Icons.settings),
tooltip: 'Setting',
onPressed: () => Navigator.of(context).pushNamed('/setting'),
),
],
),
body: Center(
child: ListView(
padding: const EdgeInsets.only(
left: 16.0, right: 16.0, top: 8.0, bottom: 8.0),
children: <Widget>[
buildEntryButton(context, '异常测试', '/error_test'),
buildEntryButton(context, '页面路由跳转测试', '/navigator_test/first_page'),
buildEntryButton(
context, '设备信息', '/navigator_test/device_info_page'),
buildEntryButton(context, '网络测试', '/navigator_test/network_page'),
],
),
),
);
}
}