什么是firebase以及如何在Android中使用它?[已关闭]更新:自Google I / O 2016以来,Firebase进行了一些重大更新。以下是与旧版服务相关的信息。tl;dr - 阅读此快速入门,观看此视频。使用 FirebaseUI。

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


答案 1

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

Firebase团队成员在这里。

tl;dr - 阅读此快速入门,观看此视频。使用 FirebaseUI

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

Firebase有三个主要服务:

  • 实时数据库
  • 认证
  • 静态托管

设置

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

保存和检索数据

每个 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());
    }
});

火库UI

Firebase SDK 擅长保存和检索数据,但它与 Android SDK 组件(如 s)无关。为此,您可以使用 FirebaseUI 库ListAdapter

FirebaseUI 允许您快速将常用 UI 元素连接到 Firebase 数据库以进行数据存储。下面是将 FirebaseUI 与 .FirebaseListAdapter

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);

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


答案 2

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

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

至于如何在应用程序中使用它,这取决于您希望在堆栈中使用的技术。firebase网站提供了有关如何执行此操作的文档。

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


推荐