Asyntask Earn Score example in Android

Step 1 : create layout activity.

Step 2 : create MainActivity like below attached find it.

Step 3: run and watch the output & all the best...

This post is inspired from prabhu tutorial from compiletimeerror site.

Step 1:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/activity_main3"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context="mycompany.com.recyclerviewdemo.asyntask_game_demo.Main3Activity">

<EditText

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:inputType="textPersonName"

android:ems="10"

android:layout_alignParentTop="true"

android:layout_centerHorizontal="true"

android:layout_marginTop="20dp"

android:id="@+id/score"

android:hint="Enter your score" />

<Button

android:text="Earn Score"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@+id/score"

android:layout_centerHorizontal="true"

android:layout_marginTop="30dp"

android:id="@+id/earn_score_bt"

android:onClick="earnScore" />

<ProgressBar

style="?android:attr/progressBarStyleHorizontal"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_centerVertical="true"

android:id="@+id/progressBar" />

</RelativeLayout>

Step 2 :

public class Main3Activity extends AppCompatActivity {

private EditText etScore;

private ProgressBar progressBar;

private int scoreIs;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main3);

initViews();

}

private void initViews() {

etScore = (EditText) findViewById(R.id.score);

progressBar = (ProgressBar) findViewById(R.id.progressBar);

}

public void earnScore(View view) {

AsynTaskRunner runner = new AsynTaskRunner();

scoreIs = Integer.parseInt(etScore.getText().toString());

runner.execute(String.valueOf(scoreIs));

}

public class AsynTaskRunner extends AsyncTask<String,String,String>{

int progressing = 5;

@Override

protected String doInBackground(String... params) {

publishProgress(String.valueOf(progressing));

try {

for(int i=0;i<Integer.valueOf(params[0]);i++){

Thread.sleep(100);

publishProgress(String.valueOf(i));

progressing = i ;

}

} catch (InterruptedException e) {

e.printStackTrace();

}

return null;

}

@Override

protected void onPostExecute(String s) {

super.onPostExecute(s);

Toast.makeText(Main3Activity.this, "Progress is :: "+progressBar.getProgress(), Toast.LENGTH_SHORT).show();

}

@Override

protected void onProgressUpdate(String... values) {

super.onProgressUpdate(values);

progressBar.setProgress(Integer.parseInt(values[0]));

}

}

}

Output:

asyntask earn score example