
首先,您以所有常见行为声明父类
public abstract class MyAbstractTask extends AsyncTask<String, String, String> { protected void someMethod() { //note that i change private to protected final RestAdapter restAdapter = new RestAdapter.Builder().setServer("http://10.0.2.2:8080").build(); final MyTaskService apiManager = restAdapter.create(MyTaskService.class); }}然后,您将其扩展到每个任务
public class MyTask extends MyAbstractTask { //your someMethod() is available from everywhere in your class}public class MyOtherTask extends MyAbstractTask { //your someMethod() is available from everywhere in your class}但是我不知道您在哪里使用restAdapter和apiManager,以及如果实际上每个任务需要创建一次,因为您可能可以在这些任务之外创建它。
如果在外部创建它们,然后需要在任务内部使用某些东西,那么牢记Dependency_injection模式也很好
。
另外,您应该避免在类中对值进行硬编码,例如
http://10.0.2.2:8080
您应该至少使用a
final static final String server="http://10.0.2.2:8080",然后再使用它,或者更好的是,在最内部的类中使用setter或构造函数,并从活动或主控制器中设置tha值。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)