Android项目重构
2016-06-30 10:38
393 查看
废话不多说,直入主题
·1.为Activity 定义新的生命周期
于是我们定义一个BaseActivity 重写onCreate 方法
对点击事件我们有些人喜欢在Activity 上直接实现
其实这种方法并不好,
1switch 放入的是 整型或字符型变量
2直接在控件上增加点击事件是面向对象的写法,可以将onclick 的实现封装到另一个方法里,这样方法就不onclick方法就不会显得很臃肿.
Adapter 要添加Holder 可以避免频繁的创建同一个列表项,从而极大地节省内存
数据类型的转换不正确导致崩溃占了很大的比例
我们可以将数据转换函数做好判断封装到util 类中。
·1.为Activity 定义新的生命周期
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Log.i("NowActivity is", getClass().getName()); setContentView(R.layout.test_layout); result = (TextView) findViewById(R.id.result); }经常我们在写Activity 的时候onCreate 做的事情太多了, 初始化变量,点击事件有时候还调用MobileAPI获取数据。
于是我们定义一个BaseActivity 重写onCreate 方法
public abstract class BaseActivity extends Activity { protected SumpayPlugWeb<PaymentParam> web; protected TextView result; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Log.i("NowActivity is", getClass().getName()); initVariables(); initWidget(); loadDate(); } public void onClick(View v) { } protected abstract void initWidget(); protected abstract void loadDate(); protected abstract void initVariables(); }重写Activity 让所有的Activity集成BaseActivity
@Override protected void initWidget() { setContentView(R.layout.test_layout); result = (TextView) findViewById(R.id.result); } @Override protected void loadDate() { } @Override protected void initVariables() { }对Activity 生命周期重新定义是借鉴了javaScript 的做法。
对点击事件我们有些人喜欢在Activity 上直接实现
OnClickListener
@Override public void onClick(View v) { switch (v.getId()) { case R.id.backBtn: break; default: break; } }
其实这种方法并不好,
1switch 放入的是 整型或字符型变量
2直接在控件上增加点击事件是面向对象的写法,可以将onclick 的实现封装到另一个方法里,这样方法就不onclick方法就不会显得很臃肿.
btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub moth(); } }); private void moth(){ }网络获取的json数据不要使用JsonObject 和JsonArray 解析,要使用fastJson 和Gson解析。
Adapter 要添加Holder 可以避免频繁的创建同一个列表项,从而极大地节省内存
数据类型的转换不正确导致崩溃占了很大的比例
我们可以将数据转换函数做好判断封装到util 类中。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories