Skip to content

Instantly share code, notes, and snippets.

@rms1000watt
Created May 31, 2016 23:18
Show Gist options
  • Save rms1000watt/a161569964a15e4a40c8fea7082bd3d3 to your computer and use it in GitHub Desktop.
Save rms1000watt/a161569964a15e4a40c8fea7082bd3d3 to your computer and use it in GitHub Desktop.
Start background thread on Android
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.view.View;
import android.widget.TextView;
public void startWorker(View v) {
mThread.start();
}
Handler.Callback uiCallback = new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
TextView mTextView = (TextView) findViewById(R.id.mTextView);
mTextView.setText(msg.obj.toString());
return false;
}
};
Handler uiHandler = new Handler(uiCallback);
Thread mThread = new Thread() {
public void run() {
Looper.prepare();
final Handler mHandler = new Handler();
final Runnable mRunnable = new Runnable() {
@Override
public void run() {
String mString;
Message message;
mString = generateRandomString();
message.obj = mString;
uiHandler.sendMessage(message);
mHandler.postDelayed(this, 1000);
}
};
mHandler.postDelayed(mRunnable, 1000);
Looper.loop();
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment