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

flutter在線開發(fā),flutter開發(fā)工具

Flutter自制工具之fluct助力Flutter快速開發(fā)神器

一個(gè)幫助開發(fā)Flutter應(yīng)用程序的工具

成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司與策劃設(shè)計(jì),泰州網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:泰州等地區(qū)。泰州做網(wǎng)站價(jià)格咨詢:18982081108

.----------------------------------------------

| github地址:

|

| pub地址:

|

`----------------------------------------------

該工具無需添加到依賴項(xiàng)中,我們只需要 激活 即可,使用如下命令:

fluct 目前只有兩個(gè)命令 create 和 gen-assets

在 Flutter 開發(fā)過程中,我們創(chuàng)建文件是必須的,而AS自帶的創(chuàng)建文件,并沒有自動(dòng)的生成相關(guān)的內(nèi)容,這會(huì)讓開發(fā)者非常的苦惱,類名還需要自己手動(dòng)敲的話,而該命令,直接可以一步到位。

當(dāng)運(yùn)行此命令后,命令行會(huì)輸出以下內(nèi)容

可以看到,該命令輸出的內(nèi)容是簡單易懂的,我們來簡單使用一下吧。

創(chuàng)建 IndexPage 頁面,繼承自 StatefulWidget ,可以使用如下命令:

運(yùn)行成功之后,我們會(huì)在項(xiàng)目下找到 index_page.dart 文件,內(nèi)容為:

當(dāng)然,你也可以指定哪個(gè)文件夾,例如,我要在./lib/src/page 文件夾下創(chuàng)建 IndexPage ,使用如下命令

在開始之前,我們需要在項(xiàng)目根目錄下新建一個(gè) fluct.yaml 文件,因?yàn)?fluct create -t custom 命令會(huì)找到它,內(nèi)容如下:

這里,我聲明了 inh 命令,然后運(yùn)行這個(gè)命令之后會(huì)在生成文件的時(shí)候添加 inh 對(duì)應(yīng)的內(nèi)容,內(nèi)容中我們值得注意的是 $NAME$ 占位符,該字符串會(huì)被替換成根據(jù)文件名生成的內(nèi)容,例如: index_page 會(huì)插入 IndexPage 到 $NAME$ 占位符中,最后,我們運(yùn)行以下命令:

運(yùn)行成功之后,我們能夠在根目錄下找到 index_inherited.dart 文件,內(nèi)容也是對(duì)應(yīng)的自定義內(nèi)容

我們?cè)谑褂觅Y源文件時(shí),需要在 pubspec.yaml 文件聲明資源文件的路徑

例如:我在 ./assets/images 文件夾下添加 a.png 圖片,需要在 pubspec.yaml 文件下聲明

或者使用文件夾路徑

這一步如果文件多起來,很容易出現(xiàn)混亂,導(dǎo)致聲明麻煩,引用麻煩,并隨著項(xiàng)目的迭代,資源文件有些不用了,也不知道哪個(gè)是哪個(gè),這個(gè)時(shí)候, fluct gen-assets 命令幫到你

當(dāng)運(yùn)行 fluct gen-assets -h 會(huì)輸出以下內(nèi)容

到此,你已經(jīng)擁有了自動(dòng)資源綁定的功能了,輸入 fluct gen-assets 即可

所有的內(nèi)容都聲明好了, very good ~

有小伙伴可能會(huì)疑惑, fluct create 運(yùn)行之后會(huì)發(fā)現(xiàn)未找到命令,可能你使用了 flutter pub global activate fluct 命令激活,這個(gè)時(shí)候,我們可以使用 flutter pub run fluct create 運(yùn)行

Flutter開發(fā)--視頻播放器

目前Flutter平臺(tái)主流的兩個(gè)播放器是video_player和fijkplayer

pub

github

1、Flutter平臺(tái)官方插件,作者是國外的,有問題溝通比較困難,只能通過提交issue

2、硬解碼

4、UI封裝: better_player

基于video_player和Chewie的高級(jí)視頻播放器。它解決了許多典型的用例,并且易于運(yùn)行。

5、播放器寬高比例與視頻內(nèi)容寬高比例不一致時(shí),會(huì)出現(xiàn)圖像壓縮變形的問題

6、調(diào)用原生內(nèi)核播放器:iOS--AVPlayer, Android--ExoPlayer

7、對(duì)于分段源 m3u8 的播放不友好,如果一個(gè)切片播放超時(shí),會(huì)導(dǎo)致整個(gè)播放都失敗

8、better_player可以緩存視頻,但不能自定義緩存的地址,只能指定key,和緩存的最大內(nèi)存量(還未研究超出最大的話是不能緩存新的,還是刪除最舊的)

9、better_player不能完全自定義UI,只能修改類中的一些開放屬性,比如說icon圖標(biāo),文字顏色啥的

10、無網(wǎng)絡(luò)有緩存時(shí),封面可以正常展示

11、better_player播放失敗有手動(dòng)retry的設(shè)計(jì)

pub

github

1、fijkplayer 是一個(gè) Flutter 生態(tài)的媒體播放器,是對(duì) ijkplayer 的 Flutter 封裝,支持 Android 和 iOS。 fijkplayer 使用 ijkplayer 作為播放器內(nèi)核,ijkplayer 使用 ffmpeg 進(jìn)行音視頻解封裝和解碼,同時(shí)添加了 Android 和 iOS 平臺(tái)特有的硬件加速解碼能力。

2 、國內(nèi)有QQ群,但是活躍度也是不高。

3、可以緩存視頻,可以自定義緩存的地址,方便后續(xù)的內(nèi)存維護(hù)。

4、可以通過FijkPanelWidgetBuilder較大程度上自定義UI。

5、無網(wǎng)絡(luò)有緩存視頻時(shí),無法展示封面,因?yàn)閮?nèi)部是通過imageProvider去加載網(wǎng)絡(luò)圖片的。

7、播放失敗無手動(dòng)retry的設(shè)計(jì)

1、兩種播放器都是通過外接紋理方案 (Texture),將播放器視頻畫面渲染接入 flutter 中,性能上優(yōu)于 PlatformView 的接入方法。

如何自己實(shí)現(xiàn)?

下面以video_palyer的iOS源碼部分解釋:

iOS用CVPixelBufferRef將渲染出來的數(shù)據(jù)存在內(nèi)存中,F(xiàn)lutter engine會(huì)將Texture的數(shù)據(jù)在內(nèi)存中直接進(jìn)行映射無需通過Channel傳輸,然后Texture Widget就可以把你提供的這些數(shù)據(jù)顯示出來。在我們傳輸數(shù)據(jù)的時(shí)候會(huì)需要將其與 TextureID 綁定,綁定的過程通過BasicMessageChannel實(shí)現(xiàn)數(shù)據(jù)流的傳輸,以做到實(shí)時(shí)展示的效果

看我如何使用Flutter開發(fā)一款盯盤小工具

前言

最近街邊討論買基金大佬們又多起來了,一些技術(shù)交流群也時(shí)不時(shí)看到某某某大佬在討論股票,看來最近行情很好啊,雖然我不懂交易,但我總覺得可以做些什么來彌補(bǔ)我的不足,于是有了接下來要跟大家分享的“盯盤小工具”。

準(zhǔn)備開干

那么接下來我的目標(biāo)是開發(fā)一款PC端的桌面盯盤小工具,特點(diǎn)首先就是小、方便整天盯著電腦屏幕的白領(lǐng)們打開瞧瞧,省去費(fèi)事各種操作;然后就是無需關(guān)注太多費(fèi)腦筋的指標(biāo),所以能夠顯示名稱和漲跌幅即可。有的上面的需求后,那就可以開始搬磚了,但是對(duì)于我這種只懂點(diǎn)Android皮毛又沒做過桌面應(yīng)用的人來說,簡直是比登天還難,那該咋辦?在夜深人靜時(shí),我恍然想起了Flutter,沒錯(cuò)先來一張圖:

還記得當(dāng)時(shí)看Flutter的時(shí)候還是1.2版本,如今回過頭來看,已經(jīng)不是曾經(jīng)那個(gè)Flutter了。

搬磚

為了實(shí)現(xiàn)這個(gè)小小的業(yè)余需求并且又能學(xué)習(xí)Flutter,于是我白天下班回來又開始不同場(chǎng)景不同程序語言的搬磚,重新安裝了Flutter的最新開發(fā)環(huán)境,重新學(xué)習(xí)Flutter開發(fā)-萬物皆widget。

功夫不負(fù)有心人

效果圖展示

當(dāng)前為最初版本,很多功能還不夠完善,后續(xù)目標(biāo)就是完善及優(yōu)化,

GitHub項(xiàng)目地址:

致謝

為了實(shí)現(xiàn)這個(gè)小小的業(yè)余需求并且又能學(xué)習(xí)Flutter,我也參考了很多Flutter大佬的開源項(xiàng)目,在此感謝所有優(yōu)秀的開源項(xiàng)目 _ 。

flutter 插件開發(fā)

new flutter project,選擇Flutter Plugin,next,輸入插件名,包名,運(yùn)行平臺(tái)及編寫語言,finish!

如上圖,筆者的插件名為log_plugin,選用Android,java語言開發(fā)

在自動(dòng)打開和插件名同名的dart文件,聲明要使用其他語言的方法,本例使用java 語言實(shí)現(xiàn)Android原生的log輸出

編輯 android/src/main/java/com/whh/log_plugin/LogPlugin.java

在onMethodCall方法中,區(qū)別聲明方法名,以實(shí)現(xiàn)該方法邏輯

至此,簡單的插件開發(fā)完成,接下來測(cè)試

example是插件測(cè)試工程,打開其中的main.dart

打開已有的或者新建一個(gè)flutter app project,在其pubspec.yaml引入插件

使用pub get 關(guān)聯(lián)到插件

詳見官網(wǎng)文檔

此文為 flutter 初學(xué)者記錄學(xué)習(xí)過程,附上 github ,小小分享~

每天進(jìn)步一點(diǎn)點(diǎn)。。。(2021-08-10)

分享題目:flutter在線開發(fā),flutter開發(fā)工具
分享路徑:http://chinadenli.net/article1/dseppod.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作標(biāo)簽優(yōu)化App開發(fā)搜索引擎優(yōu)化靜態(tài)網(wǎng)站網(wǎng)站收錄

廣告

聲明:本網(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)頁設(shè)計(jì)公司