German Unerwünschter wechsel der Activity bei Nutzung von httputils

DonManfred

Expert
Licensed User
Longtime User
Moin zusammen,

ich probier es erstmal hier im deutschen Teil des Forums:

In meiner ersten grösseren App benutze ich httputils2 und ein php-script auf der Serverseite welches die Datenbank-abfragen oder -Einträge erledigt.
Klappt im Grunde auch Super...

Mein damaliges Vorgehen war/ist wie folgt:

- Jede Activity hat eine eigene JobDone sub und eigene Aufrufe zur php-Schnittstelle
- In Main wird z.B. erst eine authentifizierung beim Server gemacht welches dann die nötigen Daten an die app zurückliefert. Unter anderem z.B. die Mitarbeiternummer des Mitarbeiters der diese App einsetzt.

Manchmal werden mehrere Jobs gleichzeitig gestartet. Es laufen auch immer alle durch, das ist kein Problem.

Nun bekommt man von job x eine antwort worauf sich dann z.B. eine liste füllt. Andere jobs sind noch nicht beendet. Nun wechselt man aufgrund eines klicks zu einer anderen activity.
In Grunde sowas wie:
Liste der bestellungen anzeigen.
- eine bestellung anklicken um den inhalt der bestellung zu sehen (liste der artikel). -> 2. activity.
- liste der artikel anzeigen.
- einen Artikel anklicken um dann details Du diesem Artikel angezeigt zu bekommen. -> 3. Activity

Nun kann es sein, das man sich schon zur 3. activity "durchgeklickt" hat obwohl in activity 2 noch jobs laufen.
Nun passiert es, das man von activity3 (die man schon sieht) wieder zurück zu activity2 "springt"
Man muss hier nochmal klicken um an die detaildaten zu kommen.

So das grobe Problem. Ich hoffe, ihr konntet mir folgen :)

Ich habe irgendwo im englischen forum mal gelesen das man seine job-logic in ein code-mudul oder service oder so auslagert...

Könnt ihr mir links oder idealerweise links zu einem beispielcode der genau diese Problematik erschlägt?
 
D

Deleted member 103

Guest
Hallo DonManfred,
Nun kann es sein, das man sich schon zur 3. activity "durchgeklickt" hat obwohl in activity 2 noch jobs laufen.
Nun passiert es, das man von activity3 (die man schon sieht) wieder zurück zu activity2 "springt"
Man muss hier nochmal klicken um an die detaildaten zu kommen.
ich weis jetzt nicht was in der 2.Activity angezeigt werden soll, wenn aber in dem Sub "Activity_Resume" die Daten aktuallisiert werden dann sollte es keine Problem bereiten.
 

ernschd

Active Member
Licensed User
Longtime User
Hi, wenn die Jobs im Hintergrund weiter arbeiten sollen bzw dürfen, dann würde ich sie in einen Service packen; ansonsten würde ich das Anzeigen der nächsten Activity erst erlauben, wenn der Job (erfolgreich) beendet wurde.
 

MaFu

Well-Known Member
Licensed User
Longtime User
HttpUtils2 hat intern einen Verweis auf das Activity in dem es initialisiert wurde. Bei Fertigstellung wird über CallSubDelayed2() die _JobDone() Ereignisfunktion dieser Activity aufgerufen. Damit das funktioniert muss natürlich zu dieser Activity gewechselt werden. HttpUtils2 funktioniert nicht Activityübergreifend. Dir bleibt nur, das Ganze selbst über einen Service zu lösen.
 

DonManfred

Expert
Licensed User
Longtime User
Vielen Dank für eure Antworten!

aber kommt es da nicht auf das selbe heraus.
act1 startet einen job über einen service und übergibt act1 als activity-parameter
es wird zur act2 gewechselt und da werden neue jobs gestartet die ihrerseits act2 als activity object an den service übergeben

Ich schätze die antworten "landen" dann in dem fall nicht in act1 sondern nun in act2 (wo sie jedoch nicht hingehören wenn es ein job ist der aus act1 aufgerufen/initiiert wurde.

Oder habe ich hier einen Denkfehler?
 

MaFu

Well-Known Member
Licensed User
Longtime User
Erstell Dir in Process_Globals eine Variable, möglichst als Byte.
Z.B.: Dim activity_id As Byte
Jede Activity speichert in Activity_Resume eine Zahl als ID in der Variable. Somit kann Dein Service prüfen welche Activity gerade aktiv ist.
 
Top