返回顶部
首页 > 资讯 > 移动开发 >详解Android中接口回调、方法回调
  • 229
分享到

详解Android中接口回调、方法回调

方法回调接口Android 2022-06-06 04:06:10 229人浏览 安东尼
摘要

在Android开发中我们很多地方都用到了方法的回调,回调就是把方法的定义和功能导入实现分开的一种机制,目的是为了解耦他的本质是基于观察者设计模式,即观察者设计模式的的简化版,

Android开发中我们很多地方都用到了方法的回调,回调就是把方法的定义和功能导入实现分开的一种机制,目的是为了解耦他的本质是基于观察者设计模式,即观察者设计模式的的简化版,例如:在下载时候的进度回调,在adapter与activity之间的回调,在javabean和fragment以及fragment之间的回调等等,回调的目的主要有两个:其一是传递数据,其二是保持数据的同步更新。常用的有两种形式,一是使用内部类的形式,得到接口的子类对象,另一种是直接实现定义的接口。

一、内部类的形式

1、在需要传递数据的一端定义一个接口,接口里面些需要监听的方法以及参数。

2、定义一个的接口类型的变量存储数据。

3、创建一个公共的方法,让外部调用,并且传递接口类型的参数,给其定义的接口类型的数据初始化。


 
public interface  onListener{ 
  void OnListener(String code,String msg); 
} 
 
private onListener listener;  
 
public void setListener( onListener listener){ 
  this.listener = listener; 
} 

4、在合适的位置调用接口里面的方法,传递数据。


 
if (listener!=null) { 
  listener.OnListener(rtncode,rtnmsg); 
} 

5、在需要获取数据的地方,创建对象调方法。


Print print = new Print(); 
print.setListener(new PrintTicket.onListener() { 
  @Override 
  public void OnListener(String code, String msg) { 
    //在这里获取数据进行处理 
  } 
}); 

二、实现接口的形式

1、定义一个接口,可以另起包名,或者定义在类里面。


 
public interface  onListener{ 
  void OnListener(String code,String msg); 
} 

2、在需要传递数据的一端的构造方法对接口进行初始化。


public Print(OnListener listener) { 
  this.listener = listener; 
} 

3、在合适的位置调用接口里面的方法,传递数据。


 
if (listener!=null) { 
  listener.OnListener(rtncode,rtnmsg); 
} 

4、在需要获取数据的地方创建对象传递参数。

Print print = new Print(this);  

这里面的this代指的是当前页面的activity,如果是fragment的话,需要重写onAttach方法对其进行初始化,强制类型转换后获取接口对象。此时在构造方法里面传递接口得数据listener,如下二选一。


@Override 
public void onAttach(Activity activity) { 
  super.onAttach(activity); 
  OnListener listener = (OnListener) activity; 
} 
@Override 
public void onAttach(Context context) { 
  OnListener listener = (OnListener) activity; 
} 

注意:直接在fragment里面进行获取当前fragment所在的activity,调用getActivity进行强转或者直接传递会报错。报的错误为类型转换错误。

5、让activity实现此接口,重写其抽象方法,在抽象法里面处理任务。


@Override 
public void OnListener(String rtncode, String rtnmsg) { 
  //在这里获取数据进行处理 
} 

以上两个回调方法适用于两个类之间的数据传递,现在来看看三个类之间的数据传递,javabean——>activity——>fragment之间的数据传递。需求:在javabean中获取数据,当点击fragment按钮时候,要求显示获取的数据进行相关业务处理。步骤如下:

1、新建一个包,定义一个接口,定义相关方法。

2、在javabean的构造方法中对接口进行初始化,并在适当的位置调用一下接口中的方法。

3、在fragment中重写onAttach,对接口进行初始化,强转为接口类型。

4、创建对象,传递参数为3中强转的接口类型。

5、让acitivity实现接口,重写抽象方法,在方法中进行数据的处理。

具体代码就省略了……

您可能感兴趣的文章:详细介绍Android中回调函数机制Android中回调接口的使用介绍Android的Fragment的生命周期各状态和回调函数使用理解Android中Activity的方法回调android自定义控件和自定义回调函数步骤示例深入浅析Android接口回调机制Android观察者模式实例分析android开发中使用java观察者模式Android源码学习之观察者模式应用及优点介绍Android回调与观察者模式的实现原理


--结束END--

本文标题: 详解Android中接口回调、方法回调

