当前位置: 首页 > 网络应用技术

扑来(11)混合发育

时间:2023-03-08 16:23:28 网络应用技术

  某些应用程序可能需要使用移动设备拍摄照片或选择专辑中的照片。Flutter正式提供插头-Ins:image_picker

  1.1.1。添加依赖项以将依赖项添加到image_picker:

  1.1.2。iOS平台的平台配置,如果要访问专辑或相机,则需要获得用户的权限:

  呢[img]()修改info.plist文件

  选择专辑或访问相机后,以下提示框将弹出:

  呢[img]()图像-20200412171028021

  1.1.3。image_picker的核心代码的代码实现是PICSIMAGE方法:

  案例练习:

  呢[img]()案例效果

  一些本机信息,没有良好的插头,我们可以通过平台渠道获取信息。

  1.2.1。该平台如何通过介绍平台工作?

  呢[img]()平台频道体系结构图

  呼叫过程大致如下:

  颤动,iOS,Android-侧面数据类型,与相应的关系相对应:

  呢[img]()数据类型对应表

  1.2.2。创建一个测试项目。我们创建一个项目以在此处获取电池电源信息,并通过iOS和Android Native代码获取相应的信息:

  创建方法1:默认创建方法

  创建方法2:指定编程语言

  1.2.3。在DART代码中编写DART代码,我们需要创建一个MethodChannel对象:

  当我们调用相应的平台方法时,我们需要在相应平台上实现其操作:

  1.2.4。编写iOS代码1.2.4.1。Swift代码以实现与代码相关的操作步骤如下:

  1.2.4.2。Objective-C代码实施思想与上述内容一致,但是Objective-C用于实现:

  1.2.5。编写Android代码1.2.5.1。Kotlin代码以实现与同一想法相同的想法。

  1.2.5.1。Java代码实施想法与上述内容一致,但Java用于实现:

  首先,让我们清楚地说明:Flutter的最初意图是不与其他平台混合。其目的是创建一个完整的跨平台应用程序。

  但是,在实际开发中,原始项目完全使用颤动进行重建是没有现实的。对于原始项目,我们可以采用混合开发方法。

  对于需要混合的原始项目,可以将Flutter用作继承现有项目的库或模块。

  但是,目前仍然有些情况受到限制:

  创建Flutter模块

  创建完成后,模块和普通的颤音项目始终通过Android Studio或Vscode打开,开发,开发和运行;

  目录结构如下:

  有很多方法可以嵌入现有的iOS项目:

  目前,几乎所有iOS项目都由可可录管理,因此建议使用第一个可可蛋白鱼类方法。

  通过以下方式,我们构建了一个需要继承的iOS项目:

  1.为了测试,我们在此处创建一个默认的iOS项目:只需使用XCode创建

  2.将项目添加到可可以进行管理

  初始化Cocoapods:

  安装Cocoapods的依赖性:

  编译Podfile文件:

  重新执行Cocoapods安装的依赖性:

  2.2.1。Swift代码需要启动和。

  通常建议将其用于我们的应用中的Flutterence蛋白:

  在启动viewController中,创建一个UIBUTTON,然后单击此按钮,FlutterViewController弹出

  呢[img]()代码效果

  我们还可以省略预先创建的:

  2.2.2。Objective-C代码如果以上代码希望使用Objective-C,则可以实现:

  AppDelegate.H代码:

  AppDelegate.M代码:

  viewController.m代码:

  有很多方法可以嵌入现有的Android项目:

  在这里我们采用第二种方式

  1.创建一个Android测试项目

  呢[img]()创建Android项目

  2.添加相关依赖项

  修改设置。android项目中的gradle文件:

  此外,我们需要将依赖项添加到Android项目的内置。

  编译代码,可能存在以下错误:

  呢[img]()图像-20200413161942859

  解决方案:通过设置Android Project Project的构建。

  接下来,我们尝试在Android应用程序中添加Flutter的屏幕

  颤动提供了一种扑动,以在Android应用程序中显示颤动界面。我们需要注册自动化:

  2.3.1。Java代码

  您还可以在创建时通过默认路由:

  呢[img]()将颤音页嵌入到Android项目中

  2.3.2。Kotlin代码

  您还可以在创建时指定路由:

  一旦将颤动模块继承到项目中,并在Flutter Platform上使用API运行Flutter Engine或UI,则可以像普通的Android或iOS一样构建自己的Android或iOS项目。

  但是Flutter具有很大的优势,即它的快速发展,即热重加载。

  那么,我们如何使用热重加载来加速我们的调试速度使用颤动模块?

  原始:https://juejin.cn/post/7097569284825546782