一个Demo带你了解Android接口回调机制
前言
开发中,接口回调是我们经常用到的。
接口回调的意思即,注册之后并不立马执行,而在某个时机触发执行。
举个例子:
A有一个问题不会,他去问B,B暂时处理不出来,B说,等我(B)处理了再告诉你(A)此时A可以继续先做别的事情。
那么就只有当B处理完问题后告诉A问题处理了,A才可以能处理这个问题。
代码中比方最常用的:
一个Activity中给按钮一个接口回调方法,只有客户点击了这个按钮,告诉按钮被点击了,才会执行按钮接口回调的方法
Button btn = new Button(this); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { } });
那么下面通过一个Demo了解接口回调:
主线程开启一个异步任务,当异步任务接收到数据,则把数据用TextView显示出来
1、首先 我们需要定义一个接口,定义一个方法,参数为一个字符串:
package com.xqx.InterfaceDemo; public interface ChangeTitle { void onChangeTitle(String title); }
2、写一个异步任务,把接口作为构造方法参数,在doInBackground()方法中判断假如有数据,则接口回调
package com.xqx.InterfaceDemo;import android.content.Context;import android.os.AsyncTask;public class MyTask extends AsyncTask<String,Void,String>{ private ChangeTitle changeTitle; public MyTask(ChangeTitle changeTitle) { this.changeTitle = changeTitle; } @Override protected String doInBackground(String... strings) { if (strings[0]!=null){ changeTitle.onChangeTitle(strings[0]); } return null; }}
3、主Activity,给异步任务参数传this,即 接口回调方法在此类中执行,那么就需要实现ChangeTitle接口,重写接口中 onChangeTitle 方法
package com.xqx.InterfaceDemo;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.TextView;public class MainActivity extends Activity implements ChangeTitle { private TextView textView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); textView = (TextView) findViewById(R.id.textView); new MyTask(this).execute("我是标题"); } // 重写接口方法,执行相应操作 @Override public void onChangeTitle(String title) { textView.setText(title); }}
附录
Android高级技术大纲,以及系统进阶视频;
Android高级技术大纲
Android进阶系统资料视频
获取方式;
加Android进阶群;701740775。就可前往免费领取。免费备注一下简书
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 一个Demo带你了解Android接口回调机制
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 一个Demo带你了解Android接口回调机制