文章目录 前言一、开发工具以及语言框架1、Cloud Studio 开发工具2、Flutter (UI)框架3、Dart 开发语言 二、准备工作1、登录(注册)Cloud Studio 账号2、进入 Cloud Studio
欢迎参加腾讯云 Cloud Studio 实战训练营!在本次训练营中,我们将通过App项目入口说明,基本文件说明,基础框架搭建,带您一步步编写一个基于 Flutter 的静态App系统。无论您是初学者还是有一定编程经验的开发者,本训练营都将为您提供一个深入了解和掌握 Flutter 技术以及App开发的机会。
使用 Flutter作为UI框架,我们将能够充分利用其强大的功能和优势,快速搭建一个高效、可扩展的App系统。Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、WEB、桌面和嵌入式平台。
本次体验中,我们将了解到:
1、Cloud Studio 开发工具
2、Flutter (UI)框架
3、dart语言
4、App入口讲解
5、App项目搭建
6、App效果展示
7、Cloud Studio 优缺点
通过以下步骤,我们可以搭建出自己的工作空间。
打开Cloud Studio网址(https://cloudstudio.net/),进行登录注册。
点击左下角红色⭕️部分,创建工作空间。
在弹出的创建工作空间窗口中,您需要进行以下配置:
完成上述配置后,点击 “创建” 按钮确认创建新的工作空间。
这里我们会对已有文件进行说明
首先我们来看一下原有目录结构:
在这里,进行了一些重要内容的标注,我们一一分析:
首先红色标记的部分,是Flutter目前所支持的平台,手机端(Android 和 iOS)和电脑端(web 和 Macos)都可以进行支持。Flutter属于跨平台开发,一套代码,多端运行,极大的节约了开发的成本,同时极大的提升了开发的效率。
黄色标记的部分,是项目的三方包配置文件,所有导入的三方包链接放在此处,然后进行更新即可。
紫色标记的部分,这是最重点的地方,也就是咱们要编写代码的地方了,所有的代码文件放在此处即可。可以创建多个文件夹进行模块的分类。
另外,我们需要配置一下Flutter和Dart的环境支持
此处,只需要点击“安装”,如果已经安装,重新加载一下即可。(线上环境都是配置好的,只需要加载一下即可)。
这里将会介绍App的入口以及对入口的修改
首先看下图,main.dart 文件是整个“项目”文件的入口。
我们可以看到图中有大量的 .dart 文件,这是系统给我们预设的一些颜色、字体、等等配置文件,此时我们不需要这些文件的存在,下面简化一下这个文件目录页面。
此处我们可以看到,此时的目录文件只剩下main.dart文件,并且 main.dart文件中代码也进行了简化,代码如下:
import 'package:flutter/material.dart';void main() { runApp(const MyApp());}class MyApp extends StatefulWidget { const MyApp({super.key}); @override State createState() => _MyAppState();}class _MyAppState extends State { @override initState() { super.initState(); } @override Widget build(BuildContext context) { return MaterialApp( home: Container(), ); }}
至此,我们完成了项目的简化,此时项目中只剩下最简单且必要的入口部分了,我们可以放心大胆的且愉快的进行开发了~~,赶紧实操起来呀。
接下来我们来搭建一个简单的项目框架
我们来创建三个页面 home_page.dart 页面、second_page.dart页面 、my_page.dart页面 以及一个底部导航页面btm_navbar.dart。如下图:
注意:Flutter当中页面都是 dart 文件,也就是Flutter的宗旨:万物皆可widget(可以理解成页面、窗口、组成部分)。
此时,我们主要对main.dart 和 btm_navbar.dart文件进行修改:
main.dart修改如下:
import 'package:flutter/material.dart';import 'package:material_3_demo/btm_navbar.dart';void main() { runApp(const MyApp());}class MyApp extends StatefulWidget { const MyApp({super.key}); @override State createState() => _MyAppState();}class _MyAppState extends State { @override initState() { super.initState(); } @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, home: BtmNavBarPage(), ); }}
btm_navbar.dart修改如下:
import 'package:flutter/material.dart';import 'package:flutter/cupertino.dart';import 'home_part/home_page.dart';import 'second_part/second_page.dart';import 'my_part/my_page.dart';class BtmNavBarPage extends StatefulWidget { const BtmNavBarPage({Key? key}) : super(key: key); @override State createState() => _BtmNavBarPageState();}class _BtmNavBarPageState extends State { final List bottomTabs = [ BottomNavigationBarItem( icon: Icon(CupertinoIcons.home,color: Colors.grey,), activeIcon: Icon(CupertinoIcons.home,color: Colors.pink,), label: "首页", ), BottomNavigationBarItem( icon: Icon(CupertinoIcons.search,color: Colors.grey,), activeIcon: Icon(CupertinoIcons.search,color: Colors.pink,), label: "手册", ), BottomNavigationBarItem( icon: Icon(CupertinoIcons.profile_circled,color: Colors.grey,), activeIcon: Icon(CupertinoIcons.profile_circled,color: Colors.pink,), label: "我的", ), ]; final List tabBodies = [ HomePage(), SecondPage(), MyPage(), ]; int currentIndex = 0; var currentPage; @override void initState() { super.initState(); currentPage = tabBodies[currentIndex]; } @override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.white, bottomNavigationBar: BottomNavigationBar( selectedFontSize: 13, unselectedFontSize: 13, selectedItemColor: Colors.pink, unselectedItemColor: Colors.grey, backgroundColor: Colors.white, type: BottomNavigationBarType.fixed, currentIndex: currentIndex, items: bottomTabs, onTap: (index){ setState(() { currentIndex = index; currentPage = tabBodies[currentIndex]; }); }, ), body: currentPage, ); }}
至此我们便完成了一个简单的框架,效果图如下:
接下来我们便可以搭建具体的页面了。
我们来搭建第一个页面:home_page.dart :
import 'package:flutter/material.dart';class HomePage extends StatefulWidget { const HomePage({Key? key}) : super(key: key); @override State createState() => _HomePageState();}class _HomePageState extends State { @override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.white, body: Container( child: Column( children: [ topPart(), CenterPart(), ], ), ), ); } Widget topPart() { return Container( child: Image.asset( "../assets/cs.png", width: MediaQuery.of(context).size.width, fit: BoxFit.cover, ), ); } Widget CenterPart() { return Container( child: ListView.builder( itemCount: 3, shrinkWrap: true, itemBuilder: (BuildContext context, int index) { return itemPart(index); }), ); } Widget itemPart(int index) { String strTit = ""; String strDet = ""; String strImg = ""; if (index == 0) { strTit = "Cloud Studio 简介"; strDet = "Cloud Studio是CODING自主研发的在线IDE集成开发环境,用户可以通过Cloud Studio创建项目的工作空间,进行在线编程、开发、调试等操作。Cloud Studio还提供可分享的在线IDE开发环境功能。"; strImg = "../assets/colud_studio.png"; } else if (index == 1) { strTit = "Flutter 简介"; strDet = "Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。Flutter可以与现有的代码一起工作,在全世界,Flutter正在被越来越多的开发者和组织使用。"; strImg = "../assets/flutter.png"; } else if (index == 2) { strTit = "Dart 简介"; strDet = "Dart是一种基于类的可选类型化编程语言,设计用于创建Web应用程序,Google称,Dart的设计目标是为Web编程创造结构化但又富有灵活性的语言。"; strImg = "../assets/dart.png"; } return Column( children: [ Container( child: Row( children: [ Container( padding: EdgeInsets.all(10), child: Image.asset( "${strImg}", width: 80, height: 80, fit: BoxFit.cover, ), ), Container( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( height: 25, child: Text( "${strTit}", style: TextStyle(fontSize: 16, fontWeight: FontWeight.w700), ), ), Container( padding: EdgeInsets.only(right: 10), height: 55, width: MediaQuery.of(context).size.width - 115, child: Text( "${strDet}", style: TextStyle(fontSize: 11, color: Colors.grey), maxLines: 3, overflow: TextOverflow.ellipsis, ), ) ], ), ), ], ), ), Container(height: 0.5, color: Color.fromARGB(255, 140, 137, 137)) ], ); }}
效果图如下:
需要注意的是,这时我们需要添加一些图片,新建一个文件夹assets,然后在配置文件中pubspec.yaml添加配置,代码如下:
description: A Flutter project showcasing supported Material 3 components, typography, color system and elevation. Supports different light/dark mode, color seed, and comparison to Material 2.publish_to: "none"version: 1.0.0+1environment: sdk: ">=2.17.0-0 <3.0.0"dependencies: flutter: sdk: flutter cupertino_icons: ^1.0.2dev_dependencies: flutter_test: sdk: flutter flutter_lints: ^2.0.1flutter: uses-material-design: true assets: - assets/
图片添加位置如下:
至此,我们就完成了页面的搭建。
下面我们来看一下效果图:
至此,我们可以看到一个简单的雏形。
优点:
缺点:
回头会附上资源链接,烦请大家,一键三连,关注、点赞、评论。感谢。
来源地址:https://blog.csdn.net/qq_43202853/article/details/131977555
--结束END--
本文标题: 【腾讯云 Cloud Studio 实战训练营】尝鲜体验Flutter编写一个App应用
本文链接: https://lsjlt.com/news/373010.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0