package org.succlz123.doubanbooklog.support.database; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import org.succlz123.doubanbooklog.DoubanApplication; import org.succlz123.doubanbooklog.bean.DbAccount; /** * Created by fashi on 2015/3/27. */ public class MyDatabaseHelper extends SQLiteOpenHelper { private static String sql = "create table info(token text primary key,douban_user_name text,douban_user_id integer,expires_in integer,refresh_token text);"; private static MyDatabaseHelper instance; public static synchronized MyDatabaseHelper getInstance() { if (instance == null) { instance = new MyDatabaseHelper(DoubanApplication.getInstance().getApplicationContext(), "doubanbooklog.db", null, 1); } return instance; } private MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { sqLiteDatabase.execSQL(sql); } public void insert(DbAccount account) { SQLiteDatabase db = getWritableDatabase(); ContentValues cv = new ContentValues(); cv.put("token", account.getAccess_token()); cv.put("douban_user_name", account.getDouban_user_name()); cv.put("douban_user_id", account.getDouban_user_id()); cv.put("expires_in", account.getExpires_in()); cv.put("refresh_token", account.getRefresh_token()); db.replace("info", null, cv); } // public void insert(DbAccount account) { // SQLiteDatabase db = getWritableDatabase(); // // ContentValues cv = new ContentValues(); // cv.put("token", account.getAlternate()); // // db.replace("info", null, cv); // } public DbAccount get() { SQLiteDatabase db = getWritableDatabase(); Cursor c = db.query("info", null, null, null, null, null, null); if (c.getCount() > 0) { c.moveToFirst(); DbAccount account = new DbAccount(); account.setAccess_token(c.getString(0)); account.setDouban_user_name(c.getString(1)); account.setDouban_user_id(c.getInt(2)); account.setExpires_in(c.getInt(3)); account.setRefresh_token(c.getString(4)); return account; } else { return null; } } }