package com.bestapp.yikuair.database; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.os.Build; public class DBOpenHelper extends SQLiteOpenHelper { private final static String DATABASE_NAME = "yikuair_contacts"; private final static int DATABASE_VERSION = 1; private final static String TABLE_NAME = "contactsTable"; public static final String ID = "_id"; // ID public static final String USERID = "userid"; // userID public static final String NAME = "name"; // realname public static final String PHONE = "phone"; // phone public static final String MOBILE = "mobile";// mobile_phone public static final String EMAIL = "email"; // email public static final String DUTY = "duty"; // duty public static final String DEPARTMENT = "department"; // department public static final String HEADURL = "headURL"; // headUrl public static final String SIGNATURE = "signature"; // signature public static final String COMPANYID = "companyid"; // companyID public static final String ALPHA = "alpha"; // alpha public static final String TEAM = "team"; // team public static final String SEX = "sex"; // sex public static final String DBID = "dbid"; // dbid public static final String PINYIN = "pinyin"; public static final String SEARCHIND = "searchindex"; public DBOpenHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); if( /*enableWAL &&*/ Build.VERSION.SDK_INT >= 11){ getWritableDatabase().enableWriteAheadLogging(); } } @Override public void onCreate(SQLiteDatabase db) { String sql = "create table " + TABLE_NAME + " (" + ID + " integer primary key autoincrement," + USERID + " varchar," + NAME + " varchar," + PHONE + " varchar," + MOBILE + " varchar," + EMAIL + " varchar," + DUTY + " varchar," + DEPARTMENT + " varchar," + HEADURL + " varchar," + SIGNATURE + " vachar," + COMPANYID + " vachar," + ALPHA + " vachar," + TEAM + " vachar," + SEX + " vachar," + DBID + " vachar," + PINYIN + " vachar," + SEARCHIND + " vachar)"; db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) { String sql = "drop table if exists " + TABLE_NAME; db.execSQL(sql); onCreate(db); } public Cursor select(int type, String groupNa) { SQLiteDatabase db = this.getReadableDatabase(); String[] selectInfo = null; String group = null; String selection = null; String[] selectionArgs = null; if (type == 1) { selectInfo = new String[] { "COUNT(*)", DEPARTMENT }; group = DEPARTMENT; } else if (type == 2) { selection = DEPARTMENT + " like ?"; selectionArgs = new String[] { "%" + groupNa + "%" }; } Cursor cursor = db.query(TABLE_NAME, selectInfo, selection, selectionArgs, group, null, null); return cursor; } public long insert(String[] strArray) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues cv = new ContentValues(); cv.put(USERID, strArray[0]); cv.put(NAME, strArray[1]); cv.put(PHONE, strArray[2]); cv.put(MOBILE, strArray[3]); cv.put(EMAIL, strArray[4]); cv.put(DUTY, strArray[5]); cv.put(DEPARTMENT, strArray[6]); cv.put(HEADURL, strArray[7]); cv.put(SIGNATURE, strArray[8]); cv.put(COMPANYID, strArray[9]); cv.put(ALPHA, strArray[10]); cv.put(TEAM, strArray[11]); cv.put(SEX, strArray[12]); cv.put(DBID, strArray[13]); cv.put(PINYIN, strArray[14]); cv.put(SEARCHIND, strArray[15]); return db.insert(TABLE_NAME, null, cv); } public void delete(String id) { SQLiteDatabase db = this.getWritableDatabase(); String where = ID + "=?"; String[] whereValues = { id }; db.delete(TABLE_NAME, where, whereValues); } public void delete(String id, String no) { SQLiteDatabase db = this.getWritableDatabase(); String where = DBID + "=?"; String[] whereValues = { id }; db.delete(TABLE_NAME, where, whereValues); } public int update(String id, String[] strArray) { SQLiteDatabase db = this.getWritableDatabase(); String where = ID + "=?"; String[] whereValues = { id }; ContentValues cv = new ContentValues(); cv.put(USERID, strArray[0]); cv.put(NAME, strArray[1]); cv.put(PHONE, strArray[2]); cv.put(MOBILE, strArray[3]); cv.put(EMAIL, strArray[4]); cv.put(DUTY, strArray[5]); cv.put(DEPARTMENT, strArray[6]); cv.put(HEADURL, strArray[7]); cv.put(SIGNATURE, strArray[8]); cv.put(COMPANYID, strArray[9]); cv.put(ALPHA, strArray[10]); cv.put(TEAM, strArray[11]); cv.put(SEX, strArray[12]); cv.put(DBID, strArray[13]); cv.put(PINYIN, strArray[14]); cv.put(SEARCHIND, strArray[15]); return db.update(TABLE_NAME, cv, where, whereValues); } public Cursor select(String selection, String[] selectionArgs) { SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.query(TABLE_NAME, null, selection, selectionArgs, null, null, null); return cursor; } public Cursor get(String id) { SQLiteDatabase db = this.getReadableDatabase(); String where = DBID + "=?"; String[] whereValues = { id }; Cursor cursor = db.query(TABLE_NAME, null, where, whereValues, null, null, null); return cursor; } public boolean deleteDatabase(Context context) { return context.deleteDatabase(DATABASE_NAME); } }