//IncomeTable.java
public class IncomeTable {
public int ID;
public String tax;
public String income;
@Override
public String toString() {
return "IncomeTable [id=" + ID
+ ", tax=" + tax
+ ", income=" + income
+ "]";
}
}//DataBaseHelper.java
public class DataBaseHelper extends SQLiteOpenHelper {
static final String TAG = "DataBaseHelper";
private final static String INCOME_DATABASE_NAME = "incomedata.db";
public final static int INCOME_DATABASE_VERSION = 1;
private static DataBaseHelper mInstance;
private static Context mContext;
private static SQLiteDatabase mSQLDatabase;
private AtomicInteger mOpenCounter = new AtomicInteger();
/*
* 函数介绍:获取单实例
* 输入参数:context,上下文
* 输出参数:无
* 返回值 :单实例
*/
public static DataBaseHelper GetInstance(Context context) {
Log.v(TAG, "GetInstance enter");
if (null == mInstance) {
synchronized(DataBaseHelper.class) {
if (null == mInstance) {
mContext = context;
mInstance = new DataBaseHelper(context, INCOME_DATABASE_NAME, null,
INCOME_DATABASE_VERSION);
}
}
}
Log.v(TAG, "GetInstance exit");
return mInstance;
}
/*
* 函数介绍:构造函数
* 声明为私有,实现单实例
* 输入参数:context,上下文;name,数据库包;factory,工厂;version,版本
* 输出参数:无
* 返回值 :无
*/
private DataBaseHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
Log.v(TAG, "DataBaseHelper enter");
Log.v(TAG, "DataBaseHelper exit");
}
/*
* 函数介绍:创造函数
* 输入参数:db,数据库包
* 输出参数:无
* 返回值 :无
*/
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
Log.v(TAG, "onCreate enter");
db.execSQL(IncomeDatabase.createTableSQL);
Log.v(TAG, "onCreate exit");
}
/*
* 函数介绍:更新函数
* 输入参数:db,数据库包;oldVersion,旧版;newVersion,新版
* 输出参数:无
* 返回值 :无
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
Log.v(TAG, "onUpgrade enter");
if (newVersion != oldVersion) {
db.execSQL(IncomeDatabase.createTableSQL);
initIncomeDB(mContext, mSQLDatabase);
}
Log.v(TAG, "onUpgrade exit");
}
/*
* 函数介绍:获取数据库
* 输入参数:无
* 输出参数:无
* 返回值 :SQLiteDatabase
*/
protected synchronized SQLiteDatabase getDatabase() {
Log.v(TAG, "getDatabase enter");