Flutter 客户端打包
配置app图标
在项目的/android/app/src/main/res/,文件夹里有很多mipmap-为前缀命名的文件夹,后面是像素密度,可以看出图标的分辨率
- mdpi:160dpi
- hdpi:240dpi
- xhdpi:320dpi
- xxhdpi:480dpi
- xxxhdpi:640dpi
配置App名称、图标名称和系统权限
大约 2 分钟
app图标在项目的/android/app/src/main/res/,文件夹里有很多mipmap-为前缀命名的文件夹,后面是像素密度,可以看出图标的分辨率
App名称、图标名称和系统权限在原生项目的上一级,创建flutter模块
flutter create -t module flutter_module
Dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时和定义适配器等
import 'package:flutter/material.dart';
import 'package:dio/dio.dart';
class PageHome extends StatelessWidget {
void getHttp() async{
try {
Response res;
res = await Dio().get('https://www.xxx?name=002');
// res = await Dio().post('https://xx',queryParameters:{'name':002});
print(res);
} catch (e) {
}
}
@override
Widget build(BuildContext context) {
getHttp();
return Scaffold(
body: Center(
child: Text('首页'),
),
);
}
}
Navigator.push跳转到下一个页面,接收2个参数,一个是上下文,另一个是跳转的函数Navigator.pop返回到上一个页面,使用时传递一个上下文,必须上级页面使用了.push才能使用导航参数传递使用Navigator控件,然后使用路由MaterialPageRoute传递参数,并在子页面接收参数
itemBuilder: (context,index){
return ListTile(
title: Text(items[index].title),
onTap: () async{
final res = await Navigator.push(
context,
MaterialPageRoute(
builder: (context) => new GoodsDetail(item:items[index])
)
);
Scaffold.of(context).showSnackBar(SnackBar(content:Text('$res')));
},
);
},
....
children: <Widget>[
Text('${item.description}'),
RaisedButton(
child: Text('选择该商品'),
onPressed: (){
Navigator.pop(context,'已选择${item.title}');
},
)
],
....
main.dart中MyApp返回的MaterialApp中引入一个即将编写的底部导航控件import 'bottom_navigation_widget.dart';
...
return MaterialApp(
...
home: BottomNavigationWidget()
);
StatefulWidget具有可变状态的窗口部件,也就是你在使用应用的时候就可以随时变化,比如我们常见的进度条StatelessWidget不可变状态窗口部件,也就是你在使用时不可以改变,比如固定的文字init 先初始父类 再初始子类
dispose 先销毁子类 再销毁父类
theme: ThemeData(
primaryIconTheme: IconThemeData(
color: Colors.white
),
brightness: Brightness.light,
primaryColor: Color.fromARGB(255, 30, 46, 69),
accentColor: Colors.blue
),
var声明,因为Dart会推断变量类型List<Map<String,String>>也可以写成List<Map<String,dynamic>>main函数开始,支持绑定到类或者对象函数Linux、Android、IOS、Fuchsia,甚至支持嵌入式开发Git,安装JAVA