Flutter-视频系列--图解-Android-原生集成-Flutter-Module

Flutter-视频系列--图解-Android-原生集成-Flutter-Module,第1张

implementation project(’:flutter’)

3.2 AndroidStudio 工具引入

可采用 Flie -> Sync Project with Grdle Files 时,可通过 Import Flutter Module 方式引入;此时若报 The Gradle files could not be updated automatically 则需要手动 3.1  *** 作;

4. 原生与 Flutter 交互

Android 引用 Flutter 通常是两种,一种是新建一个 View 用来展示 Flutter 页面,另一种是 Fragment;其本质还是将 Flutter View 作为 Android View 的子 View 展示;

新建一个无标题栏的 FlutterActivity 和一个 FlutterFragment,在 MainActivity 添加一个按钮跳转到 FlutterActivity 展示 FlutterFragment;

public class FlutterActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_flutter);

getSupportFragmentManager().beginTransaction()
.replace(R.id.container, new FlutterFragment())
.commit();
}
}

public class FlutterFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater,
@Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
getActivity().getSupportFragmentManager()
.beginTransaction()
.add(R.id.container, Flutter.createFragment("/"))
.addToBackStack(“flFlutter.createFragmentutter”)
.commit();

return rootView;
}
}

通过 Flutter.createFragment("/") 设置跳转路由;

5. 签名打包

直接运行 debuge 模式一切正常,只是在跳转 Flutter 时不如直接跳转原生流畅,后期优化;而打包成 release 包与 Android 原生相同,无需特别处理 Flutter Module;

注意事项 1. minSdkVersion >= 16

在集成过程中,使用 Flutter 时会提示 SDK 最低版本在 16 以上,需注意;

2. Flutter Module 路径

在学习过程中,无论是命令行创建还是 AndroidStudio 工具创建 Flutter Module 路径并非一定要与 Android Project 同级,关键是 setting.gradle

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

路径配置;

new File 文件第一个参数 settingsDir.parentFile 即 Android Project 所在文件路径,第二个参数为 Flutter Module 中 .groovy 路径;我们可以使用只有一个参数的完整路径;

// 两个参数
evaluate(new File(
settingsDir.parentFile,
‘my_flutter/.android/include_flutter.groovy’
))

// 一个参数
evaluate(new File(
‘/Users/user/Documents/workspace/ACE_Flutter/flutter_module01/flutter_module01/.android/include_flutter.groovy’
))

3. 新的 evalute 会覆盖上一个

测试是,在 setting.gradle 中引入多个 evalue,以为可以同时引入多个 Flutter Module,而实际是后面的引入会覆盖先前的引入,以最后一个 evalue module 为准;

最后

最后我想说:对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!

这里附上上述的技术体系图相关的几十套腾讯、头条、阿里、美团等公司19年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。

相信它会给大家带来很多收获:

上述【高清技术脑图】以及【配套的架构技术PDF】可以 关注我 【主页简介】 或者【简信】免费获取

Android学习PDF+架构视频+面试文档+源码笔记

639027674080)]

上述【高清技术脑图】以及【配套的架构技术PDF】可以 关注我 【主页简介】 或者【简信】免费获取

Android学习PDF+架构视频+面试文档+源码笔记

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/996507.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存