简单的Flutter应用开发步骤

第一步:

在main.dart源文件中,定义main函数,在main函数中,调用runApp(参数:主构件实例化为一个对象)

第二步:

定义主构件的类,比如MyApp 继承自一个无状态构件父类

第三步:

重写build(参数:构造环境BuidlContext)方法,返回你自己写的主构件。
一般主构件使用MateriaApp构件,定义title,theme主题,home主体

第四步:

在home主体中放置一个自定义的RandomWords构件

第五步:

定义RandomWords构件,继也没有自一个有状态的StatefulWidget构件,并实现createState方法,返回一个自定义的_RandomWordsState的状态构件。
所以说,有状态构件自己没有build方法,而是通过一个创建状态的方法来灵活创建一个状态构件实现带状态的视图。

第六步:

定义_RandomWordsState状态构件,继承自State状态构件父类,指定该状态的参数类为RandomWords,这样,状态构件就绑定了RandomWords类。
那么,状态的表现实现上是由状态构件来负责的,RandomWords只是一个包装外壳或者一个单纯的中间代理。

第七步:

在状态构件中定义一系列状态,并实现build方法,返回一个Scaffold构件,即一个页面,页面中带一个导航栏,导航栏中带动作按钮与一个按钮事件,事件实现了一个路由推送
页面的body部分是一个_buildSuggestions函数,产生一个列表构件。这里使用函数,是不是为了完成动态更新状态的目的呢

第八步:

实现_buildSuggestions函数,使它返回一个ListView构件:
通过ListView.builder()方法,可以返回一个ListView构件。
在ListView.builder方法中,有一个参数是itemBuilder,它的参数类型是一个回调,传入环境与行号,返回一个自定义构件
在这个自定义构件中,根据行号,我们返回分割线构件与ListTitle构件
而ListTitle构件,则又是通过_buildRow方法来实现的,它传入一行单词,生成一个ListTile构件。

第九步:实现_buildRow

传入单词,判断单词是否包含在已经存列表,并实现ListTitle
在ListTitle中,有一个事件是onTap,在事件中,必须实现setState,以使得数据的改变触发build,来影响视图。

第十步:

实现_pushSaved方法,用来处理导航栏的onPressed事件 在这个方法中,调用Navigator的push方法,来推送一个路由。
路由由MaterialPageRoute类的一个实例,直接新建一个崭新的路由,该路由的builder参数的值是一回调,该回调返回一个页面。

你可能感兴趣的:(Flutter,java)