`

关于异步加载数据的又一种实现

 
阅读更多
package com.testasyntextview;
/**
 * 把获取的线程写到方法中(比较好)
 */
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.Html;
import android.text.Spanned;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class TestAsynTextViewActivity extends Activity {
	private TextView textView1;
	private Button button1;
	private Context context;
	private ProgressDialog progressDialog;
	private Spanned html;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		context = this;
		textView1 = (TextView) findViewById(R.id.textView1);
		button1 = (Button) findViewById(R.id.button1);
		button1.setOnClickListener(l);

	}

	private OnClickListener l = new OnClickListener() {

		@Override
		public void onClick(View v) {

			progressDialog = ProgressDialog.show(context, "获取数据中", "等待");
			getHtmlDate();

		}
	};

	private void getHtmlDate() {// 获取数据,把线程写入了其中
		new Thread() {
			public void run() {
				Message msg = myHandler.obtainMessage();
				try {
					html = HttpUtil.fromHtml(HttpUtil
							.getHtml("http://wap.sina.com"));
					msg.what = 0;
				} catch (Exception e) {
					e.printStackTrace();
					msg.what = 1;
				}

				myHandler.sendMessage(msg);
			}
		}.start();
	}

	Handler myHandler = new Handler() {

		public void handleMessage(Message msg) {
			switch (msg.what) {
			case 0:
				textView1.setText(html);
				progressDialog.dismiss();
				break;
			case 1:
				textView1.setText("当前无数据");
				progressDialog.dismiss();
				break;
			}
			super.handleMessage(msg);
		}
	};

}

分享到:
评论

相关推荐

    Winform DataGridView中利用WebClient异步加载显示网络地址的图片

    支持显示图片的一种列类型(Column Type),叫 DataGridViewImageColumn ,显示图片就是用这种列,但是这种列不支持网络地址,要显示网络上的图片,必须下载到本地,由于一个datagridview中显示的数据量可能比较大,...

    select2最好用的异步请求下拉搜索

    在写一个功能的时候需要根据司机查询车辆,后台数据动态追加到下拉框,因为车辆较多,所以需要用搜索,刚开始用了一种,但是跟打印功能冲突,后来找到了select2,这里有三个文件,一个js,一个css,还有一个用法说明,...

    nodejs实现bigpipe异步加载页面方案

    Facebook首创的一种减少HTTP请求的,首屏快速加载的的异步加载页面方案。是前端性能优化的一个方向。 BigPipe与AJAX的比较 AJAX主要是XMLHttpRequest,前端异步的向服务器请求,获取动态数据添加到网页上。这样的...

    Jquery zTree 树控件异步加载操作

    支持一次性静态生成 和 Ajax 异步加载 两种方式 支持多种事件响应及反馈 支持 Tree 的节点移动、编辑、删除 支持任意更换皮肤 / 个性化图标(依靠css) 支持极其灵活的 checkbox 或 radio 选择功能 简单的参数...

    jQuery模拟手机端下拉滚动加载内容.rar

    jQuery模拟手机端下拉滚动加载内,在手机上是手指向上滑动屏幕,会立即加载内容,实现了一种多数据分布的加载效果。因为是到才加载,也就是异步加载,因此并不会影响网页的加载速度,如果在电脑上测试,你需要使用...

    echarts+Servlet+mysql从数据库获取数据实现简单图表展示

    用Servlet实现的echarts展示两种不同形式图表的小demo,使用的开发工具是eclipse,数据库是mysql。文件中包含项目源码,对应的数据库,以及项目运行后实现的图表截图(含url)。项目本人亲测,可完美展示图表,若有...

    关于socket的基于TCP协议的异步通信系统--TongXing.DLL

    4:我这里把二种发送模式分开了,一种是发送文本的,一种是发送图片数据也就是直接字节集,收到也是一样 最后祝大家事业有成,如果有什么问题及时跟我交流,呵呵,一开始肯定问题不少。有什么建仪一定要告诉我哦,...

    asp.net下的异步加载

    第一种,直接通过AJAX去请求页面:例如, 1:dataType必须是html或者Text格式, 2:Type:必须是’Post’请求 3:后台Load事件必须判断是否为Post请求   后台代码如下: 测试结果如下:   第二种:类似于.net MVC...

    c#datagrid操作,解决datagridView加载慢.docx

    发现了datagridview直接绑定DataSource加载数据比较慢的问题,从网上找了很多资料,没有有效的解决方案,

    Ajax点击不断加载数据列表

    Ajax简介 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术...实现每一种功能都有各种各样的方法和思路,今天总结我的一个小小的加载功能。 加载很常见

    10万条数据采用存储过程分页实现(Mvc+Dapper+存储过程)源码

    有时候大数据量进行查询操作的时候,查询速度很大强度上可以影响用户体验,因此自己简单写了一个demo,简单总结记录一下: ...两外一种采用 ajax异步加载分页 采用比较常用的jquery.pagination 分页插件。

    python爬虫 - 期末考核课程设计天天基金网数据采集源代码

    1) 采用的第一种爬虫技术 6 2) 采用的第二种爬虫技术 6 5. 爬虫实现思路分析 6 1) 采用的第一种爬虫技术 7 2) 采用的第二种爬虫技术 9 6. 爬虫实现步骤 11 1) 采用的第一种爬虫技术 11 2) 采用的第二种爬虫技术 15 ...

    源代码+数据库文件.zip

    如今不管是企业用户,还是在校...使用IO、Ajax解决了AJax异步加载数据、文件读取,实现了多用户共享文件;使用Md5加密算法保证了数据的安全性。该面向企业的共享云盘系统解决了企业员工的远程文件存储与分享的问题。

    Ajax异步请求&Json数据格式配套学习资料

    Ajax(ASynchronous JavaScript And XML):是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术, Json(JavaScript Object Notation) :现在多用于存储和交换文本信息的语法;进行数据的传输,SON 比 XML 更小...

    Android代码-idleaf

    在第一个buffer使用完毕之后,切换到另一个buffer,需要去验证该buffer是否加载完成数据,然后进行切换(对于异步加载出了异常则同步加载数据,然后再切换,此时会产生发号的阻塞)。 使用示例 一种业务id使用方式 ...

    基于Qt的多线程流水线异步服务器稳定版

    (上一个版本“一种可伸缩的全异步C/S架构服务器实现”是有问题的,现在已经完成更改)。 服务由以下几个模块组成. 1、 网络传输模块。负责管理用于监听、传输的套接字,并控制数据流在不同线程中流动。数据收发由一定...

    jQuery Ajax 异步加载显示等待效果代码分享

    它并非一种新的技术,而是以下几种原有技术的结合体。 1) 使用CSS和XHTML来表示。 2) 使用DOM模型来交互和动态显示。 3) 使用XMLHttpRequest来和服务器进行异步通信。 4) 使用javascript来绑定和调用。 通过...

    select-madu:SelectMadu替代了select菜单,支持搜索,多项选择,异步数据加载等功能

    对于AJAX或任何异步操作,异步数据加载可作为一种重现承诺的功能。 动态更改数据。 选项作为组的多层嵌套。 安装 手动的 从以下任何链接下载或获取javascript文件和css文件 您也可以直接从的下载它 < head > ...

    用AJAX实现页面登陆以及注册用户名验证的简单实例

    AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 AJAX 是一种用于创建快速动态网页的技术。其核心是 JavaScript 对象 XMLHttpRequest。该对象在 ...

    论文研究-高程与影像的动态匹配研究与实现.pdf

    该方法通过一系列的坐标变换以及对数据块作相应处理, 实现多种影像与高程数据的准确匹配, 提出一种新型数据加载机制(子承父高法), 解决了在相邻块暂无精细高程数据, 而周围场景使用较为粗糙的高程数据时出现的陡峭...

Global site tag (gtag.js) - Google Analytics