package com.yokmama.learn10.chapter05.lesson25;
import android.app.Application;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Message;
import android.util.Log;
import java.util.Random;
/**
* Created by yokmama on 15/04/23.
*/
public class MyApplication extends Application{
private static final String TAG = MyApplication.class.getSimpleName();
private HandlerThread mHandlerThread;
private Handler mHandler;
private int mCounter;
private Random mRand = new Random();
@Override
public void onCreate() {
super.onCreate();
//Handlerを生成
mHandlerThread = new HandlerThread("myLooper");
mHandlerThread.start();
mHandler = new Handler(mHandlerThread.getLooper());
}
public void countUp() {
mHandler.post(new Task(mCounter++));
}
private class Task implements Runnable {
private int mIndex;
public Task(int index) {
mIndex = index;
}
@Override
public void run() {
try {
//スレッドをランダムにスリープ
int sleepTime = mRand.nextInt(5) * 1000;
Log.d(TAG, "sleep " + sleepTime);
Thread.sleep(sleepTime);
} catch (InterruptedException e) {
e.printStackTrace();
}
Log.d(TAG, "My Index is " + mIndex);
}
}
}