android开发中我们可以通过接口的回调来获取我们的数据。这里列举一个demo。例如我们查询sd卡中的图片。然后通过接口回调将数据传送到Activity或者Fragment中。
首先我们写一个类来执行图片扫描操作。
public class ImageScanner {
List
mCursor = new ArrayList<>();
InfoUtil infoUtil;//这个用来存储我们图片中的信息的bean。
public void scanImages(final ScanCompleteCallBack callBack) {
final Handler mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
callBack.scanComplete((ArrayList
) msg.obj);
}
};
new Thread(new Runnable() {
@Override
public void run() {
getImagePath();
Message msg = mHandler.obtainMessage();
msg.obj = mCursor;
mHandler.sendMessage(msg);
}
}).start();
}
public void getImagePath() {
//查询图片的过程略,我们为mCursor赋值了。
}
}
我们创建这个接口
public interface ScanCompleteCallBack{
void scanComplete(ArrayList
cursor);
}
然后我们通过接口的回到来取出数据
new ImageScaner.scanImages(new ScanCompleteCallBack() {
@Override
public void scanComplete(ArrayList
cursor) {
//这里的cursor就是我们刚刚取出的数据
}