Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.gp.thredovi;
- import android.content.Context;
- import android.os.AsyncTask;
- import android.widget.Toast;
- import com.example.gp.thredovi.MainActivity;
- /**
- * Created by GP on 18.05.2015..
- */
- public class NekaDugotrajnaRadnja extends AsyncTask<String,Integer,String> {
- private Context kontekstAplikacije;
- private MainActivity mejn;
- public NekaDugotrajnaRadnja(MainActivity mejn, Context kontekstAplikacije) {
- this.mejn = mejn;
- this.kontekstAplikacije = kontekstAplikacije;
- }
- String mojeIme;
- // promenljiv broj ulaznih parametara
- // ulaz je zapravo NIZ stringova!
- // ako prosledimo samo 1 parametar, tada ima 1 element i njemu pristupimo sa ulaz[0]
- protected String doInBackground(String... ulaz) {
- mojeIme = ulaz[0];
- for (int i = 0; i < 1000000; i++) {
- try {
- // pauzira programsku nit ( NATERAJE DA SPAVA, NE TROSI PROCESOR, NEKO DRUGI DODJE NA RED DOK ONA SPAVA)
- Thread.sleep(500);
- } catch (InterruptedException e) {
- e.printStackTrace();
- } catch (Exception e) {
- e.printStackTrace();
- }
- // ZOVEMO PUBLISH PROGRESS
- // NE ZOVEMO ON PROGRESS UPDATE!!!!
- publishProgress( i);
- }
- return ulaz[0] + "zavrsio";
- }
- public void onProgressUpdate(Integer ... procenatZavrsenosti){
- String poruka = "Ulaz:" + mojeIme + "Trenutno i : " + procenatZavrsenosti[0];
- mejn.napredujemo(poruka);
- }
- public void onPostExecute(String rezultat){
- Toast.makeText( kontekstAplikacije, "KRAJ" , Toast.LENGTH_LONG).show();
- }
- }
- //////////////////////////////////////
- // M A I N _________ A C T I V Y _______
- ///////////////////////////////////////////
- public class MainActivity extends Activity {
- int brojacTaskova;
- public void startujTask(View v) {
- // pravimo novi task
- // dajemo mu referencu na MainActivity
- // dajemo mu referencu na aplikacioni kontekst
- NekaDugotrajnaRadnja noviTask = new NekaDugoTrajnaRadnja(this, getApplicationContext());
- noviTask.execute(brojacTaskova);
- brojacTaskova++;
- }
- public void napredujemo(String poruka) {
- Toast.makeText( getApplicationContext(), poruka , Toast.LENGTH_LONG).show();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment