某些应用程序可能需要使用移动设备拍摄照片或选择专辑中的照片。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