package com.banking.xc.database; import skytv_com.banking.enjoymovie.MyApplication; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; import com.banking.xc.database.table.CityTable; import com.banking.xc.database.table.UserTable; import com.banking.xc.database.table.UserTagsTable; import com.banking.xc.utils.Log; /** * 数据库帮助类 * @author zhangyinhang * */ public class DatabaseHelper { private SQLiteDatabase db = null; private static int versionCode = 1; private Cursor c; private static final String DB_NAME = "banking.db"; private Context mContext; private static OpenHelper mOpenHelper; private static final String TAG="DatabaseHelper"; public static synchronized SQLiteDatabase getDatabase() { if (null == mOpenHelper) { try { versionCode = MyApplication.getInstance().getPackageManager().getPackageInfo(MyApplication.getInstance().getPackageName(), 0).versionCode; } catch (Exception e) { e.printStackTrace(); } mOpenHelper = new OpenHelper(MyApplication.getInstance(), DB_NAME, null, versionCode); } try { SQLiteDatabase writableDatabase = mOpenHelper.getWritableDatabase(); if (Log.D) { Log.d("Temp", "writableDatabase 1 -->> " + writableDatabase); } return writableDatabase; } catch (Exception e) { e.printStackTrace(); MyApplication.getInstance().deleteDatabase(DB_NAME); SQLiteDatabase writableDatabase = mOpenHelper.getWritableDatabase(); if (Log.D) { Log.d("Temp", "writableDatabase 2 -->> " + writableDatabase); } return writableDatabase; } } public static void closeDatabase() { // mOpenHelper.close(); } public DatabaseHelper(Context context) { mContext = context; } } class OpenHelper extends SQLiteOpenHelper { public OpenHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { UserTagsTable.create(db); CityTable.create(db); UserTable.create(db); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { if (oldVersion < newVersion) { if (Log.I) { Log.i("onUpgrade", "oldVersion:" + oldVersion + "newVersion:" + newVersion); } UserTagsTable.upgrade(db); CityTable.upgrade(db); UserTable.upgrade(db); onCreate(db); } } }