Status anzeigen, nachdem, wechsel auf nächste seite

  • Antworten:6
Volkan Aydin
  • Forum-Beiträge: 187

22.06.2014, 19:20:46 via Website

Ich habe ein kleines Logik Problem....

Ich synchroniesiere die MySQL mit der SQLite auf dem Android.
In dieser Klasse lasse ich eine TextView den Status ausgeben ( ok /insert/ update ) etc..... funktioniert einwandfrei

Sobald dieser Vorgang beendet ist, soll es zur nächsten Klasse wechseln.

Ich kenne leider noch nicht alle befehle, ich habe es mit

Process p;
p.waitFor(work());

versucht, das funzt aber ned :( jedenfalls weiss ich nicht ob dies geeignet ist, wie löst ihr das?

— geändert am 22.06.2014, 19:21:30

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

22.06.2014, 19:40:12 via Website

Du meinst, du willst warten bis der Synchronisieren vorgang abgeschlossen ist, und dann an einer anderen Stelle weitermachen?
Da ist ein Callback mit einem Interface am einfachsten.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Volkan Aydin
  • Forum-Beiträge: 187

22.06.2014, 20:53:06 via Website

dann finde ich mal heraus was ein InterFace und Callback so ist ;)......

Danke!

Antworten
Volkan Aydin
  • Forum-Beiträge: 187

22.06.2014, 22:13:39 via Website

also das mit den Interfaces hab ich jetzt kapiert..... ist einfach ... :) hoffe ich, hab es noch nicht probiert, aber der gedanke und das Prinzip dahinter verstanden.
Nun habe ich versucht das mit den Callbacks zu verstehen, die seiten die ich gefunden habe, sind entweder nur für hochgeschulte gemacht, oder es ist wirklich so kompliziert ( hingegen zu jQuery ;) ). hast du für mich ne seite die das einigermassen auf auf deutsch erklärt? also ich habe diese seite gefunden. und bin nicht sicher ob ich das jetzt brauche, da ich keinen plan habe wovon die da reden ;) ..... "IN ANDROID EINEN REMOTE PROCEDURE CALL (RPC) MIT DER ANDROID INTERFACE DEFINITION LANGUAGE (AIDL) DURCHFÜHREN"

Antworten
Volkan Aydin
  • Forum-Beiträge: 187

23.06.2014, 21:35:13 via Website

Also, mal ehrlich, ich steh voll auf dem schlauch...........

ich habe gestern noch ein zwei stunden versucht herauszufinden was dieses RPC oder AIDL soll.... Mein englisch ist grottenschlecht, aber soweit ich es mitbekommen habe, geht es nicht um einfache abläufe, sondern wirklich android bedingte aufgaben wie z.b. ein Foto schiessen und dazu eben diese AIDL Callbacks..... versteh ich das richtig? :)

Danach habe ich weitergesucht und fand dieses schnipsel :

// The callback interface
interface MyCallback {
    void callbackCall();
}

// The class that takes the callback
class Worker {
   MyCallback callback;

   void onEvent() {
      callback.callbackCall();
   }
}

// Option 1:

class Callback implements MyCallback {
   void callbackCall() {
      // callback code goes here
   }
}

worker.callback = new Callback();

// Option 2:

worker.callback = new MyCallback() {

   void callbackCall() {
      // callback code goes here
   }
};

Nun Frage ich mich, wo genau dieses Callback ausgeführt wird :) ich weiss, dämliche Frage..... Also ich nehme an das mein Code hier z.b. ( // callback code goes here) reinkommt.... alles klar, aber wo wird dieses Callback ausgeführt? ist es einfach das Void callbackCall();

Sorry, bin eben nicht ein Dan von Code Kopieren, ich will schon wissen was da passiert...... Danke schonmal

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

24.06.2014, 07:04:33 via App

Also ich hätte die einfachste Methode mt Interfaces genommen.
Damt kannst du auch aus anderen Threads ein Callback starten.
http://stackoverflow.com/questions/3398363/how-to-define-callbacks-in-android

Du brauchst ein Interface und eine Instanz oder implementation.
Diese Inztanz des interfaceses musst du der Funktion die den Callback aufrufen soll übergeben.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Volkan Aydin
  • Forum-Beiträge: 187

30.06.2014, 22:14:48 via Website

Also... ich vermute mal, einfach gesagt, ich bin einfach ein bisschen langsam....
Also nicht das ich jetzt eine ganze Woche es versucht hätte, aber gestern hatte ich endlich wieder zeit. und irgendwie haut es mir ständig den Code um die Ohren... und ich habe mehrers versucht.... zurzeit sieht es so aus.

Ich habe eine implements Klasse erstellt:

    interface callback {
 void callbackCall();
}

//The class that takes the callback
class Worker {
callback callback;

void onEvent() {
   callback.callbackCall();
}
}

soweit so gut, hat funktioniert :)

bei der activity habe ich

"public class allSync extends Activity implements callback" *** warnung 1

Nun wollte ich Option 1 verwenden, also

    // Option 1:

class Callback implements callback { *** warnung2
   void callbackCall() {
      // callback code goes here
   }
}

worker.callback = new Callback(); *** warnung3

nun erhalte ich aber von eclipse gleichdrwei warnungen, die oberste ist
"The type allSync must implement the inherited abstract method callback.callbackCall()"
die andere ist
"Cannot reduce the visibility of the inherited method from callback"
und die andere
Syntax error on token "callback", VariableDeclaratorId expected after this token

Ich traue mich fast nicht an diesem Code herumzuschnipseln, da ich immernoch nicht begreiffe wie dieses Callbak nun arbeitet!

befor ich eine weitere frage stellen muss, währe ich um eine erklärung froh! und jaaaaaa. ich sollte dringenst mal über die Bücher, ich habe aber einfach keine Zeit, und es braucht nicht mehr viel, dann kann das app was ich brauche..... :)

— geändert am 30.06.2014, 22:15:30

Antworten