GVKun编程网logo

Firebase 使用 Android Studio 存储评论

1

如果您想了解Firebase使用AndroidStudio存储评论的知识,那么本篇文章将是您的不二之选。同时我们将深入剖析@firebase/database:无法确定Firebase数据库URL确保

如果您想了解Firebase 使用 Android Studio 存储评论的知识,那么本篇文章将是您的不二之选。同时我们将深入剖析@firebase/database:无法确定 Firebase 数据库 URL确保在调用 firebase.initializeApp() 时包含项目 ID角度、Android Studio - 如何从 google-services.json 获取 Firebase URL?因为当我打开 google-services.json 时,firebase URL 没有代码、Android Studio 安装未找到 C:\users\user\library\android studio/Contents created Android IDE error、Android Studio软件技术基础 —Android项目描述---1-类的概念-android studio 组件属性-+标志-Android Studio 连接真机不识别其他途径的各个方面,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

Firebase 使用 Android Studio 存储评论

Firebase 使用 Android Studio 存储评论

如何解决Firebase 使用 Android Studio 存储评论

我目前正在构建一个可以发表评论Android应用。 问题是我不知道如何在 Android Studio IDE 中实现 Firebase 以在 Firebase 中存储评论

我有

  • 用于插入评论的 EditView“插入评论”,
  • 用于提交评论的“发送评论”按钮,
  • 用于显示提交的评论的 TextView“显示评论”。

评论类型是匿名的。意味着我不会为用户id和密码设置数据库。

有人可以给我 Java 编码以上述方式实现 Firebase 吗?还要方法如何实施它们。 非常感谢!

@firebase/database:无法确定 Firebase 数据库 URL确保在调用 firebase.initializeApp() 时包含项目 ID角度

@firebase/database:无法确定 Firebase 数据库 URL确保在调用 firebase.initializeApp() 时包含项目 ID角度

如何解决@firebase/database:无法确定 Firebase 数据库 URL确保在调用 firebase.initializeApp() 时包含项目 ID角度

我正在创建实时聊天室 我第一次接触它时就成功了 但是后来我需要处理其他任务,当我回到这个任务时,首先我得到了一个错误,指出我可以两次初始化 firebase,当我修复这个时,我得到了这个错误

完整的错误信息:

chatroom.component.ts

import firebase from ''firebase/app'';
import "firebase/database";
import { AuthService } from ''src/app/services/auth.service'';


@Component({
  selector: ''app-chatroom'',templateUrl: ''./chatroom.component.html'',styleUrls: [''./chatroom.component.sass'']
})
export class ChatroomComponent implements OnInit {

