android应用架构经验及代码规范

应用的更新

从服务器拿数据后要处理得到数据为空、解析错误、解析为空的情况,防止后台坏掉后进不去activity;
用友盟等平台更新不能阻塞式强制更新,万一友盟维护了,应用就进不去了。

命名规则

布局中id的命名:尽量保证不同布局xml文件中不要有相同的id命名,不然ctrl想点进去的时候,不知道该跳转到哪个文件,当注释掉该控件后代码仍不会报错,运行时无响应且log打印不出错误,建议以文件或功能名开头命名控件;
view控件的命名:从其他项目复制代码过来之后,先将view控件的命名改为自己习惯的命名,不然会大大增加阅读别人代码的难度;

代码分离

通过构造参数将view传递进asynctask进行操作,而不需要传递context,从而把asynctask分类出来
	public ProgramTask(TextView text) {
		this.text = text;
	}
    protected void onPostExecute(String result) {
//    	Log.d("===", "onPostExecute ====================>");
    	text.setText(result);
    }

    @Override
    protected void onPreExecute() {
        // 任务启动,可以在这里显示一个对话框,这里简单处理
    	text.setText("正在播出:");
    }
//
//    @Override
//    protected void onProgressUpdate(Integer... values) {
//        // 更新进度
//          System.out.println(""+values[0]);
//          message.setText(""+values[0]);
//          pdialog.setProgress(values[0]);
//    }

布局文件的简化

相同的布局属性通过style提取出来

            <ImageView
                style="@style/home_btn_img"
                android:src="@drawable/homeimg_01" />
放到styles.xml中

<style name="home_btn_style">
        <item name="android:layout_width">0dp</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:layout_weight">1</item>
        <item name="android:onClick">onClick</item>
        <item name="android:gravity">center</item>
        <item name="android:layout_margin">8dp</item>
        <item name="android:orientation">vertical</item>
    </style>


源码嫁接维护

分析别人的代码时,分析出一点,为一点代码抽出模块,并为变量更名为自己的习惯,并尽可能详细的添加注释,不然第二次看的时候又要重头分析,包括class类的功能说明,函数功能说明,参数说明,应用application中书写启动流程过程说明,布局文件中布局块功能说明


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值