快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

flutter目录设置,flutter 读取文件

iOS(Swift版)Flutter集成关键步骤

1.在项目目录执行 flutter create -t module XXX(flutter模块名) ;

二连浩特ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

2.修改Podfile,设置path,关联podhelper.rb,注意采用 load File.join() ,不采用之前的eval语句,在target do下install;

3.执行pod install;

4.修改AppDelegate为FlutterAppDelegate;

5.初始化并注册FlutterEngine;

6.vscode里flutter attach实时调试;

做完这些正常开发是可以了,至于打包需要更改什么再续。

Flutter中使用gRPC

gRPC是谷歌开发的一款远程过程调用系统,可以让客户端像调用本地对象一样使用服务端应用的方法,使用protocol buffers接口定义语言来定义服务方法,protocol buffer定义参数和返回类型。

protobuf类似json,是一种数据结构协议,在android studio中安装Protobuf Support,方便查看编写的proto文件

dart使用proto插件将proto文件生成对应的dart文件,使用如下步骤

1、安装flutter之后,再flutter的下面路径中有pub命令,需要将命令加入到path中。

可以vi ~/.zshrc,在文件中加入source ~/.bash_profile,然后在vi ~/.bash_profile文件中加入下面路径(:分割不同的路径)

export PATH=/Users/webull/app/flutter/bin:/Users/webull/app/flutter/bin/cache/dart-sdk/bin:/Users/webull/.pub-cache/bin:$PATH

其中fluter/bin是flutter的命令路径,dart-sdk/bin中包含了pub和其他dart命令,.pub-cache/bin是之后运行pub之后建立的路径,里面包含了proto-gen-dart命令,用来将proto文件转换为dart的命令

2、使用下面的命令安装proto插件

$ pub global activate protoc_plugin

安装完成后,上面的用户目录中的.pub-cache目录才会有proto-gen-dart文件。

1、其中/Users/webull是我的用户目录 app/flutter是flutter的安装目录

参考:

1、gRPC介绍

2、gRPC配置

Flutter初始化

新建一个Flutter工程,android模块。

1,只有一个Activity组件,它是Dart层绘制Widget的容器。

2,Application配置FlutterApplication。

应用Application配置io.flutter.app.FlutterApplication类,App首次启动时,初始化。

调用FlutterMain.startInitialization()方法。

initConfig方法,从AndroidManfest.xml配置的applicaion节点获取meta-data数据,初始化以下默认值。

这些值都是使用中用到的name,例如,抽取apk中asset资源时,flutter_assets打包目录,打包产物data名称。

initResources方法, 初始化资源。

在Flutter打包apk的asset目录下,包括fluttter_asset目录/资源项,将资源从apk中抽取,保存在 Context.getDir("flutter", 0) 目录下。

/data/user/0/包名/app_flutter目录。

在目录中创建一个时间戳文件,根据apk版本和包信息记录的lastUpdateTime更新时间,第二次启动时,若apk未更新,不需要再次抽取。

加载so库,libflutter.so,System.loadLibrary()。

主页面继承FlutterActivity,配置启动模式singleTop。

FlutterActivity类在io.flutter.app包, (区别io.flutter.embedding.android包), 组件生命周期委托给FlutterActivityDelegate类。

组件启动,onCreate方法。

FlutterMain.ensureInitializationComplete方法,确保资源成功抽取完成,创建FlutterView视图(io.flutter.view),继承SurfaceView类,setContentView方法,设置组件主布局即FlutterView视图。

最后,根据Bundle路径,runBundle()加载运行,

调用FlutterView的runFromBundle方法,入口点在dart的main方法,

通过FlutterNativeView,调用FlutterJNI的native方法。

nativeRunBundleAndSnapshotFromLibrary方法。

任重而道远

Flutter 文件路径

path_provider是flutter提供的一个获取应用存储路径的插件,它封装了统一的api来获取Android和ios两个平台的应用存储路径,提供的api如下:

getTemporaryDirectory():获取应用临时文件夹,该文件夹用来保存应用的缓存,可以随时删除用于清缓存,对应于Android的getCacheDir()和ios的NSTemporaryDirectory();

getApplicationDocumentsDirectory():获取应用安装路径,在应用被卸载的时候删除,对应Android的AppDate目录和iOS的NSDocumentDirectory目录;

getExternalStorageDirectory():获取存储卡目录,仅支持Android;

我们通过File和Directory来创建文件和文件夹时首先要获取到应用的相关路径,不然会报错;

File对象和Directory对象封装在dart:io中,使用时需要先引入该库:

Directory对象提供listSync()方法获取文件夹里的内容,该方法返回一个数组;

文件和文件夹都通过delete删除,delete异步,deleteSync同步;如果一个文件夹是非空的删除会报错,删除非空文件夹需要先清空该文件夹:

flutter对json序列化需要引入 dart:convert 库:

通过jsonEncode/jsonDecode来转换json对象:

// 将test目录下的info.json复制到test2目录下的info2.json中

引入包archive包:

压缩:

压缩前使用ZipFileEncoder先声明处理压缩的对象,调用该对象的zipDirectory方法压缩文件,该方法接受两个参数,第一个是要压缩文件/文件夹的路径,第二个是压缩包的保存路径;

解压:

Flutter开发环境配置(MAC版)

(该路径会有变化,可以关注Flutter社区,随时更新)

Documents为目录,fluttersdk为sdk文件夹

cd 到对应的项目工程中执行命令:

在终端中执行 flutter doctor 查看Android和iOS的开发环境,监测到依赖若有缺失,会给出缺失的依赖的安装结果,依照提示进行安装即可。

在命令终端执行相关命令:

打开Android Studio应用,打开菜单项Preferences Plugins中搜索Flutter插件并点击install进行安装

打开 VS Code,可点击 View - Command Palette,搜索flutter并点击install进行安装

如何快速获取Flutter安装目录

【日常记录一下】

公司和自己电脑来回切换,总是想不起来Flutter安装目录在哪儿。

于是,我找到了下面这个命令:

这下再也不用担心找不到Flutter目录了。


本文名称:flutter目录设置,flutter 读取文件
分享链接:http://6mz.cn/article/hocdci.html

其他资讯