本文链接: https://lsjlt.com/news/22681.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 详解Android中接口回调、方法回调
    在Android开发中我们很多地方都用到了方法的回调,回调就是把方法的定义和功能导入实现分开的一种机制,目的是为了解耦他的本质是基于观察者设计模式,即观察者设计模式的的简化版,...
    99+
    2022-06-06
    方法 回调 接口 Android
  • 基于Java接口回调详解
    目录Java接口回调产生接口回调的场景什么是接口回调在代码中的使用Java接口回调测试接口类实现类回调实现测试Java接口回调 产生接口回调的场景 在现实生活中,产生接口回调的场景很...
    99+
    2024-04-02
  • Java接口回调的本质详解
    本质是JVM指令invokevirtual它涉及到了多态的特性,使用 virtual dispatch 做方法调用 virtual dispatch 机制会首先从 receiver(...
    99+
    2024-04-02
  • 详解JNA中的回调方法
    目录简介JNA 中的 Callbackcallback 的应用callback 的定义callback 的获取和应用在多线程环境中使用 callback总结简介 什么是 callba...
    99+
    2024-04-02
  • 理解Android中Activity的方法回调
    为什么需要方法回调? 方法回调是功能定义和功能分离的一种手段,是一种松耦合的设计思想。在JAVA中回调是通过接口来实现的。作为一种系统架构,必须要有自己的运行环境,并且要提供用...
    99+
    2022-06-06
    方法 回调 activity Android
  • Android中回调接口的使用介绍
    MainActivity如下: 代码如下: package cn.testcallback; import android.os.Bundle; import android...
    99+
    2022-06-06
    回调 接口 Android
  • 深入理解Android之接口回调机制
    刚开始学对于这个机制理解不够深刻,现在重新整理下思路。开发中,接口回调是我们经常用到的。 接口回调的意思即,注册之后并不立马执行,而在某个时机触发执行。 首先解决啥是回调: ...
    99+
    2022-06-06
    回调 接口 Android
  • Android 的回调事件详解
    看见网上一些回调的解释都很复杂的,特别基于Android的自定义回调,感觉一头雾水,于是乎,我也写了这篇基于我对回调的解释。 先来看一个简单的例子: 有两个类 ClassA ,...
    99+
    2022-06-06
    回调 事件 Android
  • unity桥接调用Android方法及回调完整流程
    1、桥接初接触 作为一个完整的游戏,在unity开发完成后,需要接入SDK。SDK就是手游渠道(如应用宝、小米应用商店、华为应用商店等)提供的集成了账号注册登录、充值、防沉迷、游戏公告、分享、社区入口、push消息、数据上报、礼包或折扣券等...
    99+
    2023-08-25
    unity android 游戏引擎
  • 深入浅析Android接口回调机制
    在使用接口回调的时候发现了一个经常犯的错误,就是回调函数里面的实现有可能是用多线程或者是异步任务去做的,这就会导致我们期望函数回调完毕去返回一个主函数的结果,实际发现是行不通的...
    99+
    2022-06-06
    回调 android接口回调 Android
  • golang接口异步回调的方法是什么
    在Go语言中,可以使用Goroutine和通道来实现异步回调。首先,定义一个接口类型,并在接口中声明回调方法。例如:gotype C...
    99+
    2023-10-20
    golang
  • Java项目中进行接口回调方法有哪些
    Java项目中进行接口回调方法有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,...
    99+
    2023-05-31
    java ava 目中
  • Android中bindservice回调的方法是什么
    在Android中,使用bindService()方法绑定服务时,可以通过ServiceConnection对象来监听服务的连接状态...
    99+
    2024-02-29
    Android
  • Android 回调详解及简单实例
    Android  回调 前言: Android中的回调最经典的就是点击事件设置监听(一般通过switch(v.getId()))这里写个最基本的 btn_rigi...
    99+
    2022-06-06
    回调 Android
  • C#调用C++动态库接口函数和回调函数方法
    目录1. 前言2. 普通接口函数调用示例2.1 C++端编写接口2.2 C#端调用3. 回调函数调用示例3.1 C++端编写接口3.2 C#端调用1. 前言 需求: 当前C已经写好了...
    99+
    2024-04-02
  • Android onLoadFinished与onLoaderReset回调详解及实例
    Android onLoadFinished与onLoaderReset回调详解及实例 onLoadFinished 这个方法是在前面已创建的加载器已经完成其加载过程后被调用,...
    99+
    2022-06-06
    Android
  • Java中使用同步回调和异步回调的示例详解
    目录(一)同步回调(1)匿名内部类回调(2)Lambda 回调(二)异步回调(1)简单的线程回调(2)异步并行回调(3)CompletableFuture 回调小结完整代码(一)同步...
    99+
    2023-05-16
    java同步回调 java异步回调 java异步和同步回调
  • python 回调函数和回调方法的实现分析
    回调与事件驱动 回调函数有比较重要的意义:它在是事件驱动的体现 我们试想一个场景,如果我们触发了某个事件,比如点击事件 那么只要给这个点击事件绑定一个或多个处理事件,也就是回调函数 我们就可以在点击事件被触...
    99+
    2022-06-04
    回调 函数 方法
  • 异步回调--BeginInvoke方法
    BeginInvoke方法是用于异步调用委托的一种方式。它是在.NET Framework中定义的委托的一个方法,用于在另一个线程上...
    99+
    2023-09-28
    异步回调
  • 如何在java项目中实现接口回调
    这篇文章将为大家详细讲解有关如何在java项目中实现接口回调,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。java 接口回调实例详解首先官方对接口回调的定义是这样的,所谓回调:就是A类中调用...
    99+
    2023-05-31
    java 接口回调 ava
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作