package com.jim.testapp;

import android.app.Activity;
import android.os.AsyncTask;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button; class MyHandler extends Handler
{
private Activity mActivity;
private Button btn;
public MyHandler(Activity activity) {
mActivity = activity;
btn = (Button)activity.findViewById(R.id.button);
} @Override
public void handleMessage(Message msg) {
Integer integer = (Integer) msg.obj;
switch (msg.what) {
case MainActivity.MSG_ONE:
btn.setText(integer.toString());
break;
}
}
} class MyAsyncTask extends AsyncTask<String, Integer, Integer> { private MainActivity mActivity;
private Button btn; public MyAsyncTask(MainActivity activity) {
mActivity = activity;
btn = (Button)activity.findViewById(R.id.button);
} @Override
protected void onPreExecute() {
super.onPreExecute();
btn.setText("Loading start");
} @Override
protected void onPostExecute(Integer integer) {
super.onPostExecute(integer);
btn.setText("Loading finished");
Log.i(MainActivity.TAG, "Result is " + integer);
} @Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
btn.setText("Loading " + values[0] + "%");
} @Override
protected Integer doInBackground(String... params) {
Log.i(MainActivity.TAG, params[0]);
for (int i = 1; i <= 10; i++) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
publishProgress(i*10);
}
return 0;
}
} public class MainActivity extends AppCompatActivity { public static final String TAG = "jimtest";
public static final int MSG_ONE = 1;
public static final int MSG_TWO = 2; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //MyAsyncTask task = new MyAsyncTask(this);
//task.execute("i am the param"); final MyHandler h = new MyHandler(this); Runnable r = new Runnable() {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
h.obtainMessage(MSG_ONE, new Integer(i)).sendToTarget();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
} }
}; new Thread(r).start(); }
}

  

最新文章

  1. BOM对象有哪些:
  2. 在 MAC OS X 安装 ADB (Android调试桥)
  3. 关于webrtc视频会议的解决方案
  4. 【Java每日一题】20161109
  5. quartz.net 项目无法加载的问题
  6. Linux下安装Firefox以及更新Adobe flash
  7. php yii多表查询
  8. 自制单片机之十二……AT89C2051烧写器的制做与调试
  9. 记录android开发博客
  10. Android_CodeWiki_02
  11. android看不见main函数怎么办?程序异常了,能够不提示“xxx软件停止执行”吗?
  12. c# HttpWebRequest 模拟HTTP post 传递JSON参数
  13. ValueError: &#39;format&#39; in __slots__ conflicts with class variable
  14. Oracle触发bug(cursor: mutex S),造成数据库服务器CPU接近100%
  15. pytorch visdom可视化工具学习—1—详细使用-1—基本使用函数
  16. HDFS集群优化篇
  17. [LeetCode]题53:Maximum Subarray
  18. java之try、catch、finally
  19. OpenCV设置保存图像压缩率
  20. Mybatis Blob和String互转,实现文件上传等。

热门文章

  1. PAT甲级——A1044 Shopping in Mars
  2. Ajax的简单基础
  3. [Day1] 初识Nginx
  4. HDFS 数据存取策略
  5. TZOJ 5110 Pollutant Control(边数最少最小割最小字典序输出)
  6. 宝塔https
  7. 洛谷P3299 保护出题人
  8. 配置android studio环境-Hello world
  9. Openlayers3 WebGis二次开发包实例
  10. 神奇的CSS形状