0% found this document useful (0 votes)
15 views3 pages

async task2

The document contains an Android XML layout and Java code for a simple application that allows users to input a sleep time in seconds and run an asynchronous task. The layout includes a TextView, EditText, Button, and another TextView to display results. The Java code implements an AsyncTask that simulates sleeping for the specified duration and updates the UI accordingly.

Uploaded by

pranjaliingawa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views3 pages

async task2

The document contains an Android XML layout and Java code for a simple application that allows users to input a sleep time in seconds and run an asynchronous task. The layout includes a TextView, EditText, Button, and another TextView to display results. The Java code implements an AsyncTask that simulates sleeping for the specified duration and updates the UI accordingly.

Uploaded by

pranjaliingawa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

<?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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="10pt"
android:textColor="#444444"
android:layout_alignParentLeft="true"
android:layout_marginRight="9dip"
android:layout_marginTop="20dip"
android:layout_marginLeft="10dip"
android:text="Sleep time in Seconds:"/>
<EditText
android:id="@+id/in_time"
android:layout_width="150dip"
android:layout_height="wrap_content"
android:background="@android:drawable/editbox_background"
android:layout_toRightOf="@id/tv_time"
android:layout_alignTop="@id/tv_time"
android:inputType="number"
/>
<Button android:id="@+id/btn_run"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Run Async task"
android:layout_below="@+id/in_time"
android:layout_centerHorizontal="true"
android:layout_marginTop="64dp" />
<TextView android:id="@+id/tv_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="7pt"
android:layout_below="@+id/btn_run"
android:layout_centerHorizontal="true" />
</RelativeLayout>

package com.example.asyncex;

import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity implements MainActivity1 {
private Button button;
private EditText time;
private TextView finalResult;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
time = (EditText) findViewById(R.id.in_time);
button = (Button) findViewById(R.id.btn_run);
finalResult = (TextView) findViewById(R.id.tv_result);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AsyncTaskRunner runner = new AsyncTaskRunner();
String sleepTime = time.getText().toString();
runner.execute(sleepTime);
}
});
}

private class AsyncTaskRunner extends AsyncTask<String, String, String> {


private String resp;
ProgressDialog progressDialog;

@Override
protected String doInBackground(String... params) {
publishProgress("Sleeping..."); // Calls onProgressUpdate() try {
int time = Integer.parseInt(params[0]) * 1000;
try {
Thread.sleep(time);
} catch (InterruptedException ex) {
throw new RuntimeException(ex);
}
resp = "Slept for " + params[0] + " seconds";
return "";
}

@Override
protected void onPostExecute(String result) {
// execution of result of Long time consuming operation progressDialog.dismiss();
finalResult.setText(result);
}

@Override
protected void onPreExecute() {
ProgressDialog progressDialog = ProgressDialog.show(MainActivity.this,
"ProgressDialog",
"Wait for " + time.getText().toString() + " seconds");
}

@Override
protected void onProgressUpdate(String... text) {
finalResult.setText(text[0]);
}
}
}

You might also like