欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

flutter的通訊錄,flutternutter

Flutter開發(fā)--Pub包管理

在原生開發(fā)中, Android 使用 Gradle 來管理依賴, iOS 用 Cocoapods 來管理依賴,Node 中通過 npm來管理依賴。 Flutter 使用配置文件 pubspec.yaml (位于項(xiàng)目根目錄)來管理第三方依賴包。

專業(yè)從事企業(yè)網(wǎng)站建設(shè)和網(wǎng)站設(shè)計(jì)服務(wù),包括網(wǎng)站建設(shè)、國(guó)際域名空間、雅安服務(wù)器托管、企業(yè)郵箱、微信公眾號(hào)開發(fā)、微信支付寶小程序開發(fā)、app軟件定制開發(fā)、軟件開發(fā)、等服務(wù)。公司始終通過不懈的努力和以更高的目標(biāo)來要求自己,在不斷完善自身管理模式和提高技術(shù)研發(fā)能力的同時(shí),大力倡導(dǎo)推行新經(jīng)濟(jì)品牌戰(zhàn)略,促進(jìn)互聯(lián)網(wǎng)事業(yè)的發(fā)展。

Pub 是Google官方的Dart Packages倉庫,類似于node中的npm倉庫,android中的jcenter,我們可以在上面查找我們需要的包和插件,也可以向pub發(fā)布我們的包和插件。

Pub工具 包含管理Package、部署Package和部署命令行應(yīng)用的命令。

如果使用的是Flutter SDK,不要直接使用pub命令。而是使用flutter pub命令,如下:

命令pub get/upgrade/outdated 屬于管理Package的依賴關(guān)系

用于檢索當(dāng)前 Package 所依賴的其它 Package。如果 pubspec.lock 文件已經(jīng)存在,則根據(jù)該文件中保存的依賴項(xiàng)版本獲取對(duì)應(yīng)的依賴項(xiàng)。如有必要,將會(huì)創(chuàng)建或更新該文件。

更新 package 依賴

當(dāng)你添加一個(gè) package 后首次運(yùn)行 flutter pub get, Flutter 將會(huì)保存在 pubspec.lock lockfile 中找到的具體 package 版本。這將確保當(dāng)你或者團(tuán)隊(duì)中其他開發(fā)者運(yùn)行 flutter pub get 后能得到相同版本的 package。

如果你想升級(jí)到 package 的最新版本,比如使用 package 的最新特性,請(qǐng)運(yùn)行 flutter pub upgrade 。這將檢索你在 pubspec.yaml 文件中指定的版本約束所允許的最高可用版本。

案例

在flutter項(xiàng)目中導(dǎo)入hive包,在pubspec.yaml文件中添加配置:

執(zhí)行flutter pub get,可以在 pubspec.lock 中看到 hive 版本是2.1.0,這是因?yàn)槟壳癶ive的最新版本是2.1.0,配置“^”表示向最新版本兼容,具體可查看Package版本管理( ),所以再執(zhí)行flutter pub upgrade 可以看到版本還是2.1.0,這個(gè)時(shí)候會(huì)發(fā)現(xiàn)pub get和 pub upgrade 效果一樣。

但是未來如果 hive 發(fā)布了2.2.0版本,這個(gè)時(shí)候使用flutter pub get在pubspec.lock中看到hive版本依舊是2.1.0,而執(zhí)行flutter pub upgrade 后在pubspec.lock中看到hive版本就是2.2.0。

現(xiàn)在先在flutter 項(xiàng)目的pubspec.yaml文件添加配置,指定hive版本是2.0.5,如下:

這個(gè)時(shí)候執(zhí)行flutter pub get后,可以在pubspec.lock的文件中看到hive版本是2.0.5,如果這個(gè)時(shí)候更改配置為 hive: ^2.0.5,再執(zhí)行flutter pub get就會(huì)發(fā)現(xiàn)在pubspec.lock的文件中看到hive版本還是2.0.5,這個(gè)時(shí)候可以執(zhí)行flutter pub outdated查看依賴的每個(gè) package,如下圖,

可以看到,Upgrable項(xiàng)hive版本號(hào)為2.1.0,執(zhí)行flutter pub upgrade 后可以看到在pubspec.lock的文件中看到hive版本是2.1.0

在pubspec.yaml文件添加配置:

lxx_package_demo信息如下圖:

執(zhí)行flutter pub get后在pubspec.lock中看到flutter_log版本是0.0.1

現(xiàn)在修改lxx_package_demo版本號(hào)為0.0.2,再執(zhí)行flutter pub get

會(huì)發(fā)現(xiàn)版本會(huì)及時(shí)更新為0.0.2,這個(gè)時(shí)候執(zhí)行flutter pub get/upgrade效果一樣

參考文檔:

