一、前端(调用者)
//调用者通过 new一个接口,传给被调用者
ProgressDialog pd;
SmsUtils.backUp(getApplicationContext(), fos, new BackUpStatusListener() {
public void onBackUpProcess(int process) {
pd.setProgress(process); //通过接口获取数据
}
public void beforeBackup(int max) {
pd.setMax(max);
}
});
二、后端(被调用者)
//声明接口
public interface BackUpStatusListener{
void beforeBackup(int max);
void onBackUpProcess(int process);
}
public static void backUp(Context context,FileOutputStream fos,BackUpStatusListener listener) {
listener.beforeBackup(100); //通过接口,将数据暴漏给调用者
listener.onBackUpProcess(50);
}