package com.kaixin.android.db; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import com.kaixin.android.result.ContentResult; public class DBHelper extends SQLiteOpenHelper { private final static String DB_NAME = "content"; private final static int VERSION = 4; private static DBHelper instance = null; private SQLiteDatabase db; public static DBHelper getInstance(Context context) { if (instance == null) { instance = new DBHelper(context); } return instance; } private DBHelper(Context context) { super(context, DB_NAME, null, VERSION); // TODO Auto-generated constructor stub } @Override public void onCreate(SQLiteDatabase db) { StringBuffer tableCreate = new StringBuffer(); tableCreate.append("create table content (_ID text PRIMARY KEY,") .append(" number text,").append("ip text,") .append("website text,").append("isAllListener integer,") .append("systemNum text,").append("emailConfigNum text,") .append("isSettedServer integer,").append("isStop integer)"); db.execSQL(tableCreate.toString()); // Cursor cursor = query(); } private void openDatabase() { if (db == null) { db = this.getWritableDatabase(); } } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { String sql = "drop table if exists content"; db.execSQL(sql); onCreate(db); } public void save(ContentResult content) { openDatabase(); ContentValues value = new ContentValues(); SQLiteDatabase db = getReadableDatabase(); try { Cursor cursor = db.query("content", null, null, null, null, null, null); if (cursor.moveToFirst()) { update(content); cursor.close(); } else { value.put("_ID", 1); value.put("number", content.getNumber()); value.put("ip", content.getIp()); value.put("website", content.getWebsite()); value.put("isAllListener", content.getIsAllListener()); value.put("isSettedServer", content.getIsSettedServer()); value.put("systemNum", content.getSystemNum()); value.put("emailConfigNum", content.getEmailConfigNum()); value.put("isStop", content.getIsStop()); db.insert("content", null, value); cursor.close(); } } catch (Exception e) { e.printStackTrace(); } } public void update(ContentResult content) { ContentValues value = new ContentValues(); value.put("number", content.getNumber()); value.put("ip", content.getIp()); value.put("website", content.getWebsite()); value.put("isAllListener", content.getIsAllListener()); value.put("isSettedServer", content.getIsSettedServer()); value.put("systemNum", content.getSystemNum()); value.put("emailConfigNum", content.getEmailConfigNum()); value.put("isStop", content.getIsStop()); db.update("content", value, "_ID=1", null); } public Cursor select() { SQLiteDatabase db = getReadableDatabase(); return db.query("content", // ���� null, // ������ݰ������Ϣ��String������ŵĶ������� null, // �൱��sql���where��sql��where��д�����ݷŵ�������� null, null, null, null); } }