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

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

【问题讨论】:

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

标签: java android firebase firebase-hosting firebase-realtime-database


【解决方案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复制了它,更喜欢它包含其余内容的链接
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多