什么是 firebase 以及如何在 Android 中使用它? [关闭]

Posted

技术标签:

【中文标题】什么是 firebase 以及如何在 Android 中使用它? [关闭]【英文标题】:What is firebase and how to use it in Android? [closed] 【发布时间】:2016-02-16 16:18:59 【问题描述】:

我想创建一个 android 应用程序,作为作者,我可以在其中上传我的大学笔记,任何人都可以下载它。我读到 firebase 可以帮助我解决这个问题。谁能解释一下什么是firebase以及如何在我的参考中使用它?谢谢!

【问题讨论】:

是的,大卫东。 这很容易理解。但没有解释我如何将文件(如 PDF)动态更新到我的应用程序。还是我没看懂? 您在这个问题中没有问任何关于 PDF 文件的问题。我想你正在考虑你的另一个问题。 【参考方案1】:

更新:自 2016 年 Google I/O 以来,Firebase 进行了一些重大更新。以下是与旧服务相关的信息。

Firebase 团队成员在这里。

tl;dr - 阅读Quickstart,观看this video。使用FirebaseUI。

Firebase 是一个用于移动和网络应用的平台。

Firebase 提供三种主要服务:

实时数据库 身份验证 静态托管

设置

要编写 Android 应用程序,您需要下载 Android SDK。如果您有 Android Studio 1.4,您可以通过转到 File > Project Structure > Cloud 来设置 Firebase。然后点击 Firebase 复选框。

保存和检索数据

每个 Firebase 应用都有一个名称,用于在 URL 中访问您的数据库。数据以 JSON 格式存储在 Firebase 中。每个部分都有一个映射到其位置的 URL。要获取或保存数据到该位置,您需要创建一个 Firebase 引用。

// Create a reference to the Firebase database
Firebase ref = new Firebase("https:<MY-FIREBASE-APP>.firebaseio.com/data");
// Save Data
ref.setValue("Hello"); 
// Sync data
ref.addValueEventListener(new ValueEventListener() 
    @Override
    public void onDataChange(DataSnapshot snapshot) 
        System.out.println(snapshot.getValue());
    
    @Override
    public void onCancelled(FirebaseError firebaseError) 
        System.out.println("The read failed: " + firebaseError.getMessage());
    
);

Firebase 用户界面

Firebase SDK 擅长保存和检索数据,但它与 ListAdapters 等 Android SDK 组件无关。为此,您可以使用the FirebaseUI library。

FirebaseUI 允许您将常用 UI 元素快速连接到 Firebase 数据库以进行数据存储。下面是使用带有FirebaseListAdapter 的 FirebaseUI 的示例。

mAdapter = new FirebaseListAdapter<ChatMessage>(this, ChatMessage.class, android.R.layout.two_line_list_item, ref) 
    @Override
    protected void populateView(View view, ChatMessage chatMessage) 
        ((TextView)view.findViewById(android.R.id.text1)).setText(chatMessage.getName());
        ((TextView)view.findViewById(android.R.id.text2)).setText(chatMessage.getMessage());

    
;
messagesView.setListAdapter(mAdapter);

这只是一切的要点。 documentation of Firebase 非常全面(如果我自己这样做,人类可读)。

【讨论】:

【参考方案2】:

Firebase 是一个 NoSQL 类型的数据库,它使用套接字,它允许客户端实时接收信息 - 无需向服务器发出 GET 请求。

这要求您在设置时将客户端“订阅”到数据库/集合。

就如何在应用程序中使用它而言,这取决于您希望在堆栈中使用的技术。 firebase 网站有文档建议您如何执行此操作。

此外,如果您只是基于希望拥有您所描述的功能而提出要求; Meteor 框架带有一个基于套接字的 NoSQL 后端数据库,非常容易实现;这里有一个教程; https://www.meteor.com/tutorials/blaze/creating-an-app

【讨论】:

【参考方案3】:

您提出这个问题已经有一段时间了,Firebase 添加了新文档。它是这样说的,

先决条件

Android 的版本应该是 2.3 或更新的 Google Play 服务 9.2.1 或更新版本 Android Studio 1.5 或更高版本。 Android Studio 项目及其包名(包名可在 ApplicationManifest.xml 中找到)。

将 Firebase 添加到您的应用程序

Create an account 在 Firebase 上。 在Firebase console中创建一个项目。 点击 Firebase for Android 应用并按照说明进行操作。 出现提示时,输入应用程序包名称。 下载 google-services.json 文件。 将 google-services.json 文件放在应用的模块文件夹中。通常是 /app。

添加 SDK

如果您想将 Firebase 库集成到您的项目中,您需要执行一些基本任务来准备您的 Android SDK 项目。

首先,将规则添加到您的根级 build.gradle 文件中,以包含 谷歌服务插件:

buildscript // ... dependencies // ... classpath 'com.google.gms:google-services:3.0.0'

然后,在您的模块 Gradle 文件(通常是 app/build.gradle)中,在文件底部添加 apply plugin 行以启用 Gradle 插件:

apply plugin: 'com.android.application'

android 
  // ...


dependencies 
  // ...
  compile 'com.google.firebase:firebase-core:9.2.1'

// ADD THIS AT THE BOTTOM

apply plugin: 'com.google.gms.google-services'

您还应该为希望使用的 Firebase SDK 添加依赖项 - 我们建议从包含 Firebase Analytics 的 firebase-core 开始,但请参阅下面的完整列表。

【讨论】:

You should also add the dependencies for the Firebase SDKs you wish to use - we recommend starting with the firebase-core, which include Firebase Analytics, but see below for the full list. 这是来自 Google 网站.... 这是什么意思?我们如何添加以及具体添加什么? 他从firebase.google.com/docs/android/setup复制了它,更喜欢它包含其余内容的链接

以上是关于什么是 firebase 以及如何在 Android 中使用它? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

您如何使用 Firebase Firestore 将 RecyclerView 对象分配给用户最喜欢的对象?

安卓art模式如何打开切换

在上传完成之前调用 Firebase Storage onSuccess

Firebase 推送通知如何发送到设备

如何添加onclick imageview网址以及如何从firebase更新网址

如何使用kotlin在Android的firebase中获取child的键值