Android Spinner dynamisch aus DB SQL Select befüllen

GGK_01

Bekanntes Mitglied
Hallo,

ich möchte einen Spinner dynamisch beim Programmstart aufgrund der Ergebnisse einer Oracle SQL Abfrage befüllen.
DB: Oracle 11g -> ojdbc6.jar wurde in Eclipse (BuildPath -> Libraries -> Add External JARs..) eingebunden

Code:
Java:
Driver d = (Driver) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
    		DriverManager.registerDriver(d);
    		String url = "jdbc:oracle:thin:@Server:Port:SID";
Connection conn = DriverManager.getConnection(url,"USER","PASS");
Statement stmt = conn.createStatement();
ResultSet rset1 = stmt.executeQuery("select count(*) from Tab2");

Fehler:
Code:
06-05 16:03:35.035: W/System.err(23339): java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
06-05 16:03:35.039: W/System.err(23339): at java.lang.Class.classForName(Native Method)

In der JAVA Umgebund funktioniert das...unter Android leider nicht...gibt es hier eigene ojdbc-Driver oder weiss jemand eine Lösung?

Danke

GGK
 
Leg das JAR einmal in das Verzeichnis libs.

Wenn das noch immer nicht hilft, probier es über Rechtsklick auf Projekt -> Properties -> Build Path -> Tab Export, dort noch extra das oracle.jar anwählen.
 
Keine Ahnung, musst du ausprobieren.

Allerdings ist das was du da vorhast sowieso nicht sehr gescheit. Das macht man normalerweise über einen Service, da du so auch bessere Möglichkeiten hast Netzwerkausfälle usw. abzufangen.
 
wie ich im titel schon geschrieben habe....

ich habe eine liste mit dynamischen Items, die ich in einem Spinner darstellen möchte. Diese werden in einer DB verwaltet und sollten über ein SQL Statement beim Programmaufruf abgefragt und im Spinner dargestellt werden.

Ich könnte die Items in einem File ablegen und so statisch einlesen...und mir so die gesamte WLAN und Datenbank geschichte sparen...das wäre aber nur Plan B.

LG, GGK
 
Wofür sind die Items gut?

Ändern sich die oft? Wenn nicht hat Android genau für solche Dinge Array.xmls eingeführt.

Welchen Mehrwert hat der Benutzer davon dass das ständig beim Laden der App upgedated wird?

Aber normalerweise reicht es ja wenn du dir einen Server hernimmst und den die Einträge als JSON oder ähnliches ausspucken lässt und das per URLConnection oder HttpClient abgreifst.
 
Der Benutzer kann sich sicher sein, dass er immer die akutellen Items parat hat....also neue Systeme die in der DB angelegt sind auf sein Gerät übertragen bekommen hat.

Da ich gerade mit Android anfange...sagen mir array.xmls nichts, ebenso JSON bzw URLConnection oder HttpClient?

Jetzt hänge ich etwas in der Luft...und das noch dazu unglücklich ;-)

LG, GGK
 
Dr. Google hilft da immer gerne ;-)

HttpClient aus den Apache Commons kennst du? In Android enthalten.
HttpUrlConnection oder UrlConnection sind ein paar (im Vergleich zu HttpClient) low-leveligere Netzwerk-Klassen die aber deutlich schneller sind. Jedenfalls auf Android.

JSON ist die JavaScript Object Notation und ist eine Datenbeschreibungssprache, ähnlich wie XML. JSON braucht allerdings weniger Text um die selbe Information wie XML darzustellen aber XML funktioniert natürlich auch.

Was du jetzt noch brauchst, ist ein Server der das verwaltet. Ich schätze mal den gibt's schon, den wer verwaltet sonst die "Systeme"? Der braucht jetzt noch - je nach verwendeter Technologie anders umzusetzen aber fast überall bereits dabei - eine Schnittstelle nach außen.
Ich schlage vor du fragst da am besten Dr. Google nach "${SERVER_TECHNOLOGIE} JSON Webservice"
 
Zuletzt bearbeitet:

Zurück
Oben