栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

创建一个简单Flutter App

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

创建一个简单Flutter App

创建flutter工程

打开Android studio(简称AS)>File>New>New Flutter Project 一路Next就可以

运行Flutter App

或者在终端中执行flutter run

运行到手机上如下

工程介绍


Flutter项目主要分为Android,iOS,lib,pubspec.yaml这四个,其中lib下就是用来flutter开发的,我们的dart文件就放在这里,pubspec.yaml文件就是flutter的构建管理工具,就跟gradle中的build.gradle一样。

Fluter简介
void main() {
  runApp(new MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);
  
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  State createState() => _MyHomePageState();
}

class _MyHomePageState extends State {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            const Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headline4,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ), 
    );
  }
}

入口函数

void main() => runApp(MyApp());

或者

void main() {
  runApp(MyApp());
}

MyApp()相当于new MyApp(),创建对象时new关键字可以省略
runApp接受的是Widget,MyApp继承了StatelessWidget,flutter中的Widget分为StatelessWidget(无状态)和StatefulWidget(有状态),当你需要根据数据来动态更新试图就需要使用StatefulWidget,否则使用StatelessWidget。(例如文本Text控件 如果在创建初始化的时候设置内容,后续不更改则使用StatelessWidget,如果需要根据逻辑更改文本内容就需要使用StatefulWidget)

MyApp的build返回Widget,其实返回的是MaterialApp,MaterialApp 是Material 库中提供的 Flutter APP 框架,通过它可以设置应用的名称、主题、语言、首页及路由列表等。MaterialApp也是一个 widget。

这里我们先不去过多了解其中的内容,等后面基础内容学习完成后,对flutter有个较为完整的认识后再来深入了解,目前只需要先了解title,home,routes三个属性就可以了

title:不需要什么解释了

home:你的主页面,接收一个Widget

routes:路由表,接收Map,用于页面跳转使用,当然关于路由的用法是非常多的,这个暂时先不讲,后面会主们对路由使用做一个综合性讲解,目前只要学会一种方式即可。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/631172.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号