
Provider
,json 解析用的是 json_serializable
, 缓存用的是 shared_preferences
,网络请求用的是dio
自己稍微封装了下,国际化用的是 Intl, Android Studio 有插件

主要的第三方库:
name: flutter_github_app
description: A new Flutter application.
version: 1.0.0+1
environment:
sdk: ">=2.1.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
cupertino_icons: ^0.1.3
cached_network_image: ^2.2.0+1
flutter_swiper : ^1.1.6
dio: ^3.0.9
flutter_easyrefresh: ^2.1.1
fluttertoast: ^4.0.1
modal_progress_hud: ^0.1.3
webview_flutter: ^0.3.21
provider: ^4.1.1
shared_preferences: ^0.5.7+1
json_annotation: ^3.0.1
dev_dependencies:
flutter_test:
sdk: flutter
build_runner: ^1.0.0
json_serializable: ^3.2.0
flutter:
uses-material-design: true
assets:
- images/avatar_placeholder@2x.png
- images/avatar_placeholder@3x.png
- images/avatar-default.png
fonts:
- family: myIcon
fonts:
- asset: fonts/iconfont.ttf
flutter_intl:
enabled: true
问题:
- 页面保活问题:
需要实现 AutomaticKeepAliveClientMixin 协议,重写 wantKeepAlive 返回true
- provider listen false
要将 listen 设为 false
Provider.of<ThemeState>(context,listen: false)
- 像用户退出登录跳转登录页,这时需要将导航栈的元素都删除,然后再跳转登录页可以用
Navigator.pushAndRemoveUntil
方法
参考链接: