Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 3.026 pregleda

Najnovija ↓

Android multithreading 12.03.2015. u 23:45 · pre 141 mesec #1
Treba da napravim aplikaciju za android koja omunicira sa sercerom (socket).
Mislio sam da u jednu odvojenu nit (ona bi bila glavna) primam podatke i saljem ih activity-ju, ili otvaram novu formu. Problem je u tome sto ne mogu iz niti da upravljam activity-jem.

Da li neko zna kako ovo da uradim.

Napominjem da AsyncTask ne povaze, on vracva vrednost na kraju thread-a, a meni treba jedna "beskonacna petlja", stalno da prima podatke.
Misio sam da prosledim referencu na activity, ali nije pomoglo, tj. nisam uspeo nista da namestim da radi.

Unapred hvala.
Potpis
https://www.youtube.com/watch?v=CGvGdOjnTIA
Re: Android multithreading 13.03.2015. u 00:35 · pre 141 mesec #2
Evo jedan primer:
http://cogitolearning.co.uk/?p=793
Ako je u pitanju nešto jednostavno, ne bih komplikovao kao što je opisano u gornjem linku...

Najprostije bi bilo da imaš jednu statičku varijablu (singleton) u kojoj bi registrovao trenutnog listener-a.
Na start activity-ja registruješ listener-a koji prima podatke i zna šta treba da radi sa njima u activity-ju.
Na end activity-ja setuješ listenera na null .
U thread-u, kako primaš podatke, tako pozivaš trenutno registrovanog listenera (ako ga ima).

Normalno, moraš koristiti runOnUiThread i voditi računa da je Activity još uvek aktivan.




Re: Android multithreading 14.03.2015. u 09:56 · pre 141 mesec #4
Isto kao što bi inače radio, samo moraš da umotaš poziv sa runOnUiThread:
Code:

runOnUiThread(new Runnable() {
  public void run() {
    Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
    CurrentActivity.this.startActivity(myIntent);
  }
});

Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme