android 数据库创建和封装

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class MyDBAdapter {
	
	public static final String DATABASE_NAME = "calendar_calendar.db";
	public static final String DATABASE_TABLE ="mainTable";
	public static final int    DATABASE_VERSION = 1;
	public static final String KEY_ID="id";
	public static final String KEY_Month_ID="month_id"; 
	public static final String KEY_YEAR = "year";
	public static final String KEY_MONTH = "month";
	public static final String KEY_DAY = "day";
	public static final String KEY_WEEKDAY = "weekday";
	public static final String KEY_YEAR_LUNAR = "year_lunar";
	public static final String KEY_MONTH_LUNAR = "month_lunar";
	public static final String KEY_DAY_LUNAR = "day_lunar";
	public static final String KEY_FESTIVAL = "festival";
	public static final String KEY_ANIMALS = "animals";
	public static final String KEY_YI = "yi";
	public static final String KEY_JI = "ji";
	
	private static final String DATABASE_CREATE = "create table if not exists " + DATABASE_TABLE 
			+ "( " 
			+ KEY_ID + " integer primary key autoincrement, "
			+ KEY_Month_ID + " integer not null, "
			+ KEY_YEAR + " integer not null, " 
			+ KEY_MONTH + " integer not null, "
			+ KEY_DAY  + " integer not null, "
			+ KEY_WEEKDAY + " integer not null, "
			+ KEY_YEAR_LUNAR + " text not null, "
			+ KEY_MONTH_LUNAR + " text not null, "
			+ KEY_FESTIVAL + " text not null, "
			+ KEY_DAY_LUNAR + " text not null, "
			+ KEY_ANIMALS + " text not null, "
			+ KEY_YI + " text not null, "
			+ KEY_JI + " text not null"
			+ ")";
	
	private SQLiteDatabase db; 
	private final Context context; 
	private myDbHelper dbHelper; 

	public MyDBAdapter(Context _context) { 
		context = _context; 
		dbHelper = new myDbHelper(); 
		} 
	public MyDBAdapter open() throws SQLException { 
		db = dbHelper.getWritableDatabase(); 
		return this; 
		} 
	
	public void close() { 
		db.close(); 
		} 
	
	public long insert(ContentValues contentValues) { 
		
		return db.insert(DATABASE_TABLE, null, contentValues);
		
	 } 
	
	public long insert(int month_id, int year, int month, int day, int weekday, 
			String year_lunar, String month_lunar, String day_lunar,
			String animals, String festival,String yi, String ji) { 
			ContentValues contentValues = new ContentValues(); 
			contentValues.put(KEY_Month_ID, month_id);
			contentValues.put(KEY_YEAR, year);
			contentValues.put(KEY_MONTH, month);
			contentValues.put(KEY_DAY, day);
			contentValues.put(KEY_WEEKDAY, weekday);
			contentValues.put(KEY_YEAR_LUNAR, year_lunar);
			contentValues.put(KEY_MONTH_LUNAR, month_lunar);
			contentValues.put(KEY_DAY_LUNAR, day_lunar);
			contentValues.put(KEY_ANIMALS, animals);
			contentValues.put(KEY_FESTIVAL, festival);
			contentValues.put(KEY_YI, yi);
			contentValues.put(KEY_JI, ji);
		
		return db.insert(DATABASE_TABLE, null, contentValues);
		} 
	
	public Cursor query(String[] columns, String selection,
            String[] selectionArgs, String groupBy, String having,
            String orderBy) { 
		return db.query(DATABASE_TABLE,columns,selection,selectionArgs,groupBy,having,orderBy);
		} 

	
	public boolean remove(long rowIndex) { 
		return db.delete(DATABASE_TABLE, KEY_ID + "=" + rowIndex, null) > 0; 
		} 
	
	
	public class myDbHelper extends SQLiteOpenHelper {
		
		public myDbHelper() {
			super(context, DATABASE_NAME, null, DATABASE_VERSION);
		}

		@Override
		public void onCreate(SQLiteDatabase db) {
			db.execSQL(DATABASE_CREATE);
		}
		
		@Override
		public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
			// TODO Auto-generated method stub
			Log.w("MyDBAdapter", "Upgrading from version " + 
					oldVersion + " to " + newVersion +", which will destroy all old data"); 

			db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE); 
			onCreate(db); 
		}
	}
	
}

 

调用:

MyDBAdapter mdb = new MyDBAdapter(this.getApplicationContext()).open();

mdb.insert...等函数使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值