  items!: object;
  message: string = '''';
  ref: any;

  constructor(
    private profileService: AuthService
  ) {
    console.log(firebase.apps)
    if (!firebase.apps.length) {

      firebase.initializeApp({
        apiKey: "blablabla",authDomain: "blablabla",databaseURL: "blablabla",projectId: "blablabla",storageBucket: "blablabla",messagingSenderId: "blablabla",appId: "blablabla"
      });
    }else {
       firebase.app();
    }

    this.ref = firebase.database().ref(''messages'');

    this.ref.on("value",(snapshot: any) => {
      console.log(snapshot.val());
      this.items = snapshot.val();
    });
  }


  ngOnInit(): void {

  }

  establishRoom(): void {

  }

  onSend(): void{
    this.ref.push().set({
      content: this.message,});

  }

}

多次检查配置内容拼写(基本上我从 Firebase 网站复制它们)

在该行 this.ref = firebase.database().ref(''messages'');

上触发错误

工作环境是 Angular 11

解决方法

错误表明它在使用 firebase app config 中的 databaseURL 值时遇到问题。

如果您需要再次获取您的 Firebase 凭据,您可以通过 general settings 页面找到它们。确保提供的密钥遵循正确的格式,其中 PROJECT_ID 替换为您自己的项目 ID

databaseURL: "https://PROJECT_ID.firebaseio.com"

此外,如果您在应用中使用混淆,请确保它不适用于这些凭据

,

所以在挖掘问题之后,它发现由于某些原因默认数据库不是我想要使用的数据库。 所以我最终得到了这段代码

firebase.app().delete().then(() => {

      firebase.initializeApp({
        apiKey: "...",authDomain: "...",databaseURL: "...",projectId: "...",storageBucket: "...",messagingSenderId: "...",appId: "..."
      });

      console.log(firebase.apps)

      this.ref = firebase.database().ref(''rooms'');

      console.log(this.ref)

    });

所以我只是删除了我不想要的默认数据库并初始化了我需要的数据库

Android Studio - 如何从 google-services.json 获取 Firebase URL?因为当我打开 google-services.json 时,firebase URL 没有代码

Android Studio - 如何从 google-services.json 获取 Firebase URL?因为当我打开 google-services.json 时,firebase URL 没有代码

如何解决Android Studio - 如何从 google-services.json 获取 Firebase URL?因为当我打开 google-services.json 时,firebase URL 没有代码

这是我第一次使用 Firebase,我刚刚从 youtube 上学到了一些东西,教程说我必须在 google-services.json 复制我的 Firebase URL。但是当我打开它时,没有任何引用 Firebase URL 的代码

This is mine google-services.json

This is tutorial video that I watch

解决方法

如果您正在研究如何将您的 android studio 项目与 firebase 连接,您可以按照此文档 here 进行操作。

将您的项目直接连接到 firebase 非常简单,无需使用 android studio 复制粘贴 URL。此外,您要查找的 URL 可能会在您连接 Firebase 后生成。

,

实际上,我认为您必须从 Google Firebase 实时数据库中复制 URL 代码,而不是从 json 文件中复制。您必须通过路径从您的项目中复制:

google firebase -> 你的项目 -> 实时数据库 -> 数据 -> https 链接 (https://fir-model (...))

您必须复制并粘贴:

mR = new Firebase("paste URL");

之前你应该已经声明了一个变量 mR,例如:

private Firebase mR;

Android Studio 安装未找到 C:\users\user\library\android studio/Contents created Android IDE error

Android Studio 安装未找到 C:\users\user\library\android studio/Contents created Android IDE error

如何解决Android Studio 安装未找到 C:\\users\\user\\library\\android studio/Contents created Android IDE error

在进行包括 Android 在内的 Flutter 升级时,我收到错误:

在 C:\\users\\user\\library\\android studio/Contents 中找不到 Android Studio

无法重置可配置

java.lang.RuntimeException:无法执行 gpg:退出代码 2,错误输出:gpg:警告:homedir ''/Users/User/.gnupg'' 上的所有权不安全 gpg:无法创建临时文件“/Users/User/.gnupg/.#lk0x00007fbb15c08e80.Marks-MacBook-Pro.local.17880”:权限被拒绝 gpg:密钥块资源“/Users/User/.gnupg/pubring.kbx”:权限被拒绝 gpg:无法创建临时文件“/Users/User/.gnupg/.#lk0x00007fbb15c093d0.Marks-MacBook-Pro.local.17880”:权限被拒绝 gpg:致命:无法为“/Users/User/.gnupg/trustdb.gpg”创建锁

at com.intellij.credentialStore.gpg.GpgToolWrapperImpl.doExecute(GpgToolWrapperImpl.kt:105)
at com.intellij.credentialStore.gpg.GpgToolWrapperImpl.listSecretKeys(GpgToolWrapperImpl.kt:25)
at com.intellij.credentialStore.gpg.Pgp.listKeys(gpgUtil.kt:14)
at com.intellij.credentialStore.PasswordSafeConfigurableui.reset(PasswordSafeConfigurable.kt:65)
at com.intellij.credentialStore.PasswordSafeConfigurableui.reset(PasswordSafeConfigurable.kt:49)
at com.intellij.openapi.options.ConfigurableBase.reset(ConfigurableBase.java:50)
at com.intellij.openapi.options.ex.ConfigurableWrapper.reset(ConfigurableWrapper.java:177)
at com.intellij.openapi.options.ex.ConfigurableCardPanel.reset(ConfigurableCardPanel.java:166)
at com.intellij.openapi.options.ex.ConfigurableCardPanel.lambda$createConfigurableComponent$4(ConfigurableCardPanel.java:118)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:894)
at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:61)
at com.intellij.openapi.options.ex.ConfigurableCardPanel.createConfigurableComponent(ConfigurableCardPanel.java:105)
at com.intellij.openapi.options.ex.ConfigurableCardPanel.lambda$create$0(ConfigurableCardPanel.java:54)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:894)
at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:61)
at com.intellij.openapi.options.ex.ConfigurableCardPanel.create(ConfigurableCardPanel.java:53)
at com.intellij.openapi.options.newEditor.ConfigurableEditor$1.create(ConfigurableEditor.java:51)
at com.intellij.openapi.options.newEditor.ConfigurableEditor$1.create(ConfigurableEditor.java:48)
at com.intellij.ui.cardlayoutPanel.createValue(cardlayoutPanel.java:73)
at com.intellij.ui.cardlayoutPanel.select(cardlayoutPanel.java:101)
at com.intellij.ui.cardlayoutPanel.lambda$null$0(cardlayoutPanel.java:117)
at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:201)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokelater$4(ApplicationImpl.java:310)
at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:80)
at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:128)
at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:46)
at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:184)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
at com.intellij.ide.IdeEventQueue.defaultdispatchEvent(IdeEventQueue.java:974)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:847)
at com.intellij.ide.IdeEventQueue.lambda$null$8(IdeEventQueue.java:449)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:741)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:496)
at java.awt.EventdispatchThread.pumpOneEventForFilters(EventdispatchThread.java:205)
at java.awt.EventdispatchThread.pumpEventsForFilter(EventdispatchThread.java:116)
at java.awt.EventdispatchThread.pumpEventsForFilter(EventdispatchThread.java:109)
at java.awt.WaitdispatchSupport$2.run(WaitdispatchSupport.java:190)
at java.awt.WaitdispatchSupport$4.run(WaitdispatchSupport.java:235)
at java.awt.WaitdispatchSupport$4.run(WaitdispatchSupport.java:233)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitdispatchSupport.enter(WaitdispatchSupport.java:233)
at java.awt.Dialog.show(Dialog.java:1077)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:708)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:437)
at com.intellij.openapi.ui.DialogWrapper.doShow(DialogWrapper.java:1685)
at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1644)
at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:80)
at com.intellij.ide.actions.ShowSettingsAction.perform(ShowSettingsAction.java:54)
at com.intellij.ui.mac.MacOSApplicationProvider$Worker.lambda$null$1(MacOSApplicationProvider.java:78)
at com.intellij.ui.mac.MacOSApplicationProvider$Worker.lambda$submit$7(MacOSApplicationProvider.java:175)
at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:201)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokelater$4(ApplicationImpl.java:310)
at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:80)
at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:128)
at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:46)
at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:184)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
at com.intellij.ide.IdeEventQueue.defaultdispatchEvent(IdeEventQueue.java:974)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:847)
at com.intellij.ide.IdeEventQueue.lambda$null$8(IdeEventQueue.java:449)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:741)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:496)
at java.awt.EventdispatchThread.pumpOneEventForFilters(EventdispatchThread.java:205)
at java.awt.EventdispatchThread.pumpEventsForFilter(EventdispatchThread.java:116)
at java.awt.EventdispatchThread.pumpEventsForHierarchy(EventdispatchThread.java:105)
at java.awt.EventdispatchThread.pumpEvents(EventdispatchThread.java:101)
at java.awt.EventdispatchThread.pumpEvents(EventdispatchThread.java:93)
at java.awt.EventdispatchThread.run(EventdispatchThread.java:82)

Android Studio软件技术基础 —Android项目描述---1-类的概念-android studio 组件属性-+标志-Android Studio 连接真机不识别其他途径

Android Studio软件技术基础 —Android项目描述---1-类的概念-android studio 组件属性-+标志-Android Studio 连接真机不识别其他途径

版权声明:本文为博主原创文章,未经博主允许不得转载, 微信公众号『醉翁猫咪』特约作者

学习android对我来说,就是兴趣,所以我以自己的兴趣写出的文章,希望各位多多支持!多多点赞,评论讨论加关注。

最近有点忙碌,对于我来说,学习Android开发,是对于我的考验,最近一位大佬发给我一道题目,我既然无力解决,所以我也要加把劲了。

学习android的同学,一定要对java有所了解,再来学习。

android 类的概念 究竟什么类呢?

类的定义

定义的是一个类,把一个类实例话就生成了一个对象,这样讲你能明白么?对象就是你从这个类生成的变量。你用的是一个对象变量,而这个对象变量是根据你定义的类来生成的。(明白?,不明白?)

类(Class)实际上是对某种类型的对象变量和方法的原型。所以说类是从一些具有相同属性或功能的具体实例,抽象出共有的一些属性的,自定义抽象数据类型。(明白?不明白?)

重点 类,那么就让我们想象一下,把类想象成我们拿的手机,如果用java来描述,你会吗?是不是,如下表达:public class Mobile {….} 是不是这样呢? 类class 想象成手机就是 Mobile ,那么这里的 Mobile 是什么用呢? 这里的 Mobile 是一个抽象的概念,既是 Mobile 还没有定义对吧。在你们学习的java中,应该是

public class Mobile{ private Button mCallButton;
private String mPhoneNumber; protected void call(String phoneNumber){....}

这里的private是私有的意思,就是自己用吧,要不你看看书现在,理解一下private,定义了两个变量,就是手机有打电话的功能,Call(打),还有拨电话号码的功能,类就是这样的,定义什么对象,就定义什么属性即变量。

如果不同类型的手机各不相同,如何拨电话号码,此时可以用上Abstract:

public abstract class Mobile {//一个抽象类 protected Button callButton;//至少有一个打电话的按钮 protected String mPhoneNumber;//至少有能显示电话号码拨号盘 protected abstract boolean call(String phoneNumber); //没有实现拨电话号码的抽象方法

注意了:定义了抽象类,那么方法要加抽象方法。

android studio 组件属性 android:layout_width和android:layout_height属性

几乎每类组件都需要android:layout_width和android:layout_height属性

match_parent:视图与其父视图大小相同,wrap_content:视图将根据其内容自动调整大小。

根LinearLayout组件均为match_parent,其他界面布局中的组件 均被设置为wrap_content。

android:orientation属性 android:orientation属性决定了子组件是水平放置还是垂直放置。

android:text属性 android:text属性指定组件显示的文字内容。是对字符串资源(string resources)的引用。

从布局XML到视图对象 想知道XML元素是如何转换为视图对象的吗?答案就在于你定义的类中哦。

类中Activity子类的实例创建后,onCreate(Bundle)方法将会被调用。

public class QuizActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_quiz); } }

资源 布局是一种资源,如XML文件、图像文件以及音频文件等。

从Android视图切换到Project视图 app/build/generated/source/r/debug目录的内容,警告,不要改变它。那好像是R.java。

+标志 对了,这+是创建资源ID,对字符串只是做了引用。

Android Studio 连接真机不识别其他途径 连不上的原因有以下几种:

  1. 手机设置问题。
  2. 数据线问题。
  3. 是否下载了对应手机版本的SDK。

喜欢本文的朋友们,欢迎长按下图关注订阅号醉翁猫咪,收看更多精彩内容

我们今天的关于Firebase 使用 Android Studio 存储评论的分享已经告一段落,感谢您的关注,如果您想了解更多关于@firebase/database:无法确定 Firebase 数据库 URL确保在调用 firebase.initializeApp() 时包含项目 ID角度、Android Studio - 如何从 google-services.json 获取 Firebase URL?因为当我打开 google-services.json 时,firebase URL 没有代码、Android Studio 安装未找到 C:\users\user\library\android studio/Contents created Android IDE error、Android Studio软件技术基础 —Android项目描述---1-类的概念-android studio 组件属性-+标志-Android Studio 连接真机不识别其他途径的相关信息,请在本站查询。

本文标签: