标签:
先介绍代码技巧:
1.
public abstract class SuperClass implements SomeInterface
{
// This is the implementation of the interface method
// Note it‘s final so it can‘t be overridden
public final Object onCreate()
{
// Hence any logic right here always gets run
// INSERT LOGIC
return doOnCreate();
// If you wanted you could instead create a reference to the
// object returned from the subclass, and then do some
// post-processing logic here
}
protected abstract Object doOnCreate();
}
public class Concrete extends SuperClass
{
@Override
protected Object doOnCreate()
{
// Here‘s where the concrete class gets to actually do
// its onCreate() logic, but it can‘t stop the parent
// class‘ bit from running first
return "Hi";
}
}
以上的结构可以做到子类覆盖方法后,还是会调用默认的方法,而不用写super.method();
2. 经同事提示,可以参照ajax里的 beforeSend ,success ,complete ,error 四个流程,建立安卓异步任务的流程。于是我在activity里面设置了asynTaskBeforeSend,asynTaskComplete,放置共同要执行的代码。前者在开始task前弹出dialog,后者在baseActivity的 tasksuccess() 和 taskfail() 里面调用。 像同事这样,因为之前学过ajax,就把ajax的流程运用到app开发,学过jquery,就能熟练运用闭包, 是学习多门语言时的要点。
PS: 知道了有更好的结构,有时候也是一种痛苦,因为要重构就要改辣么多现有的代码。有时候也是考虑到要改的代码太多,放弃重构了。
标签:
原文地址:http://blog.csdn.net/u012319317/article/details/43792785