Also auch auf Grund des anderen Threads von Dir:
Wenn Du von einem anderen Gerät (und das wäre dann ein Android Device - egal ob im Emulator oder auf dem Smartphone) aus auf die Datenbank zugreifen willst, dann ist das natürlich nicht localhost. localhost steht immer für das eigentliche Gerät.
Du musst statt localhost also den Rechner angeben, auf dem es läuft. Wenn Du eine Firtz Box hast, dann ist das meist etwas wie pcname.fritz.box. Oder Du schaust in einer Eingabeaufforderung mittels ipconfig nach der IP Adresse - das ist dann sowas wie 192.168.x.x oder 10.x.x.x. Das kannst Du dann statt localhost eintragen.
Dann ist aber noch wichtig, dass Geräte per WLAN diesen Zugriff haben. In machen Routern kann man einstellen, ob z.B. WLAN Geräte untereinander kommunizieren dürfen oder nicht (Falls der Rechner auch per WLAN angebungen ist) und das Gerät muss im Netz sein (also z.B. nicht mit dem Gästenetz verbunden sein).
Und da es sonst ja zu einfach wäre:
In der Datenbank mysql sind User nicht nur per username / passwort identifiziert sondern auch über den Rechner, von dem sie sich verbinden. So ist es üblich, dass der root User nur für localhost den Eintrag hat. Ein Zugriff von einem anderen System aus, ist also nicht möglich. Hier wäre entweder % statt localhost einzutragen (das wäre das wildcard Zeichen für beliebige Systeme) was aber bedenklich ist: Jeder kann dann als root zugreifen - zumal Du nicht einmal ein Passwort gesetzt hast (oder war das nur im Post entfernt?).
Besser wäre es, einen User zu erstellen, der nur die notwendigen Rechte hat, also nur Zugriff auf die Datenbank, die die Daten enthält und dort nur die Rechte, die wirklich benötigt werden. Also nur Lese- und Schreibrechte, wo diese benötigt werden. Das reduziert die möglichen Angriffe.
Aber generell: Das ist keine gute Idee! Du veröffentlichst eine app mit diesen Daten. Ich selbst hole mir die app und schaue mir im einfachsten Fall die apk an und finde die Zugangsdaten. Damit habe ich dann vollen Zugriff auf die Datenbank - unabhängig, was die App mir anzeigt. Wenn da also Anmeldeinformationen hinterlegt sind, dann habe ich diese. Wenn da personenbezogene Informationen sind wie Emails und so: Dann habe ich die. Wenn Du das apk irgendwie verschlüsselst und einen obfuskator nutzt und und und: Dann tut mir das nicht weh. Ich sehe nicht den Quellcode mit den Daten so einfach, aber ich kann mir im Debugger anschauen, wann denn der Connect Aufruf kommt. Und beim connect Aufruf werden diese Informationen übergeben und die kann ich direkt sehen. Es brauchte jetzt etwas mehr Wissen, aber es ist nichts wirklich schweres!
==> Das sind also ganz schlechte Ideen!
Üblich ist, dass eine Datenbank nicht über das Netz erreichbar ist. (Alleine schon um einfache denial of service Angriffe zu vermeiden!) Statt dessen wird die Datenbank hinter einem REST Service versteckt. Auf den REST Service kann man zwar auch (d)DoS Angriffe fahren, aber da gibt es dann die üblichen Abwehrmöglichkeiten. Das kann man z.B. gut skallieren so dass man nicht einen REST Service hat sondern zur Not Hunderte. Und da gibt es dann auch anbieter, die darauf spezialisiert sind und da fertige Lösungen preiswert anbieten (Da einfach den Provider Deiner Wahl ansprechen. Oder zu einem Dienstleister wie Cloudflare gehen und da fragen, falls der eigene Provider da nicht weiter helfen kann).
Daher wäre die Idee, dass Du diese Ebenen hast:
Applikation
REST Webservice
Datenbank
Die Applikation greift auf den REST Service zu. Der User meldet sich da dann an und kann dann gewisse Dinge beim REST Webservice machen. Aber eben nur das. Der Nutzer kann dann die App so durchleuchten wie er will: Er bekommt nur das mit. Er kann sich dann mit den Anmeldedaten direkt am REST Webservice anmelden und kann da dann direkt auch die Zugriffe machen. Aber eben nur das, was der Service für diesen User erlaubt.
Der REST Webservice hat die Verbindung zur Datenbank und kann da natürlich alles machen (was der User, der da hinterlegt wurde, zulässt). Aber die Sourcen sind nur auf dem Server. Da kommt ein anderer nicht einfach so dran. Du hast das ja nie aus der Hand gegeben.
Ich hoffe, ich konnte da etwas erläutern und erhellen.