path_provider是flutter提供的一個獲取應(yīng)用存儲路徑的插件,它封裝了統(tǒng)一的api來獲取Android和ios兩個平臺的應(yīng)用存儲路徑,提供的api如下:
創(chuàng)新互聯(lián)公司主營汾西網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,手機(jī)APP定制開發(fā),汾西h5成都小程序開發(fā)搭建,汾西網(wǎng)站營銷推廣歡迎汾西等地區(qū)企業(yè)咨詢
getTemporaryDirectory():獲取應(yīng)用臨時文件夾,該文件夾用來保存應(yīng)用的緩存,可以隨時刪除用于清緩存,對應(yīng)于Android的getCacheDir()和ios的NSTemporaryDirectory();
getApplicationDocumentsDirectory():獲取應(yīng)用安裝路徑,在應(yīng)用被卸載的時候刪除,對應(yīng)Android的AppDate目錄和iOS的NSDocumentDirectory目錄;
getExternalStorageDirectory():獲取存儲卡目錄,僅支持Android;
我們通過File和Directory來創(chuàng)建文件和文件夾時首先要獲取到應(yīng)用的相關(guān)路徑,不然會報錯;
File對象和Directory對象封裝在dart:io中,使用時需要先引入該庫:
Directory對象提供listSync()方法獲取文件夾里的內(nèi)容,該方法返回一個數(shù)組;
文件和文件夾都通過delete刪除,delete異步,deleteSync同步;如果一個文件夾是非空的刪除會報錯,刪除非空文件夾需要先清空該文件夾:
flutter對json序列化需要引入 dart:convert 庫:
通過jsonEncode/jsonDecode來轉(zhuǎn)換json對象:
// 將test目錄下的info.json復(fù)制到test2目錄下的info2.json中
引入包archive包:
壓縮:
壓縮前使用ZipFileEncoder先聲明處理壓縮的對象,調(diào)用該對象的zipDirectory方法壓縮文件,該方法接受兩個參數(shù),第一個是要壓縮文件/文件夾的路徑,第二個是壓縮包的保存路徑;
解壓:
【日常記錄一下】
公司和自己電腦來回切換,總是想不起來Flutter安裝目錄在哪兒。
于是,我找到了下面這個命令:
這下再也不用擔(dān)心找不到Flutter目錄了。
新建一個Flutter工程,android模塊。
1,只有一個Activity組件,它是Dart層繪制Widget的容器。
2,Application配置FlutterApplication。
應(yīng)用Application配置io.flutter.app.FlutterApplication類,App首次啟動時,初始化。
調(diào)用FlutterMain.startInitialization()方法。
initConfig方法,從AndroidManfest.xml配置的applicaion節(jié)點(diǎn)獲取meta-data數(shù)據(jù),初始化以下默認(rèn)值。
這些值都是使用中用到的name,例如,抽取apk中asset資源時,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)建一個時間戳文件,根據(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方法,入口點(diǎn)在dart的main方法,
通過FlutterNativeView,調(diào)用FlutterJNI的native方法。
nativeRunBundleAndSnapshotFromLibrary方法。
任重而道遠(yuǎn)
名稱欄目:flutter目錄空間,flutter 文件操作
URL地址:http://sd-ha.com/article34/phhpse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、搜索引擎優(yōu)化、全網(wǎng)營銷推廣、服務(wù)器托管、靜態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)