第一次搭建大的框架,简单吧一些简单的东西记录下。。。
首先应该养成良好的代码习惯。
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();
这两个方法是便于子类中代码的管理。。
本篇只是开始,自己无聊记录下,未完待续。。。