Array zwischen MySQL DB und App

  • 4 Antworten
  • Letztes Antwortdatum
L

likedue

Ambitioniertes Mitglied
1
Hey Leute,

ich spiele im Moment an einer App, an der ich mich wohl etwas verhebe.
Ich möchte ein Array auf einer MySQL Datenbank(XAMPP) anlegen, über dass ich die Interpreten meiner Musiksammlung anlegen kann.
Ferner möchte ich von der Datenbank eine ID zugewiesen bekommen um für den Fall, dass ich mal einen Interpreten doppelt eingegeben habe nicht immer wieder den gleichen Namen in die Datenbank haue.

Im zweiten Teil möchte ich in der App hergehen können und Alben oder einzelne Songs den Interpreten zuordnen können.
Hierfür möchte ich aus den IDs ein Array in einen Spinner setzen um darunter die Eingaben zu machen.

Im groben habe ich die reine App ohne die SQL-Anbindung schon hinbekommen.

ich weiß mittlerweile, wie ich das jdbc einbinde, mich verbinde und die Eingaben(Album, Song,...) an die Datenbank übergeben kann.
Mir fehlt aber das entscheidende.
Wie kann kann ich die IDs an die Interpreten vergeben und wie genau hole ich mir dann aus den IDs der Datenbank die Interpreten in den Spinner?

Über jede Hilfe bin ich sehr dankbar!

Gruß
Chris
 
Wenn was relationale Datenbanken gut können, dann u.a. Relationen :p
Relationale Datenbank

Soll heißen: erstell eine eigene Tabelle für die Interpreten mit den Attributen ID (als PRIMARY KEY) und Bandname. Erstell noch eine Tabelle für die Alben mit den Attributen ID (als Primary Key), Interpret (hier wird der Interpret per Fremdschlüssel angegeben) und Albumtitel usw. - somit hast du deine Interpreten immer nur einmal angegeben und wenn du dann feststellst, dass du Metallica falsch geschrieben hast, dann brauchst du das nur in der Interpretentabelle umbenennen und dann stimmt das bei allen zugeordneten Alben, Songs etc. auch.

Wenn du alle dein Interpreten auslesen willst (z.B. für die Ausgabe in einen Spinner), dann kannst du einfach einen "Select * From Interpreten" auf diese Tabelle ausführen und erhältst alle deine gespeicherten Interpreten mit zugehörigen IDs...

Letztlich alles nicht sonderlich schwer, musst dich nur mal mit relationalen Datenbanken vertraut machen (und schließlich wie man es in Android umsetzt, aber dazu gibts ja zig Tutorials etc)

P.S.: Hab das jetzt nur grob skizziert, weil dein Post den Eindruck vermittelt, dass du noch nicht wirklich mit (relationalen) Datenbanken umzugehen weißt und dich da erstmal einarbeiten musst, um dann uns ggf. spezifischere Fragen stellen zu können :)
 
Okay, ich lese mich mal ein und versuche es umzusetzen.
Vielen Dank.

Ich habe bisweilen nie mit Datenbanken gearbeitet.
Das ist mein erster Versuch, von daher sind auch gravierende Lücken vorhanden, die ich ja durch die Fragen schließen möchte:)
 
Ich würde mich an deiner Stelle noch fragen, ob du wirklich direkt aus der App mit einer externen Datenbank per JDBC kommunizieren willst.

Das hat ein paar Nachteile:
- Geht nur wenn das Handy auch online ist
- Sehr viel langsamer als lokale Datenbankzugriffe
- Ein Sql Server der aus dem Netz direkt erreichbar ist, ist eine riesige Sicherheitslücke

Vielleicht wäre es besser auf der Gegenseite einen Webservice zu bauen, der dir die Daten liefert. Die kannst du dann auf dem Handy in einer lokalen Datenbank zwischenspeichern und schnell und effizient anzeigen.
 
Hey deek,
ich spiele ja nur etwas mit den Funktionen und versuche auch erstmal nur die Basis zu bekommen um später vielleicht noch darauf aufzubauen.

Zu deinen Nachteilen:
Ich möchte die App nur im eigenen Netzwerk nutzen und mein Smartphone nicht vollziehen.

Ich komme bisweilen auch gut voran.
Jedoch hab ich noch keinen Weg gefunden die Interpreten anzulegen und als Array wieder in meinem Spinner anzeigen zu lassen.
Gibt es da spezielle Anweisungen?

Der ursprüngliche Beitrag von 17:50 Uhr wurde um 17:52 Uhr ergänzt:

private void fillSpinner(){

Cursor c = mDbHelper.fetchAllTitles();
startManagingCursor(c);

// create an array to specify which fields we want to display
String[] from = new String[]{field_name};
// create an array of the display item we want to bind our data to
int[] to = new int[]{android.R.id.text1};
// create simple cursor adapter
SimpleCursorAdapter adapter =
new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, c, from, to );
adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
// get reference to our spinner
Spinner s = (Spinner) findViewById( R.id.unique_id );
s.setAdapter(adapter);
}


wird das mein Problem lösen können?
Ich versuche es mal...
 

Ähnliche Themen

G
Antworten
0
Aufrufe
148
Gerdchen07
G
G
Antworten
1
Aufrufe
394
Gerdchen07
G
G
Antworten
13
Aufrufe
623
Gerdchen07
G
L
Antworten
3
Aufrufe
671
mips400
mips400
migi01
Antworten
26
Aufrufe
2.042
migi01
migi01
Zurück
Oben Unten