1.在要调用的业务操作中,创建一个接口,在接口中创建方法,这个方法表示的是我们原先要在业务类中执行的操作

public interface BackUpSmsListener {
	/**
	 * 设置总进度
	 *
	 * @param max
	 */
	public void max(int max);

	/**
	 * 设置当前进度
	 *
	 * @param progress
	 */
	public void progress(int progress);
}

2.将接口以参数的形式传递给业务方法,并在业务方法中,执行接口中的方法,将获取的值设置到接口方法中

public static void getAllSMS(Context context,BackUpSmsListener listener){

	listener.max(count);

	listener.progress(progress);

}

3.在activity中调用业务方法,创建一个接口,并实现接口中的方法,同时在接口的方法中就可以获取我们想要的数据

new Thread(){
	public void run() {
		SmsEngine.getAllSMS(getApplicationContext(),new BackUpSmsListener() {

			@Override
			public void progress(int progress) {
				//progressDialog.setProgress(progress);
				pb_atool_sms.setProgress(progress);
			}

			@Override
			public void max(int max) {
				//progressDialog.setMax(max);
				pb_atool_sms.setMax(max);
			}
		});
		//progressDialog.dismiss();
	};
}.start();

android中回调函数机制完全解析的更多相关文章

  1. 转: Android中的签名机制

    转载请注明出处:http://www.blogjava.net/zh-weir/archive/2011/07/19/354663.html Android APK 签名比对 发布过Android应用 ...

  2. Android中的三种XML解析方式

    在Android中提供了三种解析XML的方式:SAX(Simple API XML),DOM(Document Objrect Model),以及Android推荐的Pull解析方式.下面就对三种解析 ...

  3. 探索Android中的Parcel机制(上)

    一.先从Serialize说起 我们都知道JAVA中的Serialize机制,译成串行化.序列化……,其作用是能将数据对象存入字节流其中,在须要时又一次生成对象.主要应用是利用外部存储设备保存对象状态 ...

  4. 重温Android中的消息机制

    引入: 提到Android中的消息机制,大家应该都不陌生,我们在开发中不可避免的要和它打交道.从我们开发的角度来看,Handler是Android消息机制的上层接口.我们在平时的开发中只需要和Hand ...

  5. Android中的Parcel机制(上)

    一.先从Serialize说起 我们都知道JAVA中的Serialize机制,译成串行化.序列化--,其作用是能将数据对象存入字节流当中,在需要时重新生成对象.主要应用是利用外部存储设备保存对象状态, ...

  6. $.getJSON('url',function(data){}) 中回调函数不执行

    $.getJSON('url',function(data){}) 中回调函数不执行 url 中的 json 格式不正确 ,浏览器返回并没有报错 {'湖北':[114.11438,30.849429] ...

  7. 浅析Android中的消息机制(转)

    原博客地址:http://blog.csdn.net/liuhe688/article/details/6407225 在分析Android消息机制之前,我们先来看一段代码: public class ...

  8. 浅析Android中的消息机制(转)

    在分析Android消息机制之前,我们先来看一段代码: public class MainActivity extends Activity implements View.OnClickListen ...

  9. C++中回调函数(CallBack)的使用

    如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过. 其错误是普通的C++成员函数都隐含了一个传递函数作为参数,亦即“this”指针,C++通过传递this指针给其成员函数从而 ...

随机推荐

  1. Git本地提交到远程指定分支

    git push origin master:ziranmeng2.(本地分支:远程分支)

  2. Mbps、Kbps、bps、MB、KB

    1:运营商带宽衡量单位: Mbps:百万位每秒 kbps:千位每秒 bps:位每秒 b:bit,比特 1Mbps=1000kbps=1,000,000bps 这些单位通常用来表示每秒传输的二进制位 2 ...

  3. switch(){}default后是有冒号的

    switch: function a(c,d){ switch(c+d){ : console.log(); break; : console.log(); break; : console.log( ...

  4. 笔试常考的Java基础

    1. Socket编程:ServerSocket (int port) :Creates a server socket, bound to the specified port. Socket(In ...

  5. linux下wps,系统缺失字体:wingdings、wingdings 2、wingdings3

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAArcAAACdCAIAAAAhV8dZAAAgAElEQVR4nOzdd1wT9/8H8OvXfjvtt8

  6. JS验证输入网址

    function CheckUrl(a) {    var falg = true;    var regstr = /^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- . ...

  7. Git 操作本地分支与远程分支

    1 查看本地分支 git branch 2 查看远程分支 git branch -a 3 新建远程分支 git checkout -b developr git push origin develop ...

  8. C# MVC ( 将控制器的实体类注册到视图 )

    (1)控制器  代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; usin ...

  9. Parquet与ORC:高性能列式存储格式(收藏)

    背景 随着大数据时代的到来,越来越多的数据流向了Hadoop生态圈,同时对于能够快速的从TB甚至PB级别的数据中获取有价值的数据对于一个产品和公司来说更加重要,在Hadoop生态圈的快速发展过程中,涌 ...

  10. IDL中的HRESULT值

    IDL中的HRESULT值