1, 在使用baseAdapter的时候,总是有需要重复的代码如: @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } 2, 把这些重复的代码统统扔给父…
前言 :  开发安卓也已2年多了近3年了, 在自己刚入行的时候就有自己独立开发一个App的想法. 后来自己做了<<高考作文>>这一App. 后面续续断断的维护者. 也因为功能简单, 文章数量少. 安装量一天最高的也就100多, 平常少的时候也就几十个. 最近闲置在家, 遂有把这个app好好完善的想法. 这是当前版本的功能模块 1,单元作文: 包含了高中共6册每单元的作文, 看看其他人是怎么写的. 取长补短 2,满分作文: 精心按照高考年份进行分类,共1566篇,还在不断更新中...…
1, 定义统一的Dao接口 public interface IDao<T> { public abstract T getSingleById(int id); public abstract List<T> getAll(); public abstract boolean update(T video); public abstract int deleteByIds(Collection<Integer> ids); public abstract boolea…
1, 普通的http json请求 请看下面架构草图: 这样就抽象出了其他Activity可能需要的Http Json请求的功能. 只要其他Activity有Http Json请求的需求都可以继承BaseActivity. 这样就统一了该功能的请求模式, 而不必为每个Activity单独做这样的功能. 维护性也强. 2, API详解 : ①public void onPrepare() 在UI线程执行, 该方法主要是用来在任务执行前做的一些操作 : 如显示加载提示; 判断网络连接等. ②publ…
1, AsyncTask的不足. 从android4.0开始, 后台只允许一个AsyncTask执行, 如果当前的AsyncTask没有执行完毕, 那么当前的请求一直处于等待状态. 直到上一个执行完毕. 并且还不能停止上一个AsyncTask. 但是为了快速响应应用的请求, 我们需要多个任务并行执行. 2, 基于AsyncTask的源码 改写自己的AsyncTask. public abstract class AsyncTaskCustomize<Params, Result> { priv…
上一篇我们讲到了,  Http Json的功能的抽取. 如果我们请求的是一个列表的数据呢? 我们使用那个功能就不是很好. 因为一个列表, 还有很多其他功能(比如每个listView都需要setAdapter, notifyDataSetChanged等操作,但是我们没必要在每个Activity都去做这样的操作, 直接交给父类处理即可,子类只管发送请求就行了), 所以这样重新定义了一个类, 供列表类型的Activity使用(BaseListFragment) . 1, 列表类型的Activity功…
前两篇文章Android项目重构之路:架构篇和Android项目重构之路:界面篇已经讲了我的项目开始搭建时的架构设计和界面设计,这篇就讲讲具体怎么实现的,以实现最小化可用产品(MVP)的目标,用最简单的方式来搭建架构和实现代码. IDE采用Android Studio,Demo实现的功能为用户注册.登录和展示一个券列表,数据采用我们现有项目的测试数据,接口也是我们项目中的测试接口. 项目搭建 根据架构篇所讲的,将项目分为了四个层级:模型层.接口层.核心层.界面层.四个层级之间的关系如下图所示:…
学习Android平台的人一般对Android的平台的应该有点认识 其它的就不多讲了 Android项目一般由以下几个部分构成 以上是一个简单的Android项目结构目录图 1. src  主要是 源文件目录 放置业务逻辑代码以及相应的UI代码 2. gen 下面有个R.java文件夹 该文件是建立Android项目自动生成的  该文件是只读文件 不可以更改 里面有很多静态 类名字与res的中资源文件一一对应 一般有attr ,drawable id raw layout string xml…
前面几篇博文介绍了从项目搭建到获取网络字符串,对一个项目的前期整体工作进行了详细的介绍,本篇接着上篇介绍一下怎么样优雅将网络返回的json字符串轻松转换成listview列表. 先上图,看一下效果.                包括下拉刷新和上拉加载更多两个功能,怎样还算可以吧~,比起前几篇博文中的那一大片一大片的“乱码”看起来是不是舒服多了. 一.对界面面布局 1.Android默认的标题栏不太好看,咱们需要换成自己的.在AndroidManifest.xml文件中将APP主题设为NoTit…
本文的内容有别于之前文章中纯技术的探讨,会从业务逻辑.技术.团队和方法论的角度探讨如何快速高效地完成一个Android项目.当然,快速高效是有前提的,第一,本文依然是从研发的角度来谈如何把控项目的,而这种研发人正如陈皓在<技术人员的发展之路>中提到的,需要具备高效的学习能力和解决问题的能力.另外,快速需要保证质量,没有质量的速度是不负责任的. 一.业务逻辑 计算机科学的核心是通过数据结构和算法实现对现实世界的抽象,平台是会随着技术发展不断变迁的,只有数据本身所描述的这种抽象才是事物永恒的本质.…