Flutter多功能工具集插件nice_flutter_kit的使用
Flutter多功能工具集插件nice_flutter_kit的使用
Nice flutter kit
一个包含许多实用小部件的集合。
使用示例
以下是一个完整的示例,展示如何在Flutter应用中使用nice_flutter_kit
插件。我们将创建一个具有多页面导航的应用程序,并集成一些常用的实用功能。
示例代码
// 导入必要的库
import "package:device_preview/device_preview.dart";
import "package:example/cubit/app.cubit.dart"; // 示例中的Cubit
import "package:example/cubit/app.state.dart"; // 示例中的状态管理
import "package:example/pages/auth/auth.page.dart"; // 示例中的认证页面
import "package:example/pages/base-list/infinite-scroll-base-list.page.dart"; // 示例中的无限滚动列表
import "package:example/pages/base-list/paginated-base-list.page.dart"; // 示例中的分页列表
import "package:example/pages/home.page.dart"; // 主页
import "package:example/pages/onboarding.page.dart"; // 引导页面
import "package:example/pages/page-view-form.page.dart"; // 表单页面
import "package:example/pages/radio-expandable-cards.page.dart"; // 可展开的卡片页面
import "package:flutter/material.dart";
import "package:flutter_bloc/flutter_bloc.dart";
import "package:go_router/go_router.dart"; // 路由管理
import "package:nice_flutter_kit/nice_flutter_kit.dart"; // nice_flutter_kit插件
void main() async {
// 初始化Flutter绑定
WidgetsFlutterBinding.ensureInitialized();
// 配置nice_flutter_kit
await NiceConfig.setup(
baseCubitConfig: NiceBaseCubitConfig(
wrapErrorHandler: (e, s) {
// 错误处理示例(打印错误信息)
print(e);
print(s);
},
),
localizationsConfig: const NiceLocalizationsConfig(),
);
// 启动应用
runApp(
DevicePreview(
builder: (_) => const MyApp(), // 使用DevicePreview进行设备预览
),
);
}
// 应用主类
class MyApp extends StatefulWidget {
static const pageRoutes = [
RouteData(
path: "/onboarding",
titleKey: "home.pages.onboarding",
child: OnboardingPage(), // 引导页面
),
RouteData(
path: "/page-view-form",
titleKey: "home.pages.page_view_form",
child: PageViewFormPage(), // 表单页面
),
RouteData(
path: "/auth",
titleKey: "home.pages.auth",
child: AuthPage(), // 认证页面
),
RouteData(
path: "/radio-expandable-cards",
titleKey: "home.pages.radio_expandable_cards",
child: RadioExpandableCardsPage(), // 可展开的卡片页面
),
RouteData(
path: "/base-list/infinite-scroll",
titleKey: "home.pages.infinite_scroll_base_list",
child: InfiniteScrollLoadedBaseListPage(), // 无限滚动列表页面
),
RouteData(
path: "/base-list/paginated",
titleKey: "home.pages.paginated_base_list",
child: PaginatedBaseListPage(), // 分页列表页面
),
];
const MyApp({super.key});
[@override](/user/override)
State<MyApp> createState() => _MyAppState();
}
// 应用状态管理
class _MyAppState extends State<MyApp> {
final _router = GoRouter(
routes: [
GoRoute(
path: "/", // 主页路由
builder: (_, __) => const HomePage(), // 主页构建器
),
for (final route in MyApp.pageRoutes) // 动态添加页面路由
GoRoute(
path: route.path,
builder: (_, __) => route.child,
),
],
);
[@override](/user/override)
Widget build(BuildContext context) {
return BlocProvider<AppCubit>(
create: (context) => AppCubit(), // 创建Cubit实例
child: BlocSelector<AppCubit, AppState, Locale?>(
selector: (state) => state.overrideLocale, // 状态选择器
builder: (context, overrideLocale) => MaterialApp.router(
routerConfig: _router, // 设置路由配置
title: "Flutter Demo", // 应用标题
debugShowCheckedModeBanner: false, // 去掉调试标志
theme: ThemeData(
primarySwatch: Colors.blue, // 主色调
),
locale: overrideLocale ?? DevicePreview.locale(context), // 设置语言环境
builder: DevicePreview.appBuilder, // 使用DevicePreview构建器
supportedLocales: NiceLocalizations.supportedLocales, // 支持的语言
localizationsDelegates: NiceLocalizations.delegates, // 本地化代理
localeResolutionCallback: NiceLocalizations.localResolutionCallback, // 语言解析回调
),
),
);
}
}
// 路由数据类
class RouteData {
final String path;
final String titleKey;
final Widget child;
const RouteData({
required this.path,
required this.titleKey,
required this.child,
});
}
更多关于Flutter多功能工具集插件nice_flutter_kit的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter多功能工具集插件nice_flutter_kit的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
nice_flutter_kit
是一个功能丰富的 Flutter 插件,旨在为开发者提供一系列常用的工具和功能,以简化开发流程并提高效率。它通常包含网络请求、本地存储、图片处理、设备信息获取等功能模块。
安装 nice_flutter_kit
首先,你需要在 pubspec.yaml
文件中添加 nice_flutter_kit
依赖:
dependencies:
flutter:
sdk: flutter
nice_flutter_kit: ^版本号 # 请替换为最新版本号
然后,运行 flutter pub get
来安装依赖。
使用 nice_flutter_kit
1. 网络请求
nice_flutter_kit
提供了简化的网络请求功能。你可以使用它来发送 HTTP 请求并处理响应。
import 'package:nice_flutter_kit/nice_flutter_kit.dart';
void fetchData() async {
var response = await NiceHttp.get('https://jsonplaceholder.typicode.com/posts');
if (response.statusCode == 200) {
print(response.body);
} else {
print('Request failed with status: ${response.statusCode}');
}
}
2. 本地存储
nice_flutter_kit
提供了本地存储功能,支持键值对的存储和读取。
import 'package:nice_flutter_kit/nice_flutter_kit.dart';
void saveData() async {
await NiceStorage.setString('key', 'value');
}
void readData() async {
String value = await NiceStorage.getString('key');
print(value);
}
3. 图片处理
nice_flutter_kit
提供了图片处理功能,例如图片压缩、裁剪等。
import 'package:nice_flutter_kit/nice_flutter_kit.dart';
void compressImage() async {
var compressedImage = await NiceImage.compress('path/to/image.jpg', quality: 80);
print('Compressed image path: ${compressedImage.path}');
}
4. 设备信息获取
nice_flutter_kit
提供了获取设备信息的功能,例如设备型号、操作系统版本等。
import 'package:nice_flutter_kit/nice_flutter_kit.dart';
void getDeviceInfo() async {
var deviceInfo = await NiceDeviceInfo.getDeviceInfo();
print('Device Model: ${deviceInfo.model}');
print('OS Version: ${deviceInfo.osVersion}');
}
5. 其他功能
nice_flutter_kit
还可能包含其他功能,例如日志记录、日期时间处理、加密解密等。你可以根据项目需求选择使用。
import 'package:nice_flutter_kit/nice_flutter_kit.dart';
void logMessage() {
NiceLogger.log('This is a log message');
}
void encryptData() {
String encrypted = NiceCrypto.encrypt('sensitive data');
print('Encrypted data: $encrypted');
}