Android callback 回调方法复习

来源:互联网 发布:哪里找到淘宝达人 编辑:程序博客网 时间:2024/05/17 07:10

    一大早周末来加班,在写一个要用到回调业务的时候,发现自己写了后怎么也不对劲,好久没有写了,怎么忘记了!只好重新复习下,然后按照自己理解写个例子回顾:

1、先假装定义一个接口,里面放一个方法,是我准备要使用这个业务的唯一能够调用的方法(即,你调用这块业务就只能使用我给你的这个方法):

com.~~.~~;interface PrintString{    void getStr(String str);}

2、在另一个类里面做这个方法的具体实现(这个方法/接口里面定义的方法就是回调方法了):

com.~~.~~import android.util.Log;public class PrintStringImp{    public void printOutString(PrintString printString){        printString.getStr(you are right!);        Log.d("callback", "imple callback method");        }}

3、好了,1和2当中已经把定义和实现分离,并且胡乱的写好了,这下该找个地方试试这个回调是不是好用。新建了一个activity extents 管他什么Activity:
 
com.~~.~~;  import 什么bundle、util还有widget等;    public class MainActivity extends AppCompatActivity{      private TextView dis_callback;        @override       protect void onCreate(Bundle savedInstanceState){          super.OnCraete(savedInstanceState);          setContentView(R.layout.activity_main);          dis_callback = (TextView)findViewById(R.id.dis_callback);         //接下来就是开始调用了          new PrintStringImp().printOutString(new PrintString(){          @override          public void getStr(String str){          dis_callback.setText();          Log.d("callback", "callback succeed);         }     });  } 

    我觉得回调的目的主要是为了将实现和定义分离,并且通过引用的方式给接口里面的方法做具体业务实现(而通过接口暴露方法给需要使用这些业务的调用者),这就实现了需要使用这块业务的程序员调用的仅仅是分离且实现的那些方法,即回调方法。所以低耦合高内聚还安全。现在看似容易理解的东西,但是能够设计出这个流程的人的确是非常了不起啊!!!
    好了,终于结束了,别问为什么(以上插入的代码全是自己一个个敲上去的,不是复制上去的,丧心病狂的company为了怕你将GitHub上的代码搬离电脑,安装了加密软件还把复制和截图功能都屏蔽了),以后还怎么写渣blog呢?
    

0 0
原创粉丝点击