Flutter实战一Flutter聊天应用(五)
我们的应用程序现在已经有了一个好看的UI,但是我们还没有一个后端。所以我们要买一个云服务器,然后再安装数据库?当然不是!我们可以使用Firebase平台作为后端,那么Firebase是什么呢? Firebase一开始只是一个移动后端即服务平台,自2014年10月被Google收购后,被谷歌改造成了针对移动开发(iOS和Android)和Web开发的一个完整后端解决方案,2016年谷歌在I/O大会上推出了Firebase的新版本,Firebase提供了一个SDK和一个控制台,用于创建和管理Android、iOS和Web等多个平台的应用。总而言之,就是功能强大~ 在这篇文章中,我们将在Firebase上配置Flutter项目。需要注意的是,如果正在开发iOS,那么我们必须使用macOS,而在macOS中,想要在Flutter应用程序中使用Firebase插件,则需要一些其他工具:
brew install cocoapods
pod setup
创建一个新Firebase项目回到正题,在Firebase上配置Flutter项目的第一步是创建一个新的Firebase项目,它会自动生成一个实时数据库。我们在浏览器中打开Firebase控制台,由于Firebase是谷歌提供的服务,所以需要使用谷歌账户登陆,如果没有谷歌账户,那么就注册一个呗! 打开并登陆Firebase控制台后,选择“添加项目”。将我们的项目命名为“Talk Casually App”,并设置国家/地区,然后单击“创建项目”。 添加特定平台的Firebase配置信息接下来,为了支持在iOS和Android设备之间发送和接收聊天消息,我们需要将由Firebase控制台生成的特定于平台的配置文件添加到IntelliJ项目中。我们稍后将在项目中添加Flutter包的Firebase包装器,使用此配置信息连接到共享数据库。” Flutter项目文件结构在添加特定于平台的Firebase配置信息之前,我们需要对Flutter项目的文件结构有大概的了解,Flutter项目中的重要文件包括: 为Android配置Firebase第一步,在IntelliJ工作区中,打开 第二步,在Firebase控制台中,打开Firebase项目,然后单击“将 Firebase 添加到您的 Android 应用”。 第三步,我们需要获取调试签名证书的SHA1值,打开一个终端,并运行Java提供的keytool工具来获取证书的SHA1指纹。 // Windows终端
keytool -exportcert -list -v -alias androiddebugkey -keystore %USERPROFILE%.androiddebug.keystore
// Mac/Linux终端
keytool -exportcert -list -v
-alias androiddebugkey -keystore ~/.android/debug.keystore
第四步,在“调试签名证书 SHA1”字段中,添加我们在上面获取到的调试证书指纹值。然后单击“注册应用”。 Firebase生成了一个 第五步,将 为iOS配置Firebase第一步,在Xcode中,通过在终端窗口中运行 第二步,单击左上角的项目菜单中的 第三步,我们在Firebase控制台中,打开Firebase项目,因为我们之前已经为Android配置了Firebase,所以选择“添加其他应用 > iOS”。 第四步,在“iOS 软件包 ID”字段中,粘贴从第二步复制的字符串值。然后单击“注册应用”。 第五步,Firebase会生成一个 第六步,将生成的 集成FlutterFire包要将Firebase功能添加到Flutter应用程序,我们需要使用开源的FlutterFire包装器。这个软件包将Firebase API的一部分暴露给了Flutter,适用于Android和iOS。外部API的支持通过插件实现。 使用Android开发的插件需要编辑build.gradle文件并将插件添加到pubspec.yaml。对于iOS开发,只需要pubspec.yaml更改。需要注意的是,要在Android上运行下面的代码,我们需要在Android测试设备上安装最新版本的Google Play services的APK。 配置Android插件第一步,将 allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
}
第二步,将规则添加到根级别build.gradle文件,以包含google-services插件。 buildscript { repositories { jcenter() }
dependencies { classpath 'com.android.tools.build:gradle:2.2.3' classpath 'com.google.gms:google-services:3.0.0' }
}
第三步,将Google服务的应用插件添加到应用级build.gradle文件(/android/app/build.gradle)的末尾。 apply plugin: 'com.google.gms.google-services'
将插件添加到应用程序将此项目所需的插件添加到Flutter项目文件中的 name: talk_casually
description: A new flutter project.
dependencies: flutter: sdk: flutter image_picker: ^0.0.2 google_sign_in: ^0.0.2 firebase_analytics: ^0.0.2 firebase_auth: ^0.0.2 firebase_database: ^0.0.4 firebase_storage: ^0.0.2
更新并保存此文件后,单击main.dart选项卡。IntelliJ会在上方显示一个提示,提醒我们重新加载pubspec.yaml。选择 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |