android 框架搭建养成的良好习惯(一)

第一次搭建大的框架,简单吧一些简单的东西记录下。。。

首先应该养成良好的代码习惯。

1.关于log日志的管理,log日志是很危险的东西,你在你不经意间遗漏出一个重要的日志,可能会给你以后造成很大的危险,当然了 很多人说就我做这小项目,有什么危险,谁会攻击或者看我的项目,别这么说习惯是从小养成的。认真是一种态度,养成良好的习惯是一个不错的。。

管理log的工具类

package com.frontnetwork.ftms.utils;

import android.util.Log;
/**
 * 
 * @author Jansin Miao 2013年4月8日
 * 开发阶段将下面LOG_LEVEL 设置为6这样所有的log都能显示,
 * 在发布的时候我们将LOG_LEVEL 设置为0.这样log就非常方便管理了
 *
 */
public class HLog {
	 public static int LOG_LEVEL = 6;
	 public static int ERROR = 1;
	 public static int WARN = 2;
	 public static int INFO = 3;
	 public static int DEBUG = 4;
	 public static int VERBOS = 5;
	 
	 
	 public static void e(String tag,String msg){
	  if(LOG_LEVEL>ERROR)
	  Log.e(tag, msg);
	 }
	 
	 public static void w(String tag,String msg){
	  if(LOG_LEVEL>WARN)
	  Log.w(tag, msg);
	 }
	 public static void i(String tag,String msg){
	  if(LOG_LEVEL>INFO)
	  Log.i(tag, msg);
	 }
	 public static void d(String tag,String msg){
	  if(LOG_LEVEL>DEBUG)
	  Log.d(tag, msg);
	 }
	 public static void v(String tag,String msg){
	  if(LOG_LEVEL>VERBOS)
	  Log.v(tag, msg);
	 }
}

2. 为了便于调试,所有类都定义TAG。并在所有方法(或者关键步骤开始)进行日志的记录。

class TestService extends SuperClass{ 
    private static final String TAG = "text.TestService"; 
    // some code... 
    private void method1(){ 
        Log.i(TAG,"method1"); 
        // some code... 
    } 
} 

3.创建BaseActivity

package com.frontnetwork.ftms.act;

import com.frontnetwork.ftms.R;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;

/**
 * 
 * @author jansin
 *
 */
public abstract class BaseActivity extends Activity implements OnClickListener{

	private ViewGroup titlebarView,contentView;
	private LayoutInflater intlater;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_base);
		titlebarView = (ViewGroup) this.findViewById(R.id.base_titlebar);
		contentView= (ViewGroup) this.findViewById(R.id.base_content);
		intlater = LayoutInflater.from(this);
		
	}
	
	//设置titlebar
	public void setTitleBar(int resource){
		
		titlebarView.addView(intlater.inflate(resource, null));

	}
	
       //设置布局
	public void setContent(int resource){
		
		contentView.addView(intlater.inflate(resource, null));
		
	}
	
	//设置titlebar是否可见
	public void setTitleBarVisible(int visible){
		titlebarView.setVisibility(visible);
	}
	
	//加载控件
	protected abstract void initComponent(); 
	
	//控件的点击事件
	protected abstract void registerListener();
	
	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub

	}

其中title 一般都不用android自带的,很多都自己定义,此时我到了自定义的titlebar所以我在baseactivity中定义2个属性,一是titlebar的可见性,有的需要去掉titlebar 定义一个开关,在子类中可以设置titel的显示与否,titlebar的布局,子类中通过setTitleBar(findviewById);就可以自己夹在自定义的布局。

因为很多界面都有点击事件所以我直接在baseActivity中实现了点击事件的接口和方法。以便子类调用。

//加载控件
protected abstract void initComponent(); 

//控件的点击事件
protected abstract void registerListener();


这两个方法是便于子类中代码的管理。。

本篇只是开始,自己无聊记录下,未完待续。。。


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值