[ nekicneko99 @ 12.03.2015. 22:45 ] @
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.
[ dusans @ 12.03.2015. 23:35 ] @
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.




[ nekicneko99 @ 13.03.2015. 23:14 ] @
Resio sam upravljanje activity-jem iz niti, ali sad' imam drugi problem.

Treba iz niti od otvaram druge forme (activity-je/layout-e). Ne znam kako to da uradim, moze pomoc?
[ dusans @ 14.03.2015. 08:56 ] @
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);
  }
});

[ nekicneko99 @ 18.03.2015. 10:02 ] @
Hvala, ovo je pomoglo.