java超简单的android安卓回调函数的小范例理解

原创 2015年07月09日 23:16:41

     首先要申明回调的概念不是安卓的,而是java的,所以当你卡在安卓的回调函数理解上的时候,不妨先看完这篇文章,也许会给你一些启示。

 

     在理解回调前,在网上找了很多很多的安卓回调的案例,但是都理解不了,我怀疑我的理解能力有问题,但相信比我聪明的你能够得到你想要的知识。

 

     首先,我们要理解,为什么要用回调?回调有什么好处?回调主要是能给代码解耦,增加代码的重用性,那让我们一起来看看这段代码。

 

     一开始,我把代码全部写在一个名为Test的java文件里,跟回调无关,代码很简单。直接看:

 

public class Test {

//正常程序流程,第三步要实现的方法不会写,先调出去给别人写

public static void paint(MyPaint f){

System.out.println("第一步");

System.out.println("第二步");

System.out.println("第三步不会写");

f.mypaint();  //这里相当于一个钩子,你main方法里调用哪个类,这里就实现什么方法,调用第一个类就实现第一个类中重写的方法,调用第二个类就实现第二个类中重写的方法,很好的保障了代码的重用性。

System.out.println("第四步");

}

 

public static void main(String[] args){

paint(new Test1Paint());

paint(new Test2Paint());

}

}

//定义一个接口,在接口里定义一个方法,所有实现这个接口的类都要重写接口中的方法

public interface MyPaint {

public void mypaint();

}

//第一个实现了接口里的方法并重写

class Test1Paint implements MyPaint{

public void mypaint() {

System.out.println("Test---1---Paint的方法");

}

}

//第二个实现了接口里的方法并重写

class Test2Paint implements MyPaint{

public void mypaint() {

System.out.println("Test---2---Paint的方法");

}

}

 

 

 

 

接下来要完成的是将这些代码解耦:

思路,1、接口与实现接口的类可以放在一个java文件中,2、程序正常流程放在一个java文件中,3、main方法放在一个文件中,因此,我的最终代码是这样:


第一个文件:Test.java


<span style="font-size:14px;">package com.tuzhi.www;

 

public class Test {

public static void main(String[] args){

TestPaint test=new TestPaint();

test.paint(new Test1Paint());

test.paint(new Test2Paint());

}

}</span>


 

第二个文件:MyPaint.java


<span style="font-size:14px;">package com.tuzhi.www;

 

public interface MyPaint {

public void mypaint();

}

 

class Test1Paint implements MyPaint{

public void mypaint() {

System.out.println("Test---1---Paint的方法");

}

}

 

class Test2Paint implements MyPaint{

public void mypaint() {

System.out.println("Test---2---Paint的方法");

}

}</span>


 

第三个文件:TestPaint


<span style="font-size:14px;">package com.tuzhi.www;

 

public class TestPaint {

public void paint(MyPaint f){

System.out.println("第一步");

System.out.println("第二步");

System.out.println("第三步不会写");

f.mypaint();

System.out.println("第四步");

}

}</span>


 

当然,我是小白,大家觉得哪里讲得不对的地方,欢迎指正,共同进步!

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

安卓回调函数解决不同类之间函数调用和数据通信的问题

安卓编程回调函数演示和简单使用回调函数进行数据传递。

用谷歌的AsyncHttpClient简单模仿安卓的AsyncHttpClient,实现异步请求回调函数返回值

AsyncHttpClient解决异步问题之前的版本 AsyncHttpClient异步请求工具箱/简单使用(异步的同步支持)实现思路 既然要调用Future.get() 才能激发访问,那么就想...

Android/Java回调函数其实很简单

“我有一个需求是,,,” “用回调函数实现,,,” 卧槽,什么是回调函数?卧槽,我也不知道要怎么说,回调函数的定义解释起来,只会让初学者越来越懵,所以我们就从“应用场景”入手结合代码理解。 很多时候...

安卓回调机制浅解

最近在搞项目中的接口回调,整理了一下自己对于接口的理解,并参考了安卓中回调的一些源码,顺便把自己的想法写到博客里。浅解1.先从错误的案例开始private List queryfirstdata() ...

安卓回调详细解析

以前对于这个机制理解不够深刻,现在重新整理下思路。 一、建模 我理解的接口回调就是,我这个类实现了一个接口里的方法doSomething,然后注册到你这里,然后我就去做别的事情去了,你在某...

Android 回调函数的理解,实用简单

作者: 夏至,欢饮转载,也请保留这段申明一般我们在不同的应用传递数据,比较方便的是用广播和回调函数,当然还有其他方式,这里学学回调函数的使用; 什么是回调函数呢?在C/C++中,因为我们有指针这个东...

Android回调函数demo

  • 2015-12-08 22:47
  • 1.40MB
  • 下载

EasyDarwin安卓直播之EasyPusher NDK开发:JNI回调函数的实现

最近在做开发时涉及到JNI回调,今日便研究了一下,这个跟调用Java层的代码不同,这个是直接通过setCallback的方式去做的。做此记录:先看一下加载so库的代码,我就直接在Activity中使用...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)