Flutter 之 文件操作(二十九)

Dart的 IO 庫包含了文件讀寫的相關(guān)類,它屬于 Dart 語法標(biāo)準(zhǔn)的一部分,所以通過 Dart IO 庫,無論是 Dart VM 下的腳本還是 Flutter,都是通過 Dart IO 庫來操作文件的,不過和 Dart VM 相比,F(xiàn)lutter 有一個(gè)重要差異是文件系統(tǒng)路徑不同,這是因?yàn)镈art VM 是運(yùn)行在 PC 或服務(wù)器操作系統(tǒng)下,而 Flutter 是運(yùn)行在移動(dòng)操作系統(tǒng)中,他們的文件系統(tǒng)會(huì)有一些差異。

Android 和 iOS 的應(yīng)用存儲(chǔ)目錄不同, PathProvider 插件提供了一種平臺(tái)透明的方式來訪問設(shè)備文件系統(tǒng)上的常用位置。該類當(dāng)前支持訪問兩個(gè)文件系統(tǒng)位置:

File代表一個(gè)整體的文件,他有三個(gè)構(gòu)造函數(shù),分別是:

文件讀取本身有兩種形式,一種是文本,一種是二進(jìn)制。

2.2.1 讀取文本內(nèi)容

如果是文本文件,F(xiàn)ile提供了readAsString、readAsLines、readAsStringSync、readAsLinesSync方法,讀取文本內(nèi)容

readAsString 一次性讀取所有文本

readAsLines 一行行的讀取文本

結(jié)果返回的是一個(gè)List,list中表示文件每行的內(nèi)容

readAsStringSync、readAsLinesSync同步讀取文本

2.2.2 讀取二進(jìn)制內(nèi)容

如果文件是二進(jìn)制,那么可以使用readAsBytes或者同步的方法readAsBytesSync:

dart中表示二進(jìn)制有一個(gè)專門的類型叫做Uint8List,他實(shí)際上表示的是一個(gè)int的List。

上面提到的讀取方式,都是一次性讀取整個(gè)文件,缺點(diǎn)就是如果文件太大的話,可能造成內(nèi)存空間的壓力。

所以File為我們提供了另外一種讀取文件的方法,流的形式來讀取文件.

示例

dart提供了open和openSync兩個(gè)方法來進(jìn)行隨機(jī)文件讀寫:

寫入和文件讀取一樣,可以一次性寫入或者獲得一個(gè)寫入句柄,然后再寫入。

一次性寫入的方法有四種,分別對(duì)應(yīng)字符串和二進(jìn)制

句柄形式可以調(diào)用openWrite方法,返回一個(gè)IOSink對(duì)象,然后通過這個(gè)對(duì)象進(jìn)行寫入:

默認(rèn)情況下寫入是會(huì)覆蓋整個(gè)文件的,但是可以通過下面的方式來更改寫入模式:

雖然dart中所有的異常都是運(yùn)行時(shí)異常,但是和java一樣,要想手動(dòng)處理文件讀寫中的異常,則可以使用try,catch:

我們還是以計(jì)數(shù)器為例,實(shí)現(xiàn)在應(yīng)用退出重啟后可以恢復(fù)點(diǎn)擊次數(shù)。 這里,我們使用文件來保存數(shù)據(jù):

1.引入PathProvider插件;在pubspec.yaml文件中添加如下聲明:

執(zhí)行 flutter pub get

2.實(shí)現(xiàn)如下

參考:

Flutter中使用gRPC

gRPC是谷歌開發(fā)的一款遠(yuǎn)程過程調(diào)用系統(tǒng),可以讓客戶端像調(diào)用本地對(duì)象一樣使用服務(wù)端應(yīng)用的方法,使用protocol buffers接口定義語言來定義服務(wù)方法,protocol buffer定義參數(shù)和返回類型。

protobuf類似json,是一種數(shù)據(jù)結(jié)構(gòu)協(xié)議,在android studio中安裝Protobuf Support,方便查看編寫的proto文件

dart使用proto插件將proto文件生成對(duì)應(yīng)的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是之后運(yùn)行pub之后建立的路徑,里面包含了proto-gen-dart命令,用來將proto文件轉(zhuǎn)換為dart的命令

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

$ pub global activate protoc_plugin

安裝完成后,上面的用戶目錄中的.pub-cache目錄才會(huì)有proto-gen-dart文件。

1、其中/Users/webull是我的用戶目錄 app/flutter是flutter的安裝目錄

參考:

1、gRPC介紹

2、gRPC配置

當(dāng)前文章:flutter的通訊錄,flutternutter
標(biāo)題路徑:http://chinadenli.net/article5/dsejiii.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司網(wǎng)站建設(shè)用戶體驗(yàn)網(wǎng)站改版電子商務(wù)網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)