gpt4 book ai didi

java - 什么是 firebase 以及如何在 Android 中使用它?

转载 作者:IT老高 更新时间:2023-10-28 20:40:16 26 4
gpt4 key购买 nike

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

最佳答案

更新:自 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 擅长保存和检索数据,但它与 ListAdapter 等 Android SDK 组件无关。为此,您可以使用 the FirebaseUI library .

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

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

关于java - 什么是 firebase 以及如何在 Android 中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33720614/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com