Tutorial berikut bagai mana cara memanfaatkan background processing diandroid. Kita tahu background processing di gunakan sebagai proses yang berjalan di belakang aplikasi ini. Gunanya jika kita ingin melakukan proses secara bersamaan dimana salah satunya berjalan di background.
AsynTask sendiri adalah class yang di sediakan android SDK guna melakukan background processing di android. AsynTask melakukan proses melalui tiga tahap.
1.
AsynTask sendiri adalah class yang di sediakan android SDK guna melakukan background processing di android. AsynTask melakukan proses melalui tiga tahap.
1.
onPreExecute() dilakukan sebelum background processing berjalan2.doInBackground(Params...) proses sedang berjalan3.onProgressUpdate(Progress...) proses menampilkan progres dari prosess4.onPostExecute(Result) proses menampilkan hasil dari background processing Code Diatas merupakan tampilan dari aplikasi android nantinya. Aplikasinya terdiri atas progress bar dan button
package com.prosess.background;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.Toast;
public class AsynTaskProcessActivity extends Activity {
// deklarasi widget
ProgressBar progressBar;
Button buttonStartProgress;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
buttonStartProgress = (Button) findViewById(R.id.startprogress);
progressBar = (ProgressBar) findViewById(R.id.progressbar_Horizontal);
progressBar.setProgress(0);
buttonStartProgress.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
new BackgroundAsynTask().execute();
buttonStartProgress.setClickable(false);
}
});
}
public class BackgroundAsynTask extends AsyncTask {
// inisialisasi progress
int myProgres;
@Override
protected void onPreExecute() {
super.onPreExecute();
Toast.makeText(AsynTaskProcessActivity.this, "onPreExecute",
Toast.LENGTH_LONG).show();
buttonStartProgress.setClickable(true);
}
@Override
protected Void doInBackground(Void... params) {
while (myProgres < 100) {
myProgres++;
publishProgress(myProgres);
SystemClock.sleep(100);
}
return null;
}
@Override
protected void onProgressUpdate(Integer... values) {
progressBar.setProgress(values[0]);
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
Toast.makeText(AsynTaskProcessActivity.this, "onPostExecute",
Toast.LENGTH_LONG).show();
buttonStartProgress.setClickable(true);
}
}
}
buttonStartProgress = (Button) findViewById(R.id.startprogress); progressBar = (ProgressBar) findViewById(R.id.progressbar_Horizontal);
code diatas digunakan untuk menghubungkan antara xml(tampilan) dan class(java).
buttonStartProgress.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
new BackgroundAsynTask().execute();
buttonStartProgress.setClickable(false);
}
});
Code diatas digunakan untuk memberi action dari button androidpublic class BackgroundAsynTask extends AsyncTaskCode diatas menjelaskan bagaimana proses dari button berjalan{ // inisialisasi progress int myProgres; @Override protected void onPreExecute() { super.onPreExecute(); Toast.makeText(AsynTaskProcessActivity.this, "onPreExecute", Toast.LENGTH_LONG).show(); buttonStartProgress.setClickable(true); } @Override protected Void doInBackground(Void... params) { while (myProgres < 100) { myProgres++; publishProgress(myProgres); SystemClock.sleep(100); } return null; } @Override protected void onProgressUpdate(Integer... values) { progressBar.setProgress(values[0]); } @Override protected void onPostExecute(Void result) { super.onPostExecute(result); Toast.makeText(AsynTaskProcessActivity.this, "onPostExecute", Toast.LENGTH_LONG).show(); buttonStartProgress.setClickable(true); } }
| Sebelum Dijalankan |
| OnPreExecute |
| Sedang Berjalan |
| Selesai Proses |
Any Question ?
"app developer android google developer google android developer app developer android market developer android developer phone android development android developer sdk android sdk android developer phone android developer sdk android development android market developer android sdk app developer app developer android google android developer google developer "

gan gimana mengimplementasikan multithreading dalam game di android ....
BalasHapuskalo bisa kasih contoh source code nya gan.
Wah maaf telat balas :D
BalasHapuskebetulan ane belum explore sampai di game :D
mungkin nanti saya akan coba :D