android初學之Sqlite數據庫基本操做(上)

SQLite存在用戶的手機上
SQlite存儲時不區分類型
位置:data/data/包名/databases目錄下
工程中:
db包中建立helper類      //寫一個類繼承SQLiteOpenHelper,重寫構造函數(4個參數)與oncreate和onupgrade方法,構造函數建立數據庫,oncreate建立數據庫中的表,onupgrade修改表
domian包中建立userbean類     //無參和有參的構造函數,set,get方法,toString方法
dao包中建立dao類     //Dao裏面是增刪改查的方法,經過獲取數據庫對象,執行sql語句
test測試類或者activity中執行操做     //建立測試類繼承AndroidTestCase,清單文件中配置test節點,方法名以test開頭; 先經過helper對象獲取數據庫,再經過dao對象,執行操做 java

 

建立數據庫:
在用戶啓動程序的時候,代碼在用戶手機上建立數據庫,建立表,寫一個類繼承SQLiteOpenHelper,重寫構造函數(4個參數)與oncreate和onupgrade方法
public MyHelper(Context context) {
		/**
		 * Context context:環境
		 * String name:數據庫名字
		 * Cursorfactory factory:遊標工廠,null爲默認的
		 * version:數據庫版本從1開始
		 */
		super(context, "users.db", null, 1);
	}


public void onCreate(SQLiteDatabase db) {		//能夠執行建立表的操做
	db.execSQL("CREATE TABLE USER(id INTEGER PRIMARY KEY AUTOINCREMENT,name VARCHAR(20))");
    } 
	

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {	//修改表,下面的是添加一列,在testCreateDB方法中要執行到就要改變數據庫版本
	
	db.execSQL("ALTER TABLE user ADD balance INTEGER" );
}
在domain中建立Userbean 
 無參和有參的構造函數,set,get方法,toString方法

 

在dao中UserDao裏面是增刪改查的方法
private MyHelper myhelper;
 //構造函數
 public UserDao(Context context) {
  myhelper = new MyHelper(context); // 建立helper類對象
 }


 
 //增刪改能夠有兩種方法:一種是執行sql語句db.execSQL(); 第二種是ContentValue
 //查詢兩種方法rawQuary(),quary()

 

public void insert(User user) {		//增
	MyHelper myhelper = new MyHelper(context); // 建立helper類對象
	SQLiteDatabase db = myhelper.getWritableDatabase(); // 獲取可寫的數據庫
	db.execSQL("INSERT INTO user(name, password) VALUES (?,?)", new Object[]{user.getName(), user.getPassword()} );	//執行sql語句
		
	/*第二種插入操做
	ContentValues values = new ContentValues();	//ContentValues相似於Map,用來裝載數據的集合
	values.put("name", user.getName());			//向集合中裝入數據,鍵是列名,值是要插入的值
	values.put("password", user.getPassword());
	/**
	 * 第二個參數能夠是null,也能夠是隨便的一個列名(用來插入null記錄)
	 * 返回一個long,-1爲插入出錯
	 */
	long i = db.insert("user", "id", values);			//執行插入操做,指定代表,指定數據
        */
		
		
		db.close();	//關閉數據庫釋放資源
	}
相關文章
相關標籤/搜索