verständissprobleme von Android Looper

  • Antworten:0
Rafael T
  • Forum-Beiträge: 4

10.01.2011, 04:04:27 via Website

Hallo
Ich bin noch neu im Entwickeln von Android Apps.
Ich versuche gerade einen Localen Service zu implementieren, welcher Daten aus dem Netz holt, sie mit einer Datenbank vergleicht, etc...

nun hatte ich mir gedacht die Kommunikation zwichen Activity und Service mittels Handler bzw Message Objecte zu realisieren, indem ich die handle Message Methode überschreibe.
Ich habe also im Service einen Handler und einen Main Thread der wiederum in seiner Run Methode mittels eines Android.Os.Looper einen Handler besitzt.
über getService.getMainThread.getHandler().sendMessage kann ich also mit dem Main Thread Kommunizieren.

nun zu den Fragen:
ich starte den Thread in der onCreate() Methode des Service.
Läuft der Looper nun die ganze Zeit im Hintergrund, oder nur, wenn ich über den Handler des Threads eine Message absetzte? Wie kann ich diesen Thread sozusagen "aktivieren" sobald ich eine Message absetze?
könnte ich einfach im Thread anstatt eine getHandler() Methode eine sendMessage(Message m) Methide schreiben und in der run Methode nach getaner Arbeit Thread.wait() aufrufen, oder wie Funktioniert das in Java bzw Android? Oder "wartet" die Looper.Loop funktion bis eine Message den Internen Handler erreicht? wofür ist also Looper.quit und Thread.wait() in diesem Context zu gebrauchen?


bin für jede Hilfe dankbar

MfG

Rafael T

— geändert am 10.01.2011, 04:04:45

Antworten