Flutter学习之二 第一个App

2022-03-30  本文已影响0人  MQ_Twist

学而不思则罔,思而不学则殆,学而不用则废。

👈🏻 Flutter学习之一 环境搭建

前言

依稀记得早年学习OC的时候,是从基本数据类型学起的。如果有原生开发经验的话,学习flutter直接从listView搞起。

正文

一、创建一个app

1、IDE创建项目

1、启动 VS Code
2、调用 View>Command Palette…
3、输入 ‘flutter’, 然后选择 ‘Flutter: New Project’ action
4、输入 Project 名称 (如myapp), 然后按回车键
5、指定放置项目的位置,然后按蓝色的确定按钮
6、等待项目创建继续,并显示main.dart文件

创建好之后,程序代码就是在lib/main.dart里面。

2、运行应用程序

1、确保在VS Code的右下角选择了目标设备
2、按 F5 键或调用Debug>Start Debugging
3、等待应用程序启动
4、如果一切正常,在应用程序建成功后,您应该在您的设备或模拟器上看到应用程序:

1.png

随便改一下文案,然后command + s,体验一下热重载。

快捷键:

二、编写app

1、使用外部包

import 'dart:math';
import 'package:flutter/material.dart';

class HomePage extends StatefulWidget {
  const HomePage({Key? key}) : super(key: key);

  @override
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  //定义一个list
  List<int> list = [];
  @override
  Widget build(BuildContext context) {
    list.clear();
    for (var i = 0; i < 20; i++) {
      list.add(Random().nextInt(100));
    }
    return Scaffold(
      appBar: AppBar(
        title: const Text('随机数'),
      ),
      body: ListView.builder(
        itemBuilder: (context, index) {
          return _getRow(index);
        },
        itemCount: list.length,
      ),
    );
  }

  Widget _getRow(int index) {
    String num = list[index].toString();
    return Container(
      margin: const EdgeInsets.all(20),
      child: Text('第$index行,数字是:$num'),
    );
  }
}

main.dart里面改成如下代码:

import 'package:flutter/material.dart';
import 'package:flutter_application_1/widgets/home_page.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const HomePage(),
    );
  }
}

改成之后,这样可以简单的理解为,App入口main和页面HomePage分开。
实现的效果为,一个列表里面放了20个随机数。
3、代码简单解析

后记

从oc角度来看,一个tableView就这么完成了,好像还是很简单的。然而并不是,接下来就开始学习什么是WidgetStatefulWidgetStateLessWidget又是啥?

👉🏻 Flutter学习之三 Widget

上一篇 下一篇

猜你喜欢

热点阅读