第一次搭建大的框架,簡單吧一些簡單的東西記錄下。。。
首先應該養成良好的代碼習慣。
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();
這兩個方法是便於子類中代碼的管理。。
本篇只是開始,自己無聊記錄下,未完待續。。。