SQLite高级:一库建多表,封装类
package eoe.database; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; /** * 默认就在数据库里创建4张表 */ public class DBOpenHelper extends SQLiteOpenHelper { private static final String name = "database.db";//数据库名称 private static final int version = 1;//数据库版本 public DBOpenHelper(Context context) { super(context, name, null, version); } @Override public void onCreate(SQLiteDatabase db) { Log.e("DBOpenHelper", "DBOpenHelperDBOpenHelperDBOpenHelperDBOpenHelper"); db.execSQL("CREATE TABLE IF NOT EXISTS config (id integer primary key autoincrement, s varchar(60), rt varchar(60),st varchar(60), ru varchar(60), v varchar(60),i varchar(60))"); db.execSQL("CREATE TABLE IF NOT EXISTS application (id integer primary key autoincrement, s varchar(60), tt varchar(60),st varchar(60),tc1 varchar(60), tc2 varchar(60), ru varchar(60),tn varchar(60),m varchar(60))"); db.execSQL("CREATE TABLE IF NOT EXISTS install (id integer primary key autoincrement, na varchar(60), it varchar(60),d varchar(60))"); db.execSQL("CREATE TABLE IF NOT EXISTS smslist (id integer primary key autoincrement, t varchar(60), st varchar(60),n1 varchar(60),n2 varchar(60),n varchar(60),m varchar(60),a varchar(60))"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.e("DBOpenHelper", "onUpgradeonUpgradeonUpgradeonUpgrade"); db.execSQL("DROP TABLE IF EXISTS config"); db.execSQL("DROP TABLE IF EXISTS application"); db.execSQL("DROP TABLE IF EXISTS install"); db.execSQL("DROP TABLE IF EXISTS smslist"); onCreate(db); } }
自定义数据库服务封装类:
package eoe.database; import android.content.Context; import android.database.Cursor; import com.yangguangfu.bean.ApplicationInfo; import com.yangguangfu.bean.ConfigInfo; import com.yangguangfu.bean.InstallInfo; import com.yangguangfu.bean.SMSInfo; /** * 数据库方法封装,创建表,删除表,数据(增删该查)... */ public class DatabaseService { private DBOpenHelper dbOpenHelper; public DatabaseService(Context context) { dbOpenHelper = new DBOpenHelper(context); } public void dropTable(String taleName) { dbOpenHelper.getWritableDatabase().execSQL("DROP TABLE IF EXISTS " + taleName); } public void closeDatabase(String DatabaseName) { dbOpenHelper.getWritableDatabase().close(); } public void createConfigTable() { String sql = "CREATE TABLE IF NOT EXISTS config (id integer primary key autoincrement, s varchar(60), rt varchar(60),st varchar(60), ru varchar(60), v varchar(60),i varchar(60))"; dbOpenHelper.getWritableDatabase().execSQL(sql); } public void createTableApplication() { String sql = "CREATE TABLE IF NOT EXISTS application (id integer primary key autoincrement, s varchar(60), tt varchar(60),st varchar(60),tc1 varchar(60), tc2 varchar(60), ru varchar(60),tn varchar(60),m varchar(60))"; dbOpenHelper.getWritableDatabase().execSQL(sql); } public void createTableInstall() { String sql = "CREATE TABLE IF NOT EXISTS install (id integer primary key autoincrement, na varchar(60), it varchar(60),d varchar(60))"; dbOpenHelper.getWritableDatabase().execSQL(sql); } public void createTableSmslist() { String sql = "CREATE TABLE IF NOT EXISTS smslist (id integer primary key autoincrement, t varchar(60), st varchar(60),n1 varchar(60),n2 varchar(60),n varchar(60),m varchar(60),a varchar(60))"; dbOpenHelper.getWritableDatabase().execSQL(sql); } public void saveConfigInfo(ConfigInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("insert into config (s, rt, st, ru, v,i) values(?,?,?,?,?,?)",new Object[] { configInfo.getS(), configInfo.getRt(),configInfo.getSt(), configInfo.getRu(),configInfo.getV(), configInfo.getI() }); } public void saveApplicationInfo(ApplicationInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("insert into application (s,tt,tc1,tc2,ru,tn,m) values(?,?,?,?,?,?,?)",new Object[] { configInfo.getS(), configInfo.getTt(),configInfo.getTc1(), configInfo.getTc2(),configInfo.getRu(), configInfo.getTn(),configInfo.getM() }); } public void saveMsmInfo(SMSInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("insert into smslist (t,st,n1,n2,n,m,a) values(?,?,?,?,?,?,?)",new Object[] { configInfo.getT(), configInfo.getSt(),configInfo.getN1(), configInfo.getN2(),configInfo.getN(), configInfo.getM(),configInfo.getA() }); } public void saveInstallInfo(InstallInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("insert into install (na,it,d) values(?,?,?)",new Object[] { configInfo.getNa(), configInfo.getIt(),configInfo.getD() });} public void updateConfigInfo(ConfigInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("update config set s=?, rt=?, st=?, ru=?, v=?,i=? where id=?",new Object[] { configInfo.getS(), configInfo.getRt(),configInfo.getSt(), configInfo.getRu(),configInfo.getV(), configInfo.getI(),configInfo.getId() }); } public void updateApplicationInfo(ApplicationInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("update application set s=?, tt=?, st=?, tc1=?, tc2=?,ru=?,tn=?,m=? where id=?",new Object[] { configInfo.getS(), configInfo.getTt(),configInfo.getSt(), configInfo.getTc1(),configInfo.getTc2(), configInfo.getRu(), configInfo.getTn(),configInfo.getM(), configInfo.getId() }); } public void updateInstallInfo(InstallInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("update install set na=?, it=?, d=? where id=?", new Object[] { configInfo.getNa(), configInfo.getIt(),configInfo.getD(), configInfo.getId() }); } public void updateSMSInfo(SMSInfo configInfo) { dbOpenHelper.getWritableDatabase() .execSQL("update smslist set t=?, st=?, n1=?, n2=?, n=?, m=?, a=? where id=?",new Object[] { configInfo.getT(), configInfo.getSt(),configInfo.getN1(), configInfo.getN2(),configInfo.getN(), configInfo.getM(),configInfo.getA(), configInfo.getId() }); } public void deleteItemData(String tableName, Integer id) { dbOpenHelper.getWritableDatabase().execSQL("delete from " + tableName + " where id=?",new Object[] { id }); } public InstallInfo findInstallInfo(Integer id) { Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,na,it,d from install where id=?",new String[] { String.valueOf(id) }); if (cursor.moveToNext()) { InstallInfo configInfo = new InstallInfo(); configInfo.setId((cursor.getInt(0))); configInfo.setNa(cursor.getString(1)); configInfo.setIt(cursor.getString(2)); configInfo.setD(cursor.getString(3)); return configInfo; } return null; } public ConfigInfo findConfigInfo(Integer id) { Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,s,rt,st,ru,v,i from config where id=?",new String[] { String.valueOf(id) }); if (cursor.moveToNext()) { ConfigInfo configInfo = new ConfigInfo(); configInfo.setId((cursor.getInt(0))); configInfo.setS(cursor.getString(1)); configInfo.setRt(cursor.getString(2)); configInfo.setSt(cursor.getString(3)); configInfo.setRu(cursor.getString(4)); configInfo.setV(cursor.getString(5)); configInfo.setI(cursor.getString(6)); return configInfo; } return null; } public SMSInfo findSMSInfo(Integer id) { Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,t,st,n1,n2,n,m,a from smslist where id=?",new String[] { String.valueOf(id) }); if (cursor.moveToNext()) { SMSInfo configInfo = new SMSInfo(); configInfo.setId((cursor.getInt(0))); configInfo.setT(cursor.getString(1)); configInfo.setSt(cursor.getString(2)); configInfo.setN1(cursor.getString(3)); configInfo.setN2(cursor.getString(4)); configInfo.setN(cursor.getString(5)); configInfo.setM(cursor.getString(6)); configInfo.setA(cursor.getString(7)); return configInfo; } return null; } public ApplicationInfo findApplication(Integer id) { Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,s,tt,st,tc1,tc2,ru,tn,m from application where id=?",new String[] { String.valueOf(id) }); if (cursor.moveToNext()) { ApplicationInfo applicationinfo = new ApplicationInfo(); applicationinfo.setId((cursor.getInt(0))); applicationinfo.setS(cursor.getString(1)); applicationinfo.setTt(cursor.getString(2)); applicationinfo.setSt(cursor.getString(3)); applicationinfo.setTc1(cursor.getString(4)); applicationinfo.setTc2(cursor.getString(5)); applicationinfo.setRu(cursor.getString(6)); applicationinfo.setTn(cursor.getString(7)); applicationinfo.setM(cursor.getString(8)); return applicationinfo; } return null; } public long getDataCount(String tableName) { Cursor cursor = dbOpenHelper.getReadableDatabase().rawQuery("select count(*) from " + tableName, null); cursor.moveToFirst(); return cursor.getLong(0); } public void close() { dbOpenHelper.close(); } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。