摘要:
1抽取Adapter 共性的方法2把getView方法里 和holder相关的逻辑 摘取到Holder代码中3把Holder 相关的代码 抽取到BaseHolder中4把adapter 中getVIew 方法 抽取到了DefaultAdpater中, 其中每个子类getView方法中holder不太... 阅读全文
摘要:
SubjectProtocolpublic class SubjectProtocol extends BaseProtocol>{ @Override public List paserJson(String json) { List subjectInfos=new ArrayList(); ... 阅读全文
摘要:
HomeProtocolpublic class HomeProtocol extends BaseProtocol>{ // 1 把整个json文件写到一个本地文件中 ** // 2 把每条数据都摘出来存到数据库中 // 见到大括号 就用JsonObject ,见到中括号就是JsonArray public List paserJson(String json) { List appI... 阅读全文
摘要:
操作步骤都是:加载本地数据——如果没有请求服务器——服务器请求完保存数据——本地数据有了或者保存完数据了去解析数据FileUtils public class FileUtils { public static final String CACHE = "cache"; public static final String ICON = "icon"; public static final St... 阅读全文
摘要:
简单框架的搭建主要就是泛型T和抽象类(让子类去实现)的运用抽取3中的代码,加载界面逻辑是一样的分别抽取到 BaseFragment和 LoadingPage中。自定义布局如果不在布局写,那就直接new就可以LoadingPage是自定义的帧布局public abstract class LoadingPage extends FrameLayout { public static final in... 阅读全文
摘要:
由于不需要每次处理复杂逻辑耗时操作,比如加载网络并不需要都开启一个新的线程,可以用线程池处理,把线程存起来,用的时候在取出来,在ondestory里去销毁线程,这样就会节省内存线程池的原理(看看就行):public class ThreadPool { int maxCount = 3; AtomicInteger count =new AtomicInteger(0);// 当前开的线程数 c... 阅读全文
摘要:
1. 四种界面: 加载中, 加载错误,加载为空 ,加载成功2. 根据不同的状态去切换界面HomeFragment public class HomeFragment extends Fragment { public static final int STATE_UNKOWN = 0; public static final int STATE_LOADING = 1; public stat... 阅读全文