- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以我正在尝试使用 Android Studio 创建一个简单的 android 应用程序,当我构建时它看起来很好但是当我运行应用程序时崩溃所以我被告知检查 Logcat 并且它说 FirebaseApp 未初始化在我的主要 Activity 中。所以我添加了
FirebaseApp.initializeApp(this);
到 onCreate()
并且它无法解析符号 FirebaseApp 那么我该怎么做才能解决这个问题?
这是我的 Github:
https://github.com/radekkrowicki/Cv4
还有我的主要 Activity :
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.design.widget.FloatingActionButton;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import com.firebase.ui.auth.AuthUI;
import com.firebase.ui.database.FirebaseListAdapter;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.FirebaseDatabase;
public class MainActivity extends AppCompatActivity {
private static final int SIGN_IN_REQUEST_CODE = 111;
private FirebaseListAdapter<ChatMessage> adapter;
private ListView listView;
private String loggedInUserName = "";
private FirebaseAuth mAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FirebaseApp.initializeApp(this);
//find views by Ids
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
final EditText input = (EditText) findViewById(R.id.input);
listView = (ListView) findViewById(R.id.list);
if (FirebaseAuth.getInstance().getCurrentUser() == null) {
// Start sign in/sign up activity
startActivityForResult(AuthUI.getInstance()
.createSignInIntentBuilder()
.build(), SIGN_IN_REQUEST_CODE);
} else {
// User is already signed in, show list of messages
showAllOldMessages();
}
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (input.getText().toString().trim().equals("")) {
Toast.makeText(MainActivity.this, "Please enter some texts!", Toast.LENGTH_SHORT).show();
} else {
FirebaseDatabase.getInstance()
.getReference()
.push()
.setValue(new ChatMessage(input.getText().toString(),
FirebaseAuth.getInstance().getCurrentUser().getDisplayName(),
FirebaseAuth.getInstance().getCurrentUser().getUid())
);
input.setText("");
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.menu_sign_out) {
AuthUI.getInstance().signOut(this)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
Toast.makeText(MainActivity.this, "You have logged out!", Toast.LENGTH_SHORT).show();
finish();
}
});
}
return true;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == SIGN_IN_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
Toast.makeText(this, "Signed in successful!", Toast.LENGTH_LONG).show();
showAllOldMessages();
} else {
Toast.makeText(this, "Sign in failed, please try again later", Toast.LENGTH_LONG).show();
// Close the app
finish();
}
}
}
private void showAllOldMessages() {
loggedInUserName = FirebaseAuth.getInstance().getCurrentUser().getUid();
Log.d("Main", "user id: " + loggedInUserName);
adapter = new MessageAdapter(this, ChatMessage.class, R.layout.item_in_message,
FirebaseDatabase.getInstance().getReference());
listView.setAdapter(adapter);
}
public String getLoggedInUserName() {
return loggedInUserName;
}
}
提前感谢您的帮助。
最佳答案
这一定是同步问题,您正在正确初始化 Firebase:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FirebaseApp.initializeApp(this);
...
...
}
请务必再次清理并构建您的项目。
还要确保 apply plugin: 'com.google.gms.google-services'
在 /app/build.grade
文件的末尾:
dependencies {
...
...
}
apply plugin: 'com.google.gms.google-services'
关于java - "Make sure to call FirebaseApp.initializeApp(Context) first."如何解决这个错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55521386/
我正在尝试在 React 中创建一个站点,并且我使用 npm i firebase --save 添加了 Firebase 库 然后我试图在我的应用程序中调用它,但我没有太多乐趣: import *
我对 flutter 很陌生。我一直在学习某些类(class),但是进入Firebase时,方法和属性已经发生了很大变化,并且在确定如何连接到Firebase时遇到了一些困难。 在这里,我添加了mai
我正在使用 Firebase 函数。我有 2 个环境:一个用于开发,另一个用于登台。 我的问题是,由于 databaseURL 正在更改,因此在部署到每个环境时如何更改 admin.initializ
我的应用类如下: override fun onCreate() { super.onCreate() FirebaseApp.initializeApp(this) Fire
我正在编写一个 FLUTTER 应用程序,并且我正在尝试将图像上传到 Firebase 存储。这是我为重现错误而创建的一个简单的测试应用程序。 import 'dart:io'; import 'pa
我完全陷入困境。 使用 gatsby-next 和 React 16 + 最新的 Firebase 5.5.7 设置 GatsbyJS 1 在开发模式下一切正常,但是当我尝试构建时我总是得到: Web
我花了大约三天的时间试图解决一个阻止我完成聊天应用程序的 java 错误!当然,这是一个 firebase 错误!我是 Android 开发新手,所以当您回答时,如果您能用简单的术语进行解释,将会有很
当我这样做时: firebase.initializeApp(config); firebase.auth().currentUser; 第一次刷新几毫秒后,currentUser 为空。但后来 cu
我在 Firebase 云功能日志中收到警告。这些功能已正确部署并且之前可以正常工作。现在我收到一个错误。 @firebase/database: FIREBASE WARNING: Provided
今天只是一个简单的问题。调用 FirebaseApp.initializeApp 两次有缺点吗? 我们使用处理 init 的 Urban Airship sdk,但我们注意到一些崩溃来自后台服务,因为
它可能已经与其他问题完全相同,但我真的不知道这里出了什么问题。预先感谢您的帮助。 build.gradle(项目) // Top-level build file where you
我正在使用 Firebase 使用本教程在我的 ReactJS 应用中实现用户身份验证: https://www.robinwieruch.de/complete-firebase-authentic
这是我的网页 Calcolo Diliuzioni My app
这个问题在这里已经有了答案: No Firebase App '[DEFAULT]' has been created - call Firebase.initializeApp() in Flutt
我正在尝试在我的 Vue 项目中使用一些 Firebase 库(我使用 npm install firebase 安装它)。 我在 main.js 中添加了那些: import { Firebase
我将 firebase 添加到我的 android 项目以使用 firebase 云消息传递。我关注了documentation而且我没有找到任何调用 FirebaseApp.initializeAp
我正在尝试使用 FirebaseApp.initializeApp,但它不起作用。我有正确的库,但我无法使用 JSON 文件来初始化应用程序 这是我的代码: 导入 import com.google.
这个问题在这里已经有了答案: No Firebase App '[DEFAULT]' has been created - call Firebase.initializeApp() in Flutt
我正在创建一个 Android 应用程序,目前正在尝试使用 Firebase 实现用户身份验证。据我所知,我的应用已连接到我的 Firebase 服务器。 我在尝试通过按下按钮从 SignIn Act
我们正在开发一款使用 Firebase 作为后端的 Ionic 混合应用。为此,我们使用 npm 包 angularfire2 . 我们有两个数据库,一个用于开发,另一个用于生产,因此我们希望根据应用
我是一名优秀的程序员,十分优秀!