通用代码

AsyncTask返回封装与数据缓存

public class DataStructure {
    public static final class StInfo {
        public boolean success;
        public T data;
        public int code;
        public String errMsg;

        public StInfo success(T data) {
            this.success = true;
            this.data = data;
            return this;
        }

        public StInfo fail(String reason) {
            return fail(reason, -1);
        }

        public StInfo fail(String reason, int code) {
            this.success = false;
            this.errMsg = reason;
            this.code = code;
            return this;
        }
     }

     public static final class MemoryCacheItem {
          public T data;
          public long cacheTime;

          public MemoryCacheItem cache(T data) {
              this.data = data;
              this.cacheTime = new Date().getTime();
              return this;
          }

          public boolean isExpired() {
              return data == null || new Date().getTime() - cacheTime >= 5 * 60 * 1000;
          }
    }
}

你可能感兴趣的:(通用代码)