kernel_memory_dump

Android kurs - AsyncTask

May 18th, 2015
331
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.35 KB | None | 0 0
  1. package com.example.gp.thredovi;
  2.  
  3. import android.content.Context;
  4. import android.os.AsyncTask;
  5. import android.widget.Toast;
  6.  
  7. import com.example.gp.thredovi.MainActivity;
  8.  
  9. /**
  10.  * Created by GP on 18.05.2015..
  11.  */
  12. public class NekaDugotrajnaRadnja extends AsyncTask<String,Integer,String> {
  13.  
  14.     private Context kontekstAplikacije;
  15.     private MainActivity mejn;
  16.  
  17.     public NekaDugotrajnaRadnja(MainActivity mejn, Context kontekstAplikacije) {
  18.         this.mejn = mejn;
  19.         this.kontekstAplikacije = kontekstAplikacije;
  20.     }
  21.  
  22.     String mojeIme;
  23.     // promenljiv broj ulaznih parametara
  24. // ulaz je zapravo NIZ stringova!
  25. // ako prosledimo samo 1 parametar, tada ima 1 element i njemu pristupimo sa ulaz[0]
  26.     protected String doInBackground(String... ulaz) {
  27.     mojeIme = ulaz[0];
  28.         for (int i = 0; i < 1000000; i++) {
  29.  
  30.             try {
  31.                 // pauzira programsku nit ( NATERAJE DA SPAVA, NE TROSI PROCESOR, NEKO DRUGI DODJE NA RED DOK ONA SPAVA)
  32.                 Thread.sleep(500);
  33.             } catch (InterruptedException e) {
  34.                 e.printStackTrace();
  35.             } catch (Exception e) {
  36.                 e.printStackTrace();
  37.             }
  38.  
  39.  // ZOVEMO PUBLISH PROGRESS
  40. // NE ZOVEMO ON PROGRESS UPDATE!!!!
  41.  
  42. publishProgress( i);
  43.         }
  44.         return ulaz[0] + "zavrsio";
  45.     }
  46.  
  47.  
  48.  
  49.     public void onProgressUpdate(Integer ... procenatZavrsenosti){
  50.         String poruka = "Ulaz:" + mojeIme + "Trenutno i : " + procenatZavrsenosti[0];
  51.         mejn.napredujemo(poruka);
  52.     }
  53.  
  54.     public void onPostExecute(String rezultat){
  55.         Toast.makeText( kontekstAplikacije,   "KRAJ" , Toast.LENGTH_LONG).show();
  56.     }
  57.  
  58.  
  59.  
  60.  
  61.  
  62. }
  63.  
  64.  
  65.  
  66. //////////////////////////////////////
  67. //  M A I N _________ A C T I V Y _______
  68. ///////////////////////////////////////////
  69.  
  70. public class MainActivity  extends Activity  {
  71.  
  72.  
  73. int brojacTaskova;
  74.  
  75. public void startujTask(View v) {
  76.       // pravimo novi task
  77. // dajemo mu referencu na MainActivity
  78. // dajemo mu referencu na aplikacioni kontekst
  79.       NekaDugotrajnaRadnja  noviTask = new NekaDugoTrajnaRadnja(this, getApplicationContext());      
  80.      noviTask.execute(brojacTaskova);
  81.      brojacTaskova++;
  82.  
  83. }
  84.  
  85. public void napredujemo(String poruka) {
  86.   Toast.makeText( getApplicationContext(),   poruka , Toast.LENGTH_LONG).show();    
  87.  
  88. }
  89.  
  90.  
  91.  
  92.  
  93.  
  94. }
Advertisement
Add Comment
Please, Sign In to add comment