1.在要调用的业务操作中,创建一个接口,在接口中创建方法,这个方法表示的是我们原先要在业务类中执行的操作
public interface BackUpSmsListener { /** * 设置总进度 * * @param max */ public void max(int max); /** * 设置当前进度 * * @param progress */ public void progress(int progress); }
2.将接口以参数的形式传递给业务方法,并在业务方法中,执行接口中的方法,将获取的值设置到接口方法中
public static void getAllSMS(Context context,BackUpSmsListener listener){ listener.max(count); listener.progress(progress); }
3.在activity中调用业务方法,创建一个接口,并实现接口中的方法,同时在接口的方法中就可以获取我们想要的数据
new Thread(){ public void run() { SmsEngine.getAllSMS(getApplicationContext(),new BackUpSmsListener() { @Override public void progress(int progress) { //progressDialog.setProgress(progress); pb_atool_sms.setProgress(progress); } @Override public void max(int max) { //progressDialog.setMax(max); pb_atool_sms.setMax(max); } }); //progressDialog.dismiss(); }; }.start();