一、效果图
项目地址:https://github.com/sparkerandroid/wanandroid_flutter
项目使用的接口:玩安卓、Gank,开放的api。感谢。
二、项目概览
dao:通过http,负责接口的调用;
model:数据解析;
navigator:页面导航;
pages:页面;
util:工具类,比如webView的封装;
widget:自定义组件;
constants文件:定义了项目中使用到的常量,比如接口的请求地址;
main文件:入口文件;
三、项目分析
3.1、项目入口 - main.dart
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'wanAndroid',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyNavigator(),
);
}
}
顶级函数main,作为Flutter项目的入口函数。该函数是必须的,如果没有该函数,则项目是无法运行的。
除此之外,使用了MyApp作为项目的根组件。在Flutter中,一个应用程序的结构就是一个树(具体可以说是wdiget或者element树),需要在入口设置树的根。
Flutter为我们提供了Material风格的各种组件,比如上面使用的MaterialApp,还有像Scaffold等。我们可以直接使用这样的组件快速高效的开发出Material风格的app。当