Android项目重构

废话不多说,直入主题

·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 类中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值