package eoe.database;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
/ **
* By default, 4 tables are created in the database
* /
public class DBOpenHelper extends SQLiteOpenHelper {
private static final String name = "database.db"; // Database name
private static final int version = 1; // Database version
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);
}
}
Custom database service Encapsulation classes:
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;
/ **
* Database method encapsulation, create table, delete table, data (add and delete the query) ...
* /
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 ();
}
}
SQLite Advanced: A library of multiple tables, packaging class