public class MainActivity extends AppCompatActivity {
Handler
mChildHandler;
HandlerThread mHandlerThread;
HandlerThread mHandlerThread;
Handler mHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout. activity_main);
//1. AsyncTask
new ImageAsyncTask().execute();
/*2. HandlerThread
mHandler = new Handler();
mHandlerThread = new HandlerThread("handlerThread");
mHandlerThread.start();
mChildHandler = new Handler(mHandlerThread.getLooper());
mChildHandler.post(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(2000);
mHandler.post(new Runnable() {
@Override
public void run() {
findViewById(R.id.imageview).setVisibility(View.VISIBLE);
}
});
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});*/
/*3. Thread+Handler
new ChildThread().start();*/
}
@Override
protected void onResume() {
super.onResume();
}
class ImageAsyncTask extends AsyncTask<String, Integer, Boolean>{
@Override
protected Boolean doInBackground(String... params) {
try {
Thread. sleep( 2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Boolean aBoolean) {
findViewById(R.id. imageview).setVisibility(View. VISIBLE);
}
}
class ChildThread extends Thread{
@Override
public void run() {
super.run();
try {
sleep( 2000);
mHandler.post( new Runnable() {
@Override
public void run() {
findViewById(R.id. imageview).setVisibility(View. VISIBLE);
}
});
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout. activity_main);
//1. AsyncTask
new ImageAsyncTask().execute();
/*2. HandlerThread
mHandler = new Handler();
mHandlerThread = new HandlerThread("handlerThread");
mHandlerThread.start();
mChildHandler = new Handler(mHandlerThread.getLooper());
mChildHandler.post(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(2000);
mHandler.post(new Runnable() {
@Override
public void run() {
findViewById(R.id.imageview).setVisibility(View.VISIBLE);
}
});
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});*/
/*3. Thread+Handler
new ChildThread().start();*/
}
@Override
protected void onResume() {
super.onResume();
}
class ImageAsyncTask extends AsyncTask<String, Integer, Boolean>{
@Override
protected Boolean doInBackground(String... params) {
try {
Thread. sleep( 2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Boolean aBoolean) {
findViewById(R.id. imageview).setVisibility(View. VISIBLE);
}
}
class ChildThread extends Thread{
@Override
public void run() {
super.run();
try {
sleep( 2000);
mHandler.post( new Runnable() {
@Override
public void run() {
findViewById(R.id. imageview).setVisibility(View. VISIBLE);
}
});
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}