auf externe mysql db zugreifen

  • Antworten:4
martin schliefellner
  • Forum-Beiträge: 41

27.02.2012, 15:08:45 via Website

Hallo,

ich habe im Internet einen Beitrag gefunden wo das Problem wie folgt gelöst wird.

Es wird eine Verbindung zu einer seite aufgebaut - dort über Get die Parameter übergeben. Der Get-Request ruft somit ein php File auf welches die Daten aus der DB list (Get Parameter wären zb einschränkungen) und anschließend als JsonString ausgibt.

In Android kann man dann diesen Output einlesen und wiederum parsen und die Daten weiterverarbeiten.

Einige Fragen hätte ich dazu:
1. Ist das die normale vorgehensweise oder kann ich auch direkt in Android eine Verbindung aufbauen ohne den Umweg über das php File am server?
2. Wie genau ist die Schachtelung (Threads, Services?)

Bin noch kompletter Anfänger in Android und dachte mir ich probier etwas in die Richtung um bissl reinzukommen - wäre toll wenn jemand mir da helfen könnte oder vielleicht aus nen passenden Link hat.

lg

Antworten
Klaus T.
  • Forum-Beiträge: 8.183

27.02.2012, 15:27:38 via Website

Vom (mobilen) Endgerät direkt auf eine entfernte DB zugreifen? Klar, würde das gehen, tut man aber nicht!
In einer "richtigen" Umgebung läuft die Datenbank i.d.R. in einem geschützten Bereich. Wenn von außen auf Daten zugegriffen wird, dann kommuniziert der Client über einem Applicationserver - z.B. per WebService, alles andere wäre auch viel zu starr und statisch.

Demnach ist das beschriebene Verfahren schon ok, wobei das PHP-Gedöns nicht so mein Ding ist.... >_>

:)

— geändert am 27.02.2012, 15:31:36

if all else fails, read the instructions.

Antworten
martin schliefellner
  • Forum-Beiträge: 41

27.02.2012, 15:40:01 via Website

Ok super,

na dann verbind ich dort über mysqli zu der db und les das über json aus, verbindung hat mal geklappt.

Wie is das mit den services und Threads - gibts da irgendwie nen Tipp wie man was am besten verwendet?
Ist auf den ersten Blick immer verwirrend weil es soviel Möglichkeiten gibt - genauso wie mit den ganzen Layout/Activity Möglichkeiten.

Muss ich wenn ich einen Service Intent starte dort aber nicht nochmal nen Thread starten oder ? Also läuft das Service parallel zur Application?

Antworten
Gelöschter Account
  • Forum-Beiträge: 24

27.02.2012, 16:34:40 via Website

Ein Service läuft im Main Thread. Wenn Du langlaufende Tasks in einem Service hast dann solltest Du im Service zusätzlich mit Threads arbeiten.

Siehe zweiten Absatz:

http://developer.android.com/reference/android/app/Service.html

Antworten
martin schliefellner
  • Forum-Beiträge: 41

27.02.2012, 17:02:54 via Website

Hi danke für die Antwort,

was hat ein Service dann für einen Sinn wenns im Hauptthread läuft und sozusagen blockiert. Dachte der Sinn vom Service ist dass ich hierbei nebenbei nen Thread starte der was verarbeitet und mir das das Result liefert.

Also ich kenn das Pattern ApplicationView - Service - DAO
da kommt die Businesslogic in das Service is das hier auch so gemeint?

Hab hier bei Services halt gelesen dass solche sachen wie downloads oder ähnliches reinkommen deswegen dachte ich eigener Thread.

lg

Antworten