浅析基于Android的回调实现

本文介绍了Android开发中回调机制的应用,通过定义接口实现数据处理回调,简化Activity代码,提高可维护性。具体包括RequestCallBack和ModelCallBack接口的使用,以及ViewModel作为中间层处理网络请求的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

浅析基于Android的回调实现


  • 码农不容易请尊重劳动成果-转载请标明出处

  • 前言:相信很多人在实际开发当中都听到过回调一开始不知道什么是回调,心里就想这特么是啥!!
    通过这几天的学习我这个还在开发路上奋斗的小菜鸟对Android回调有了一点自己的小见解!可能理解的不是那么的深刻只是皮毛而已希望大家多批评指正!!
    好了废话不多说了我们来学习一下在Android开发当中运用回调机制。先看一下运行结果!

这是根据我自己的需求来写的,当然理解之后完全可以根据自己的需求来写回调

  • 我先说一下我的需求,我有三个类 Acativity(控制器) ViewModel (发送网络请求和处理回调数据)
    NetRequest(这个就是网络层了)
    在以往的开发历程当中我们大部分的代码都是写在Activity里面,Activity里面的代码看着就比较臃肿部容易维护为了Activity里面的代码更简洁我们通过回调使我们Activity里的代码简洁明了。
    首先呢 我们需要定义两个接口用于回调处理数据

  • 这个就是网络层回调的接口咯。。

public interface RequestCallBack {

    void getNetJsonData(Object obj);
}
  • 这个就是ViewModel层的接口回调了 看名字就能知道什么意思了吧
public interface ModelCallBack {

    void getNetData(Object obj);
}
  • 接口我们定义完了下面我们来看看具体的实现

这里是我们的Activity
我们要在这里触发事件哦, 通过实例化ViewModel来注册ViewModel的回调并实现回调接口里的方法

这个就是我的vm层了
这个是个重点哦 vm充当了Activity 和 NetRequest 之间的桥梁 所有请求和返回数据都要通过他,所以这里主要就是发送网络请求并处理回调回来的数据的,这个 setViewMoldeCallBack 就是我们暴露给外面调用的方法,再这里面我们同样要给网络层注册一个回调也就是看到的 new NetRequest().setNetRequestCallBack(ViewModel.this); 这一句话通过他实例化NetRequest对象来调用网络层暴露给外部的方法。

这就是我们的网络层了
这里就比较简单了只需要提供对外的方法,还可以自己在写一个单独的方法来处理网络请求通过callBack回调给vm。

总结:这就是我个人基于Android回调的个人见解,简单的流程就是 控制器 — ViewModel — NetRequest,通过回调接口在依次回调回去,这只是我个人的一点小见解希望能帮助到一些同行的朋友,可定还有许多别的更简洁 更方便的实现方法 写的不好希望各位大神们看到轻点喷我多多批评指正,看到的牛哥要是有更好好的实现方式 一定要给多给意见学习一下!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值