我已连接到“保存并在工具中检索数据”下显示的Firebase>>火力地堡。我的项目是在Android工作室使用Java。
这是我从logcat获得的错误和下面的代码:
12-16 11:42:42.699 2485-2550 /? E / PlayCommon:[120] com.google.android.play.aga(466):无法连接到服务器:java.net.UnknownHostException:无法解析主机" play.googleapis.com":否与主机名关联的地址 12-16 11:43:00.005 1534-1547 /? E / memtrack:无法加载memtrack模块
此软件包com.example.sammay.firebaseapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
public class MainActivity extends AppCompatActivity {
EditText editTextName;
Button buttonAdd;
Spinner spinnerGenres;
DatabaseReference databaseArtist;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// databaseArtist = FirebaseDatabase.getInstance().getReference("artists");
editTextName = (EditText)findViewById(R.id.editTextName);
buttonAdd = (Button)findViewById(R.id.buttonAddArtist);
spinnerGenres = (Spinner)findViewById(R.id.spinnerGenres);
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("root");
myRef.setValue("Hello, World!");
buttonAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
addArtist();
}
});
}
private void addArtist(){
String name = editTextName.getText().toString().trim();
String genre = spinnerGenres.getSelectedItem().toString();
if(!TextUtils.isEmpty(name)){
String id = databaseArtist.push().getKey();
Artist artist = new Artist(id, name, genre);
databaseArtist.child(id).setValue(artist);
Toast.makeText(this, "Artist added", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(this, "You should enter a name", Toast.LENGTH_LONG).show();
}
}
}
我还创建了具有上述细节的必要类Artist。 一切看起来都是正确的,但是当我启动应用程序并输入详细信息并单击按钮时,实时数据库没有任何反应。
答案 0 :(得分:2)
获取UnknownHostException
的最常见原因是AndroidManifest.xml
文件中缺少互联网权限。要解决此问题,请在包名后面添加以下代码行:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>