成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

flutter化,flutter特性

Flutter初始化

新建一個(gè)Flutter工程,android模塊。

創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、網(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à)格咨詢:18980820575

1,只有一個(gè)Activity組件,它是Dart層繪制Widget的容器。

2,Application配置FlutterApplication。

應(yīng)用Application配置io.flutter.app.FlutterApplication類,App首次啟動(dòng)時(shí),初始化。

調(diào)用FlutterMain.startInitialization()方法。

initConfig方法,從AndroidManfest.xml配置的applicaion節(jié)點(diǎn)獲取meta-data數(shù)據(jù),初始化以下默認(rèn)值。

這些值都是使用中用到的name,例如,抽取apk中asset資源時(shí),flutter_assets打包目錄,打包產(chǎn)物data名稱。

initResources方法, 初始化資源。

在Flutter打包apk的asset目錄下,包括fluttter_asset目錄/資源項(xiàng),將資源從apk中抽取,保存在 Context.getDir("flutter", 0) 目錄下。

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

在目錄中創(chuàng)建一個(gè)時(shí)間戳文件,根據(jù)apk版本和包信息記錄的lastUpdateTime更新時(shí)間,第二次啟動(dòng)時(shí),若apk未更新,不需要再次抽取。

加載so庫(kù),libflutter.so,System.loadLibrary()。

主頁(yè)面繼承FlutterActivity,配置啟動(dòng)模式singleTop。

FlutterActivity類在io.flutter.app包, (區(qū)別io.flutter.embedding.android包), 組件生命周期委托給FlutterActivityDelegate類。

組件啟動(dòng),onCreate方法。

FlutterMain.ensureInitializationComplete方法,確保資源成功抽取完成,創(chuàng)建FlutterView視圖(io.flutter.view),繼承SurfaceView類,setContentView方法,設(shè)置組件主布局即FlutterView視圖。

最后,根據(jù)Bundle路徑,runBundle()加載運(yùn)行,

調(diào)用FlutterView的runFromBundle方法,入口點(diǎn)在dart的main方法,

通過FlutterNativeView,調(diào)用FlutterJNI的native方法。

nativeRunBundleAndSnapshotFromLibrary方法。

任重而道遠(yuǎn)

Flutter之國(guó)際化多語(yǔ)言

在說flutter國(guó)際化前,不得不提到,在uni-app中支持的Vue-i18n,兩者有相似之處,也有差異的地方。

本篇借鑒了三篇熱門帖子

Flutter中的國(guó)際化:如何寫一個(gè)多語(yǔ)言的App

Flutter國(guó)際化完整例子

Internationalization - Make an Flutter application multi-lingual

只記錄根據(jù)手機(jī)系統(tǒng)語(yǔ)言自動(dòng)轉(zhuǎn)換app語(yǔ)言

引入后,保存會(huì)自動(dòng)加入安裝此依賴

我們新建一個(gè)和"/lib"同級(jí)別的文件夾"/locale",然后在這個(gè)文件夾中新建兩個(gè)文件,分別為"i18n_en.json" 和" i18n_zh.json"。再在"/lib"文件夾下創(chuàng)建和"main.dart"同級(jí)的"translation.dart"和"application.dart"。

??文件夾樹現(xiàn)在是這個(gè)樣子的:

MyApplication

? |

? +- android

? +- build

? +- images

? +- ios

? +- lib

?? |

?? +-main.dart

?? +-translation.dart

?? +-application.dart

? +- locale

?? |

?? +- i18n_en.json

?? +- i18n_zh.json

? +- test

在pubspec.yaml繼續(xù)加入json,引入靜態(tài)資源

補(bǔ)充:如果需要強(qiáng)制轉(zhuǎn)換的話(我自己沒有用到)

Flutter 數(shù)據(jù)持久化

在開發(fā)應(yīng)用的時(shí)候,有時(shí)候需要本地存儲(chǔ)一個(gè)臨時(shí)數(shù)據(jù),這時(shí)候可以使用 Flutter 的 shared_preferences 插件,此插件在 iOS 上使用 NSUserDefaults,在 Android 上使用 SharedPreferences,為簡(jiǎn)單數(shù)據(jù)提供持久存儲(chǔ)。

先安裝依賴:

shared_preferences 使用的存儲(chǔ)方式是 key-value 形式。

雖然使用鍵值存儲(chǔ)非常簡(jiǎn)單方便,但它有一些限制:

shared_preferences 實(shí)例常用方法:

本文標(biāo)題:flutter化,flutter特性
當(dāng)前鏈接:http://jinyejixie.com/article30/dsdgcpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、網(wǎng)站收錄用戶體驗(yàn)、服務(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è)設(shè)計(jì)公司
曲沃县| 宜兰县| 扶绥县| 治多县| 威海市| 普宁市| 南充市| 梁平县| 洛宁县| 永城市| 新干县| 庐江县| 包头市| 凤山市| 横山县| 内黄县| 嘉善县| 宁强县| 井冈山市| 洛宁县| 中宁县| 嘉鱼县| 崇文区| 东安县| 综艺| 泉州市| 九龙县| 阿合奇县| 红原县| 德江县| 桐城市| 惠州市| 田林县| 广安市| 勐海县| 定兴县| 顺义区| 桦甸市| 邯郸县| 特克斯县| 日喀则市|