日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Flutter】Flutter 混合开发 ( 安卓端向 Flutter 传递数据 | FlutterFragment 数据传递 | FlutterActivity 数据传递 )

發布時間:2025/6/17 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Flutter】Flutter 混合开发 ( 安卓端向 Flutter 传递数据 | FlutterFragment 数据传递 | FlutterActivity 数据传递 ) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 前言
  • 一、FlutterFragment 數據傳遞
  • 二、FlutterActivity 數據傳遞
  • 三、相關資源

前言

在上一篇博客 【Flutter】Flutter 混合開發 ( 關聯 Android 工程與 Flutter 工程 | 安卓頁面中嵌入 Flutter 頁面 | 安卓中啟動 Flutter 頁面 ) 中 , 創建 Android 工程 , 并將兩個工程進行關聯 , 在 Android 的 Activity 界面中嵌入了 FlutterFragment , 在 Android 中啟動了 FlutterActivity ;

本篇博客介紹如何從 Android 端向 Flutter 端傳遞數據 ;


Flutter 混合開發集成步驟 :

  • ① 在 Android Studio 中創建 Flutter Module ;
  • ② 為 Native 應用添加 Flutter Module 依賴 ;
  • ③ 在 Native 應用 ( Android / iOS 應用 ) 中 , 調用 Flutter Module 模塊 ;
  • ④ 編寫 Flutter Module 中的 Dart 代碼 ;
  • ⑤ 運行 Flutter 混合應用 ;
  • ⑥ 項目的 熱重啟 / 重新加載 ;
  • ⑦ 調試 Dart 代碼 ;
  • ⑧ 應用發布 ;




一、FlutterFragment 數據傳遞



調用 FlutterFragment.createDefault() 創建的 FlutterFragment , 沒有傳遞任何數據 ;

調用 FlutterFragment.withNewEngine() 可以獲取創建的 Flutter 引擎 , 通過該 Flutter 引擎 , 可以設置 initialRoute 參數 ;

設置代碼如下 :

findViewById(R.id.flutter1).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {FragmentTransaction fragmentTransaction =getSupportFragmentManager().beginTransaction();// 使用該方法創建的 Fragment 沒有傳遞數據//FlutterFragment.createDefault()// 打開默認界面//fragmentTransaction.replace(R.id.frame, FlutterFragment.createDefault());// 創建 FlutterFragmentfragmentTransaction.replace(R.id.frame,FlutterFragment.withNewEngine().initialRoute("Android 中嵌入 FlutterFragment").build());fragmentTransaction.commit();} });

Flutter 中接收到數據后 , 將傳入的數據設置為標題 ;

執行效果如下 : Flutter 界面的標題變為 " Android 中嵌入 FlutterFragment " ;





二、FlutterActivity 數據傳遞



與 FlutterFragment 類似 , FlutterActivity 也可以調用 FlutterActivity.withNewEngine() 獲取一個 Flutter 引擎 ;

通過該 Flutter 引擎 , 可以設置 initialRoute 參數 ;

設置代碼如下 :

findViewById(R.id.flutter2).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = FlutterActivity.withNewEngine().initialRoute("Android 中啟動 FlutterActivity").build(MainActivity.this);intent.putExtra("initParams", "Android 中啟動 FlutterActivity2");startActivity(intent);} });

執行效果如下 : Flutter 界面的標題變為 " Android 中啟動 FlutterActivity " ;





三、相關資源



參考資料 :

  • Flutter 官網 : https://flutter.dev/
  • Flutter 插件下載地址 : https://pub.dev/packages
  • Flutter 開發文檔 : https://flutter.cn/docs ( 強烈推薦 )
  • 官方 GitHub 地址 : https://github.com/flutter
  • Flutter 中文社區 : https://flutter.cn/
  • Flutter 實用教程 : https://flutter.cn/docs/cookbook
  • Flutter CodeLab : https://codelabs.flutter-io.cn/
  • Dart 中文文檔 : https://dart.cn/
  • Dart 開發者官網 : https://api.dart.dev/
  • Flutter 中文網 : https://flutterchina.club/ , http://flutter.axuer.com/docs/
  • Flutter 相關問題 : https://flutterchina.club/faq/ ( 入門階段推薦看一遍 )
  • GitHub 上的 Flutter 開源示例 : https://download.csdn.net/download/han1202012/15989510
  • Flutter 實戰電子書 : https://book.flutterchina.club/chapter1/
  • Dart 語言練習網站 : https://dartpad.dartlang.org/

重要的專題 :

  • Flutter 動畫參考文檔 : https://flutterchina.club/animations/

博客源碼下載 :

  • GitHub 地址 : ( 隨博客進度一直更新 , 有可能沒有本博客的源碼 )

    • Flutter Module 工程 : https://github.com/han1202012/flutter_module
    • Android 應用 : https://github.com/han1202012/flutter_native
    • 注意 : 上面兩個工程要放在同一個目錄中 , 否則編譯不通過 ;
  • 博客源碼快照 : https://download.csdn.net/download/han1202012/21670919 ( 本篇博客的源碼快照 , 可以找到本博客的源碼 )

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的【Flutter】Flutter 混合开发 ( 安卓端向 Flutter 传递数据 | FlutterFragment 数据传递 | FlutterActivity 数据传递 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。