Creare un nuovo progetto android chiamato HelloThreads Creare un layout con una ProgressBar <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ProgressBar android:id="@+id/progress" style="?android:attr/progressBarStyleHorizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout> Creare una activity public class HelloThreadsActivity extends Activity { ProgressBar bar; Handler handler = new Handler() { @Override public void handleMessage(Message msg) { bar.incrementProgressBy(5); } }; boolean isRunning = false; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); bar = (ProgressBar) findViewById(R.id.progress); } public void onStart() { super.onStart(); bar.setProgress(0); Thread background = new Thread(new Runnable() { public void run() { try { for (int i = 0; i < 20 && isRunning; i++) { Thread.sleep(1000); handler.sendMessage(handler.obtainMessage()); } } catch (Throwable t) { } } }); isRunning = true; background.start(); } public void onStop() { super.onStop(); isRunning = false; } } La comunicazione tra il thread e l'activity viene gestita tramite un Handler
|
|||||||

