http://developer.alexanderklimov.ru/android/theory/asynctask.php#newtask
http://metanit.com/java/tutorial/3.12.php
package ru.uber_remont.uber;
import android.app.Activity;
import android.os.AsyncTask;
import android.widget.Button;
import android.widget.TextView;
import android.view.View.OnClickListener;
import android.os.Bundle;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import java.util.concurrent.TimeUnit;
public class Uber extends Activity implements OnClickListener {
CatTask cattask;
TextView tvInfo;
TextView tvOut;
Button reg;
Button search;
Button about;
Button inLogin;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_uber);
tvInfo = (TextView) findViewById(R.id.tvInfo);
// найдем View-элементы
reg = (Button) findViewById(R.id.reg);
search = (Button) findViewById(R.id.search);
about = (Button) findViewById(R.id.about);
inLogin = (Button) findViewById(R.id.inLogin);
reg.setOnClickListener(this);
search.setOnClickListener(this);
inLogin.setOnClickListener(this);
about.setOnClickListener(this);
// создание обработчика
OnClickListener oclBtn = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
};
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_uber, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public void onClick(View v){
cattask = new CatTask();
cattask.execute();
switch (v.getId()) {
case R.id.reg:
{
Intent intent = new Intent(Uber.this, Registration.class);
startActivity(intent);
}
break;
case R.id.inLogin:
{
Intent intent_login = new Intent(Uber.this, Login.class);
startActivity(intent_login);
}
break;
case R.id.about:
{
Intent intent_about = new Intent(Uber.this, A_about.class);
startActivity(intent_about);
}
break;
}
}
class CatTask extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
tvInfo.setText("Полез на крышу");
}
@Override
protected Void doInBackground(Void... params) {
try {
TimeUnit.SECONDS.sleep(5);
} catch (InterruptedException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
tvInfo.setText("Залез");
}
}
}
рабочий код потоков