Flutter Android 混合開發(fā)記錄


本文資料 圖片等均來自來自慕課網(wǎng)

1. 創(chuàng)建 Flutter module?

在做混合開發(fā)之前我們首先需要?創(chuàng)建 一個 Flutter module.

假設你的Native 項目是這樣的: xxx/flutter_hybrid/Native項目:?

執(zhí)行以下命令:

cd?xxx/flutter_hybrid/Native

flutter create -t module flutter_module

上面代碼會切換到你的Android/iOS項目的上一級目錄, 并創(chuàng)建一個futter 模塊:

圖片來自慕課網(wǎng)

上面是flutter_module中的文件結構, 你會發(fā)現(xiàn)它里面包含.android 和 .ios, 這兩個文件夾是隱藏文件, 也是這個flutter_module的宿主工程:

* .android? -? flutter_module的Android宿主工程;

*.ios? -??flutter_module的iOS宿主工程;

* lib? ?-? ?flutter_module的Dart部分的代碼;

*pubspec.yaml? -? flutter_module的項目依賴文件;

因為宿主工程的存在, 我們這個flutter_module在不加額外配置的情況下是可以獨立運行的, 通過安裝了Flutter和Dart插件的Android Studio (或者VS Code) 打開flutter_module項目, 運行.


2.1 Flutter Android 混合開發(fā)

1. 用Android Studio 打開?flutter_module的安卓 宿主工程, 在settings.gradle文件下 添加 Flutter module的 依賴配置, 代碼如下:

2.1添加 Flutter module的 依賴配置 (來自慕課網(wǎng))

setBinding 和 evaluate 允許Flutter模塊包括它自己在內的任何插件, 在settings.gradle中以類似:? flutter , 祝英臺age_info ,? :video_palyer的方式存在.

2. 在安卓主工程的 build.gradle(Module: app)的dependencies節(jié)點 下, 添加flutter module的依賴, 代碼如下:?

2.2 添加依賴(來自慕課網(wǎng))

2.2. 在Java中調用Flutter module

經(jīng)過上面2個步驟, 已經(jīng)為Android項目添加了Flutter必須的依賴, 接下來要在Java中調用Flutter 模塊:?

在Java中調用Flutter 模塊有兩種方式:

* 使用Flutter.createView API的方式:?

Flutter.createView示例代碼(來自慕課網(wǎng))


* 使用FlutterFragment的方式


FlutterFragment(來自慕課網(wǎng))

上面使用的字符串 "route1" 是用來告訴Dart代碼在Flutter視圖中顯示那個小部件. Flutter木塊項目的lib/main.dart文件需要通過window.defaultRouteName來獲取Native指定要像是的路由名, 已確定要創(chuàng)建哪個窗口小部件并傳遞給runApp:

(來自慕課網(wǎng))


2.3調用Flutter module時傳遞參數(shù)

在上文中, 無論通過是使用Flutter.createView 還是?FlutterFragment的方式, 都允許加載flutter module時傳遞一個String類型的initialRoute參數(shù), 如何傳遞其他參數(shù)呢?

FragmentTransaction tx = getASupportFragmentManager().beginTransaction();

tx.replace(R.id.someContainer, flutter.createFragment( "{name:'devio',? dataList:['aa', 'bb', 'cc']}"));

tx.commit();

然后在Flutter module 通過如下方式獲取:?

import? 'dart.ui ' // 要使用window對象必須引入

String initParams =? window.defaultRouteName;


2.4 編寫運行Dart代碼?


2.5 熱加載和熱重啟

2.5.1 混合開發(fā)項目怎么啟用熱加載和熱重啟?

* 打開一個模擬器 , 或者連著設備到電腦?

* 關閉App, 然后運行Flutter attach;

(ps: 如果電腦連接多個設備?Flutter attach -d '設備ID'?)?





資料來自慕課網(wǎng).?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子放可,更是在濱河造成了極大的恐慌卖氨,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件残炮,死亡現(xiàn)場離奇詭異韭赘,居然都是意外死亡,警方通過查閱死者的電腦和手機吉殃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門辞居,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蛋勺,你說我怎么就攤上這事瓦灶。” “怎么了抱完?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵贼陶,是天一觀的道長。 經(jīng)常有香客問我巧娱,道長碉怔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任禁添,我火速辦了婚禮撮胧,結果婚禮上,老公的妹妹穿的比我還像新娘老翘。我一直安慰自己芹啥,他們只是感情好,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布铺峭。 她就那樣靜靜地躺著墓怀,像睡著了一般。 火紅的嫁衣襯著肌膚如雪卫键。 梳的紋絲不亂的頭發(fā)上傀履,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機與錄音莉炉,去河邊找鬼钓账。 笑死碴犬,一個胖子當著我的面吹牛,可吹牛的內容都是我干的官扣。 我是一名探鬼主播翅敌,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼惕蹄!你這毒婦竟也來了蚯涮?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤卖陵,失蹤者是張志新(化名)和其女友劉穎遭顶,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體泪蔫,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡棒旗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了撩荣。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铣揉。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖餐曹,靈堂內的尸體忽然破棺而出逛拱,到底是詐尸還是另有隱情,我是刑警寧澤台猴,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布朽合,位于F島的核電站,受9級特大地震影響饱狂,放射性物質發(fā)生泄漏曹步。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一休讳、第九天 我趴在偏房一處隱蔽的房頂上張望讲婚。 院中可真熱鬧,春花似錦俊柔、人聲如沸磺樱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至芜辕,卻和暖如春尚骄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背侵续。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工倔丈, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留憨闰,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓需五,卻偏偏與公主長得像鹉动,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子宏邮,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內容

  • 混合開發(fā)Flutter集成步驟 創(chuàng)建Flutter module 添加Flutter module依賴 在Java...
    YangDxg閱讀 1,377評論 0 2
  • 前言 本文主要介紹 Flutter 與 Android 的混合開發(fā)泽示,關于 Flutter 與 iOS 的混合開發(fā)后...
    南小夕閱讀 2,122評論 1 10
  • “淡泊名利,隨遇而安” 對于有些人蜜氨,這是精神境界械筛, 而對于有些人,這是逃避一切的借口飒炎。 這世界就是這么現(xiàn)實埋哟, 而人...
    桃之夭0310閱讀 175評論 0 0
  • 當你看到這篇日記時我應該已經(jīng)渾然入睡赤赊,可能還做著美夢,也有可能是噩夢煞赢,至少今天是被嚇醒的抛计。 當夜幕降臨,你聯(lián)系不上...
    閱微日記閱讀 234評論 0 0
  • 石濤耕驰,號大滌子爷辱,清湘老人等。是清代四僧之一 朦肘。他的繪畫風格最為多變饭弓,技法豐富。在繪畫史上是最有創(chuàng)新意識的畫家媒抠,影響...
    半樵閱讀 585評論 8 21