struct db Auslöser: com.google.firebase.database.DatabaseException: Ungültige Firebase-Datenbank Pfad: https://eleicoes-f6d73.firebaseio.com/. Firebase-Datenbankpfade dürfen nicht '.', '#', '$', '[' Oder ']' Enthalten. at br.com.eleicoes.eleicoes.MainActivity. (MainActivity.java:37) 06-28 20: 16: 09.973 28933-28933 / br.com.eleicoes.eleicoes E / Android Laufzeit: FATAL EXCEPTION: main
public class MainActivity extends AppCompatActivity {
TextView resposta;
Button bt1;
final FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference ref = database.getReference("https://eleicoes-f6d73.firebaseio.com/");
private FirebaseAuth mAuth;
private FirebaseAuth.AuthStateListener mAuthListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mAuth = FirebaseAuth.getInstance();
// [START initialize_auth]
mAuth = FirebaseAuth.getInstance();
// [END initialize_auth]
}
// [START on_start_check_user]
@Override
public void onStart() {
super.onStart();
resposta = (TextView) findViewById(R.id.resposta);
bt1 = (Button) findViewById(R.id.bt1);
// Check if user is signed in (non-null) and update UI accordingly.
FirebaseUser currentUser = mAuth.getCurrentUser();
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String post = dataSnapshot.getValue(String.class);
resposta.setText(post);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
// [END on_start_check_user]
private void signInAnonymously() {
// [START signin_anonymously]
mAuth.signInAnonymously()
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
// Sign in success, update UI with the signed-in user's information
FirebaseUser user = mAuth.getCurrentUser();
} else {
// If sign in fails, display a message to the user.
Toast.makeText(MainActivity.this, "Authentication failed.",
Toast.LENGTH_SHORT).show();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
3 Antworten
Wie Dan vorschlägt, verweisen Sie auf den Hauptbaumknoten Ihrer Datenbank, aber in Ihrem ref.addValueEventListener
versuchen Sie, den Beitrag von keinem Kind zu erhalten
Wenn Sie zum Beispiel den ersten bekommen möchten, können Sie dies tun
Korrigieren Sie zuerst Ihre Referenz, wie Sie sagen
Von
DatabaseReference reference = database.getReference("https://eleicoesf6d73.firebaseio.com/");
Zu
DatabaseReference reference = database.getReference();
Und dann rufen Sie in Ihrem Ref einfach an, welches Kind Sie den Wert erhalten möchten, zum Beispiel den Wert "1" von lula
ref.child("lula").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String post = dataSnapshot.getValue(String.class);
resposta.setText(post);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Sie können von ref.child("lula")...
zu ref.child("lula2")...
wechseln, wenn Sie den lula2-Wert erhalten möchten
BEARBEITEN:
Da lula keine Zeichenfolge in Ihrer Datenbank ist, ändern Sie dies einfach
ref.child("lula").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
int post = dataSnapshot.getValue(Integer.class);
resposta.setText(String.valueOf(post));
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Sie können nicht in den Knoten der Datenbank https://eleicoes-f6d73.firebaseio.com/ Das ist der Fehler.
Wechsel von
DatabaseReference reference = database.getReference("https://eleicoesf6d73.firebaseio.com/");
Zu
DatabaseReference reference = database.getReference();
Neue Fragen
android
Android ist Googles mobiles Betriebssystem, mit dem digitale Geräte (Smartphones, Tablets, Automobile, Fernseher, Wear, Glass, IoT) programmiert oder entwickelt werden. Verwenden Sie für Themen im Zusammenhang mit Android Android-spezifische Tags wie Android-Intent, Android-Aktivität, Android-Adapter usw. Verwenden Sie für andere Fragen als Entwicklung oder Programmierung, die sich jedoch auf das Android-Framework beziehen, diesen Link: https: // android.stackexchange.com.