美文网首页
Flutter初识:安装配置与Hello world

Flutter初识:安装配置与Hello world

作者: 最爱平角裤 | 来源:发表于2018-08-31 10:22 被阅读83次

安装Flutter

mac系统:

  • 使用镜像

open .bash_profile

export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

source .bash_profile

  • 下载Flutter SDK

git clone -b beta https://github.com/flutter/flutter.git

  • 配置环境变量

export PATH=pwd/flutter/bin:$PATH

  • 检验,执行flutter


  • 相关依赖工具下载 flutter doctor

window系统

Android Studio 集成Flutter插件

  • 配置flutter路径


第一个程序Hello world

  • 创建
    File>New Flutter Project

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Welcome to Flutter',
      home: new Scaffold(
        appBar: new AppBar(
          title: new Text('Welcome to Flutter'),
        ),
        body: new Center(
          child: new Text('Hello World'),
        ),
      ),
    );
  }
}

分析

  • main函数使用了(=>)符号, 这是Dart中单行函数或方法的简写。

  • 该应用程序继承了 StatelessWidget,这将会使应用本身也成为一个widget。 在Flutter中,大多数东西都是widget,包括对齐(alignment)、填充(padding)和布局(layout)

  • Scaffold 是 Material library 中提供的一个widget, 它提供了默认的导航栏、标题和包含主屏幕widget树的body属性。widget树可以很复杂。

  • widget的主要工作是提供一个build()方法来描述如何根据其他较低级别的widget来显示自己。

  • 本示例中的body的widget树中包含了一个Center widget, Center widget又包含一个 Text 子widget。 Center widget可以将其子widget树对其到屏幕中心。

问题:会出现 Resolving dependencies... 报错
多尝试重启了几次就好了···


  • 体验热重载(⚡️图标的按钮)

  • 在IOS真机上运行
    在IOS真机上运行项目需要安装一些必要的软件,在命令行中别分执行如下命令:

brew update   
brew install --HEAD libimobiledevice   
brew install ideviceinstaller ios-deploy cocoapods   
pod setup

安装完毕之后打开hello_world/ios目录下的
在运行之前需要配置bundle identifier和签名
不然会出现如下提示


  • 使用外部包(package)
    pubspec文件管理Flutter应用程序的assets(资源,如图片、package等)


尝试增加english_words外部包
在Android Studio的编辑器视图中查看pubspec时,单击右上角的 Packages get,依赖包会安装到项目中。控制台中看到以下内容:

flutter packages get
Running "flutter packages get" in startup_namer...
Process finished with exit code 0

在 lib/main.dart 中, 引入 english_words

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final wordPair = new WordPair.random();
    return new MaterialApp(
      title: 'Welcome to Flutter',
      home: new Scaffold(
        appBar: new AppBar(
          title: new Text('Welcome to Flutter'),
        ),
        body: new Center(
//          child: new Text('Hello World'),
          child:new Text(wordPair.asPascalCase),
        ),
      ),
    );
  }
}

相关文章

网友评论

      本文标题:Flutter初识:安装配置与Hello world

      本文链接:https://www.haomeiwen.com/subject/lajlwftx.html