Android开发之通过接口回调机制加载数据的简单实现,在实际开发中通过callback方法得到网络加载的数据的使用频率远比通过直接开启线程或异步任务加载数据的频率高的多,这篇文章的代码将简单实现该机智的调用,体会下callback的精髓。

MainActivity的代码

package com.example.f07_callback01;import com.example.f07_callback01.A.Callback;import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;public class MainActivity extends Activity {private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button=(Button)this.findViewById(R.id.button1);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubA getString=new A();//通过调用接口得到数据getString.loadString("", new Callback() {@Overridepublic void get(String result) {// TODO Auto-generated method stubLog.i("TAG", "-------->"+result);}});}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}

回调接口类的方法

package com.example.f07_callback01;public class A {//模拟从服务器端得到字符串public void loadString(String path,final Callback callback){new Thread(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubString msg="通过接口调用数据";callback.get(msg);}}).start();}public interface Callback{public void get(String result);}}

Android开发之通过接口回调机制加载数据(源代码分享)相关推荐

  1. android开发学习之路——连连看之加载图片(三)

    正如前面AbstractBoard类的代码中看到的,当程序需要创建N个Piece对象时,程序会直接调用ImageUtil的getPlayImages()方法去获取图片,该方法将会随机从res\ dra ...

  2. Android开发-自己动手写Bitmap高效加载 跟OOM说再见

    Bitmap 前言 BitmapFactory.Options BitmapFactory 高效加载Bitmap inDensity,inTargetDensity,inScaled inSample ...

  3. android开发之用阿里云OSS加载图片

    概要 阿里云对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量,安全,低成本,高可靠的云存储服务.用户可以通过调用API,在任何应用.任何时间.任何地点上传和 ...

  4. android开发文本字体包,AndroidStudio 实现加载字体资源的方法

    AndroidStudio 实现加载字体资源的方法 在android中字体的格式总是不能尽善尽美的显示出来 ,  于是要求我们使用一些有美感的字体,加载的方式(就像HTML的字体一样),我们需要通过加 ...

  5. Android开发之使用Handler封装下载图片工具类(源代码分享)

    如果每下载一张图片,就得重写一次Http协议,多线程的启动和handler的信息传递就显得太麻烦了,我们直接来封装一个工具类,便于我们以后在开发时随时可以调用. (1)在清单文件添加权限 <us ...

  6. Android开发之使用BroadcastReceiver实时监听电量(源代码分享)

    Android系统中实时的监听手机电量以及开机启动功能都是通过BroadcastReceiver组件实现的.我们可以动态注册这个类的一个实例通过Context.registerReceiver()方法 ...

  7. Android开发之使用Preferences设计软件设置界面(源代码分享)

    应用程序通常包括设置允许用户修改应用程序特性和行为.例如,一些应用程序允许用户指定通知是否启用或指定的频率与云应用程序同步数据. 如果你想为你的应用程序提供设置,您应该使用Android的偏好Pref ...

  8. Java 接口回调机制

    日常开发中接口回调机制无处不在,刚开始用时却总是晕晕乎乎,网上也有很多相关的文章介绍,但总是没有看得太明白,今天端午假期正好花时间来总结一下,我们按如下顺序介绍 一.什么是接口回调 在应用开发中,接口 ...

  9. android 点击接口回调,带你了解Android接口回调机制

    Android接口回调机制 接口回调是在Android中运用广泛的一种机制,你一定会眼熟它,接下来,我们从两个方面来了解接口回调 Android源码 自行动手实际运用 1.从setOnclickLis ...

最新文章

  1. LeetCode中等题之重排数字的最小值
  2. Scrum立会报告+燃尽图(十一月十五日总第二十三次):代码规范与技术交流
  3. Android工程师面试该怎么准备?终局之战
  4. 原始代理需要改进的地方
  5. Linux之Shell脚本入门
  6. python通过什么连接数据库_如何使用python连接数据库?
  7. 关于python变量_关于python变量练习题
  8. android 禁掉唤醒锁acquire()
  9. python 有道翻译,python 简单的调用有道翻译
  10. mysql io瓶颈_服务器IO瓶颈对MySQL性能的影响
  11. 【DB笔试面试1-100】
  12. 前端实例1——blog页面(css样式)
  13. 现代编程语言(3):zig
  14. 大数据架构师之路-大数据框架大全
  15. 蓝桥杯--历届真题 回文日期【第十一届】【省赛】【B组】
  16. 【图像加密】 Logistic混沌+Arnold置乱图像加密解密【含Matlab源码 1281期】
  17. Kali linux修改源文件
  18. 你要了解的USB接口知识总结
  19. MySQL数据库中时间戳及时间戳的格式转换
  20. The style on this component requires your app theme to be Theme解决

热门文章

  1. js轮播图代码_javascript基础(一)——轮播图
  2. android activity启动流程_1307页!一线大厂Android面试全套真题解析!
  3. javascript获取系统时间时区_5个JavaScript技巧让你成为更好的开发者
  4. java基础入门课后习题_《Java基础入门》课后习题及答案
  5. php 模板使用,在PHP中使用模板的方法
  6. linux查看python环境变量_Linux中的Python环境变量
  7. VMware卸载虚拟机
  8. 分区和分片的区别_数据库的分表、分库、分片和分区等区别
  9. lampp mysql 等待响应时间很长,XAMPP 最大执行时间(max_execution_time) 问题
  10. java reflectionutils_ReflectionUtils工具类-装载