【发布时间】:2017-01-16 14:19:28
【问题描述】:
我目前正在开发 Android 上的机构级聊天消息应用程序。我使用 Firebase 作为我的云服务器。目前,我在MainActivity 的以下行中的DatabaseReference 和FirebaseDatabase 面临Cannot Resolve Symbol error:
private DatabaseReference root = FirebaseDatabase.getInstance().getReference().getRoot();
我想使用 Firebase 创建聊天室。我知道如何做到这一点,以及如何链接我的 Firebase 数据库的键和值。我还知道如何通过 Firebase Cloud 从 Android 设备更新键和值。
但我无法解析Cannot resolve Symbol error。
以下是我的MainActivity 的代码。我仍处于制作此应用的初始阶段。
package com.ranatalha.realtimechat;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private Button buttonAddRoom;
private EditText editTextAddaChatRoom;
private ListView listViewChatRooms;
private ArrayAdapter<String> arrayAdapter;
private ArrayList<String> list_of_rooms = new ArrayList<>();
private String Entered_Username;
private DatabaseReference root = FirebaseDatabase.getInstance().getReference().getRoot();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonAddRoom = (Button) findViewById(R.id.buttonAddRoom);
editTextAddaChatRoom = (EditText) findViewById(R.id.editTextAddaChatRoom);
listViewChatRooms = (ListView) findViewById(R.id.listViewChatRooms);
//************Creation of an array list to store the list of active chat rooms************
arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, list_of_rooms);
listViewChatRooms.setAdapter(arrayAdapter);
//*****************************************************************************************
request_user_name();
buttonAddRoom.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
}
private void request_user_name(){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Enter Your Name:");
final EditText inputUsername = new EditText(this);
builder.setView(inputUsername);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Entered_Username = inputUsername.getText().toString();
}
});
builder.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.cancel();
request_user_name();
}
});
builder.show();
}
}
【问题讨论】:
-
向我们展示您的应用级 build.gradle
-
对于this guide,特别注意adding the SDK。
-
@Arel 提出了一个答案,它就像一个魅力。我在 build.gradle (Module:app) 文件中添加了另外 2 个依赖项
compile 'com.google.firebase:firebase-core:9.4.0' and compile 'com.google.firebase:firebase-database:9.4.0'... 非常感谢您对我的问题 @qbix 和 @AbAppletic 的回复和关注 :)
标签: android firebase firebase-realtime-database