欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

数据库操作,

来源: 开发者 投稿于  被查看 15012 次 评论:112

数据库操作,


<无详细内容>

1.[Java]代码

public class Database {
	
	private static DbOpenHelper mDbHelper;
	private static final int DB_VERSION = 1;
	private static final String DB_NAME = "pdf.db";
	
	public static void close() {
		if(mDbHelper != null) {
			mDbHelper.close();
			mDbHelper = null;
		}
	}
	
	public static SQLiteDatabase getDb(Context context) {
		DbOpenHelper helper = getDbOpenHelper(context);
		return helper.getWritableDatabase();
	}
	
	public static void writeMessageToDb(SQLiteDatabase db, String name, 
			String path) {
		ContentValues values = new ContentValues();
		values.put(PDF.name.name(), name);
		values.put(PDF.path.name(), path);
		db.insert(PDF.TABLE_NAME, null, values);
	}
	
	public static HashMap<String, String> loadMessageFromDb(SQLiteDatabase db) {
		Cursor cursor = db.query(PDF.TABLE_NAME, null, null, null, null, null, null);
		HashMap<String, String> result = new HashMap<String, String>();
		while(cursor.moveToNext()) {
			String name = cursor.getString(cursor.getColumnIndex(PDF.name.name()));
			String path = cursor.getString(cursor.getColumnIndex(PDF.path.name()));

			
			result.put(name, path);
		}
		cursor.close();
		return result;
	}
	
	private static DbOpenHelper getDbOpenHelper(Context context) {
		if(mDbHelper == null)
			mDbHelper = new DbOpenHelper(context, DB_NAME, DB_VERSION);
		
		return mDbHelper;
	}
	
	private static class DbOpenHelper extends SQLiteOpenHelper {

		public DbOpenHelper(Context context, String name, int version) {
			super(context, name, null, version);
		}

		@Override
		public void onCreate(SQLiteDatabase db) {
			db.execSQL("CREATE TABLE " + PDF.TABLE_NAME + " (" +
					PDF._id.name() + " INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, " +
					PDF.name.name() + " TEXT NOT NULL, " + 
					PDF.path.name() + " TEXT NOT NULL" +
					");"
					);
		}

		@Override
		public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
			dropTables(db);
			onCreate(db);
		}

		private void dropTables(SQLiteDatabase db) {
			db.execSQL("DROP TABLE IF EXISTS " + PDF.TABLE_NAME);
		}	
	}
	
	enum PDF {
		_id,
		name,
		path;
		
		static final String TABLE_NAME = "PDF";
	}
}

用户评论