+ Log.v("WhereAmI", "created UI, about to start update task");
+ new TimedUpdateTask().execute(5);
+ Log.v("WhereAmI", "created UI, update task created");
+ }
+
+ private class TimedUpdateTask extends AsyncTask<Integer, Void, String> {
+ @Override
+ protected String doInBackground(Integer... howlong) {
+ Log.v("TimedUpdateTask", "starting");
+ try {
+ Thread.sleep(1000 * howlong[0]);
+ } catch (InterruptedException e) {
+ Log.e("TimedUpdateTask", "sleep interrupted");
+ }
+ Log.v("TimedUpdateTask", "about to return");
+ return (Integer.toString(howlong[0]) + " seconds passed");
+ }
+
+ @Override
+ protected void onPostExecute(String str) {
+ TextView tv = (TextView)findViewById(R.id.tv);
+ Log.v("TimedUpdateTask", "callback executing");
+ tv.append("\n" + str);
+ }