IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> flutter知识 -> 正文阅读

[移动开发]flutter知识

flutter知识

几乎所有的ui和功能都是widget

flutter是单线程

程序入口为

void main() {
  runApp(myApp1());
}
class MyApp3 extends StatelessWidget

需要添加padding可以使用Container

Widget titleSection = new Container(
      padding: const EdgeInsets.all(32.0)

布局分为行和列

横向布局用Row

垂直布局用Column

new Row(
  children: [
    new Expanded(
      child: new Column(

添加paddding

EdgeInsets.all(32.0),
EdgeInsets.only(bottom: 8.0),

添加text

new Text('41'),

添加icon

new Icon(

添加image网络图片和本地图片

new Image.network(
url或者本地图片路径,
  height: 240.0,
  fit: BoxFit.cover,
),

添加点击事件

new GestureDetector

页面跳转

Navigator.push(
  context,
  new MaterialPageRoute(builder: (context) => new MyApp3()),
);

context必须为StatefulWidget的context

添加一个listview

body: new ListView(
  children: [
    new Image.asset(
      'images/lake.jpg',
      height: 240.0,
      fit: BoxFit.cover,
    ),
    titleSection,
    buttonSection,
    textSection,
    // ...
  ],
),

网络请求

导包

pubspec.yaml
http: '>=0.11.3+12'

import 'package:http/http.dart' as http;
import 'dart:convert';
loadData() async {
  String dataURL = "https://jsonplaceholder.typicode.com/posts";
  http.Response response = await http.get(dataURL);
  print(json.decode(response.body));
}

数据库

SQLite for Flutter

和原生通信flutter调用android

获取手机电量

Future<void> _getBatteryLevel() async {
  String batteryLevel;
  try {
    final int result = await methodChannel.invokeMethod('getBatteryLevel');
    batteryLevel = 'Battery level: $result%.';
  } on PlatformException {
    batteryLevel = 'Failed to get battery level.';
  }
  print(batteryLevel);
  // Fluttertoast.showToast(msg: batteryLevel);
}

android项目汇中
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
MethodChannel(
            flutterEngine.getDartExecutor(),
            BATTERY_CHANNEL
        ).setMethodCallHandler { call, result ->
            if (call.method.equals("getBatteryLevel")) {
                val batteryLevel = getBatteryLevel()
                if (batteryLevel != -1) {
                    result.success(batteryLevel)
                } else {
                    result.error("UNAVAILABLE", "Battery level not available.", null)
                }
            } else {
                result.notImplemented()
            }
        }
    }
 
 然后flutter中的result会收到回调

android 调用flutter

android
private fun native2Dart() {
    val eventChannel = MethodChannel(flutterEngine?.dartExecutor, EVENT_CHANNEL)
    eventChannel.invokeMethod("nihao", "android调用flutter", object : MethodChannel.Result {
        override fun success(result: Any?) {
            Log.e("plateform_channel", "success")
        }

        override fun error(errorCode: String?, errorMessage: String?, errorDetails: Any?) {
        }

        override fun notImplemented() {
        }

    })
}
dart

class homestate extends State<content> {
  static const MethodChannel event =
      MethodChannel('samples.flutter.io/receive');

  @override
  void initState() {
    super.initState();
    event.setMethodCallHandler((call) async {
      print(call.arguments);
    });
  }

修改程序入口

flutter run -t lib/main2.dart //运行

flutter build apk -t lib/main2.dart //打包

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-25 12:38:54  更:2021-10-25 12:39:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:48:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码