# Android Studio & Firebase



## theSonGoku1991 (31. Mai 2020)

Hallo zusammen,

ich verzweifle gerade und komme auch mit stundenlangem googeln und Tutorials ansehen nicht weiter.

Mein Code sieht aktuell wie folgt aus:


```
package com.eulfin.test;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.Toast;

import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Toast.makeText(MainActivity.this, "Here is my Test!", Toast.LENGTH_LONG).show();

        FirebaseDatabase database = FirebaseDatabase.getInstance();
        DatabaseReference myRef = database.getReference("message");

        myRef.setValue("Hello, World!");
    }
}
```

Die Verbindung zu Firebase habe ich über die Benutzeroberfläche von Android Studio bereits herstellt.

1. Android Studio zeigt mir die Parameter der Methoden makeText sowie getReference immer etwas seltsam an. Siehe: https://stackoverflow.com/questions...hints-information-not-always-visible/47136556
Bei dem Versuch, die im Beitrag beschriebene Option auszustellen, musste ich feststellen, dass die *Show parameter name hints* bei mir nicht steht. Da ich unter File keinen Punkt Settings hatte, bin ich über Android Studio > Preferences gegangen.

2. Mein Toast wird mir in meinem Emulator nicht angezeigt. Habe habe schon gelesen, dass das damit zusammenhängen könnte, dass dieser im falschen Thread ausgeführt wird. Allerdings wird der Toast in den Beispielen die ich mir bisher angesehen habe auch immer in dieser Form verwendet und nicht wie hier mit runOnUiThread ausgeführt https://stackoverflow.com/questions/20678436/android-toast-messages-not-working
Könnt ihr mir sagen, was ich falsch mache sowie warum?

3. Ich versuche verzweifelt, irgendetwas in meine Firebase Datenbank zu schreiben. Wie oben beschrieben, habe ich dabei den Anweisungen in AS folgte geleistet.
Allerdings kommt einfach nichts in der Firebase Datenbank an. Wie kann ich testen, wo das Problem liegt? Eventuell kommt die Verbindung zur Datenbank trotz aller Mühe gar nicht zustande. Eine Fehlermeldung wird mir nicht ausgegeben.

Freue mich auf eure Rückmeldungen!

Liebe Grüße
Goku


----------



## mrBrown (31. Mai 2020)

theSonGoku1991 hat gesagt.:


> 1. Android Studio zeigt mir die Parameter der Methoden makeText sowie getReference immer etwas seltsam an. Siehe: https://stackoverflow.com/questions...hints-information-not-always-visible/47136556
> Bei dem Versuch, die im Beitrag beschriebene Option auszustellen, musste ich feststellen, dass die *Show parameter name hints* bei mir nicht steht. Da ich unter File keinen Punkt Settings hatte, bin ich über Android Studio > Preferences gegangen.


Müsste unter *Preferences | Editor | Inlay Hints | Java -> Parameter Hints* stehen.


----------



## theSonGoku1991 (2. Jun 2020)

mrBrown hat gesagt.:


> Müsste unter *Preferences | Editor | Inlay Hints | Java -> Parameter Hints* stehen.



Danke!




theSonGoku1991 hat gesagt.:


> 2. Mein Toast wird mir in meinem Emulator nicht angezeigt. Habe habe schon gelesen, dass das damit zusammenhängen könnte, dass dieser im falschen Thread ausgeführt wird. Allerdings wird der Toast in den Beispielen die ich mir bisher angesehen habe auch immer in dieser Form verwendet und nicht wie hier mit runOnUiThread ausgeführt https://stackoverflow.com/questions/20678436/android-toast-messages-not-working
> Könnt ihr mir sagen, was ich falsch mache sowie warum?



Lag daran, dass die onCreate Methode nur beim Erzeugen der App ausgeführt wurde und mein altes Macbook leider so langsam ist, dass ich den Toast so schnell nicht sehen konnte (wird nicht dauerhaft angezeigt, was meine zweite Annahme war).

Sich einen Toast bei jedem Status (onCreate, onStart, onPause, onStop, onDestroy) ausgeben lassen, hilft, den Lifecycle zu verstehen.



theSonGoku1991 hat gesagt.:


> 3. Ich versuche verzweifelt, irgendetwas in meine Firebase Datenbank zu schreiben. Wie oben beschrieben, habe ich dabei den Anweisungen in AS folgte geleistet.
> Allerdings kommt einfach nichts in der Firebase Datenbank an. Wie kann ich testen, wo das Problem liegt? Eventuell kommt die Verbindung zur Datenbank trotz aller Mühe gar nicht zustande. Eine Fehlermeldung wird mir nicht ausgegeben.



Zuletzt bekam ich die Fehlermeldung "Permission denied". Lag daran, dass ich aus Frustration schon diverse Firebase Realtime Datenbanken eingerichtet hatte und die google-services.json nicht mehr der des ursprünglichen Projekts entsprochen hatte.

Habe ein neues Projekt in AS angelegt, die Datenbank neu verknüpft, die .json erneut in mein Projekt geladen und alles funktioniert! 



Eine zusätzliche Frage habe ich jetzt doch noch:

Da ich mich mit den Elementen und Gestaltungsmöglichkeiten in Java noch nicht so gut auskenne, frage ich mich gerade, welche Elemente ich nutzen könnte, um bspw. eine Kalenderansicht bzw. einen Habit Tracker (nebeneinander positionierte, runde Felder mit einer Ziffer darzustellen. Ich konnte beides mit einer Tabelle oder einer Liste realisieren, frage mich aber, ob ich diese Zweckentfremde und welche Herangehensweise die richtigere wäre.

Freue mich auf eure Antwort(en)!

Dankeschön.

Goku


----------

