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

flutter化,flutter特性

Flutter初始化

新建一個Flutter工程,android模塊。

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

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

2,Application配置FlutterApplication。

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

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

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

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

initResources方法, 初始化資源。

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

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

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

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

主頁面繼承FlutterActivity,配置啟動模式singleTop。

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

組件啟動,onCreate方法。

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

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

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

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

nativeRunBundleAndSnapshotFromLibrary方法。

任重而道遠(yuǎn)

Flutter之國際化多語言

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

本篇借鑒了三篇熱門帖子

Flutter中的國際化:如何寫一個多語言的App

Flutter國際化完整例子

Internationalization - Make an Flutter application multi-lingual

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

引入后,保存會自動加入安裝此依賴

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

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

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ù)據(jù),這時候可以使用 Flutter 的 shared_preferences 插件,此插件在 iOS 上使用 NSUserDefaults,在 Android 上使用 SharedPreferences,為簡單數(shù)據(jù)提供持久存儲。

先安裝依賴:

shared_preferences 使用的存儲方式是 key-value 形式。

雖然使用鍵值存儲非常簡單方便,但它有一些限制:

shared_preferences 實例常用方法:

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

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站網(wǎng)站收錄用戶體驗服務(wù)器托管網(wǎng)站導(dǎo)航建站公司

廣告

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

成都網(wǎng)頁設(shè)計公司