MARS老师说,见到重复代码就要想方设法去掉它!我也常常是这样想的,但水平有限,常常有心无力啊。。这次可能是第一次实现。
如图,services包里有两个用到Upload函数的类,以前的话我是直接把Upload函数复制到这两个类里面,实现了就行了嘛。这次决定把这个方法提出来,封装到UploadUtils.java里面。
//原本是这样的: public void uploadFile() { String srcPath = Environment.getExternalStorageDirectory().getPath()+ "/" + “a.txt”; .... } uploadFile(); //这样调用是成功的(a.txt被上传了),uploadFIle()是无参函数, //把上面的代码改成有参函数: public void uploadFile(String tarFile) { String srcPath = Environment.getExternalStorageDirectory().getPath()+ "/"+ tarFile; .... } UploadUtils.uploadFile("a.txt");
在这个过程中,IDE还会提示你把UploadUtils中的uploadFile转换成static类型(『Cannot make a static reference to the non-static method』)。常常这个过程会陷入死循环,比如又要你把XX设成static,最后反正就是不行了。。这次还算顺利。