A HandlerThread can be used to start a thread with a Looper. This looper then can be used to create a Handler for communications with it.

HandlerThread thread = new HandlerThread("thread-name");
thread.start();
Handler handler = new Handler(thread.getLooper());