Flutter App Template Generator是一个自当生成Flutter应用框架的Android Studio和Intellij IDEA插件。它可以帮助生成大部分代码框架。它拥有这些特性:
- 使用reduce进行widget的状态管理。
- 能够自动把json转化成dart类。
- 根据提供的json生成网络访问的restful api接口。
- 根据Json生成数据库模块。
- 包含了一些view常用控件,比如底部导航栏,Draw,AppBar,TopTabBar,ListView(自动绑定Json生成的类),简易登录界面,设置界面(暗黑模式,字体大小,IOS或Android样式)
使用
- 在插件库搜索Flutter App Template Generator,安装并重启编辑器。
- 用Android Studio或Intellij IDEA创建一个Flutter项目。
- 右键点击lib目录,选择“New” -->“Generate App Template”。
- 点击“Init Project“按钮来初始化,初始化秩序做一次。(如果lib目录没有看见文件,请到文件目录刷新)
-
输入Page名称,Json类,json字符串,选择你想要添加的控件,点击OK 。
- 修改类的变量并点”Generate“。(主类必须有unique属性的变量)
- 插件将会生成如下代码及目录
- 在main.dart中添加所创的页面到导航。
Map<String, WidgetBuilder> _routes() {
return <String, WidgetBuilder>{
"/settings": (_) => SettingsOptionsPage(
options: _options,
onOptionsChanged: _handleOptionsChanged,
),
"/": (_) => new HomeView(),
};
}
- 设置服务器服务器地址
network_common.dart
Dio dio = new Dio();
// Set default configs
dio.options.baseUrl = 'https://unsplash.com/';
解析
photo_repository.dart
Future<List<Photo>> getPhotosList(String sorting, int page, int limit) {
return new NetworkCommon().dio.get("napi/photos").then((d) {
var results = new NetworkCommon().decodeResp(d);
List<Photo> list =
results.map<Photo>((item) => new Photo.fromJson(item)).toList();
return list;
});
}
photo_middleware.dart
repository
.getPhotosList(
"sorting",
store.state.photoState.page.currPage,
store.state.photoState.page.pageSize)
.then((map) {
if (map.isNotEmpty) {
next(SyncPhotosAction(page: Page(), photos: map));
}
- 绑定数据到UI
home_view.dart
class _PhotoListItem extends ListTile {
_PhotoListItem({Photo photo, GestureTapCallback onTap})
: super(
title: Text(photo.id),
subtitle: Text(photo.views==null?"0":photo.views.toString()),
leading: CircleAvatar(child: Image.network(photo.urls.thumb)),
onTap: onTap);
}
现在你可以执行这个应用了,它将生成如下界面
更多功能请下载并尝试一下,如果你使用这个开发,你会剩下很多敲代码的时间。