編輯:關於android開發
public class DataBaseHelper extends OrmLiteSqliteOpenHelper {3、創建好屬性類以及創建好了數據庫之後,就要根據屬性類來專門寫一個針對於此屬性類的一個數據庫操作對象了, 大家一定要記住,在使用orm的時候最好就是一個表單對應一個數據庫操作對象,這樣方便操作也不會混淆,這裡就只附上代碼,大家自己領悟。
private static final String DB_NAME="biying.db";
private static final int DB_VERSON=1;
private DataBaseHelper(Context mContext){
super(mContext,DB_NAME,null,DB_VERSON);
}
/**
* 基本單例模式:
* 1、先把構造函數私有化
* 2、對外提供一個靜態方法
* 3、在方法中判斷如果已經存在就不再創建,如果不存在再創建
* 這樣保證永遠只有一個DataBaseHelper對象
* 4、為了線程安全,需要在方法前提供一個線程安全關鍵字synchronized
* 如果一個調用時,另一個就不允許調用
*/
private static DataBaseHelper dataBaseHelper;
public synchronized static DataBaseHelper getInstance(Context mContext){
if (dataBaseHelper == null) {
dataBaseHelper = new DataBaseHelper(mContext);
}
return dataBaseHelper;
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource) {
//創建表
try {
//CardImg
TableUtils.createTableIfNotExists(connectionSource, CardImg.class);
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource, int i, int i1) {
//刪除表
try {
TableUtils.dropTable(connectionSource,CardImg.class,true);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
package com.jereh.biyingapplication.dao;4、至此使用orm創建數據庫的方法基本上算是圓滿成功了,在實體類中需要調用的時候只需要把數據庫操作對象即你寫的 那個dao給new出來即可通過數據庫操作對象來對數據庫中的這張表單實現增刪改查等一系列的操作了。 關於ormlite的使用就介紹到這裡,希望對大家能有所幫助!
import android.content.Context;
import com.j256.ormlite.dao.Dao;
import com.j256.ormlite.stmt.DeleteBuilder;
import com.jereh.biyingapplication.db.DataBaseHelper;
import com.jereh.biyingapplication.entity.CardImg;
import com.jereh.biyingapplication.entity.Images;
import java.sql.SQLException;
import java.util.List;
/**
* Created by zhangdi on 2016/8/31.
*/
public class CardImgDao {
private Dao<CardImg,Integer> cardImgDao;
public CardImgDao(Context mContext){
DataBaseHelper dataBaseHelper = DataBaseHelper.getInstance(mContext);
try {
cardImgDao = dataBaseHelper.getDao(CardImg.class);
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 添加一條數據,一個對象
* @param cardImg
* @return
*/
public long addCardImg(CardImg cardImg){
int id =0;
try {
id = cardImgDao.create(cardImg);
} catch (SQLException e) {
e.printStackTrace();
}
return id;
}
public void addAll(List<CardImg> images){
for (CardImg img:images){
addCardImg(img);
}
}
/**
* 查詢表中所有屬性
* @return 表的集合
*/
public List<CardImg> findAll(){
try {
return cardImgDao.queryForAll();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
/**
* 根據對象刪除某條數據
* @param cardImg
*/
public void delete(CardImg cardImg){
DeleteBuilder deleteBuilder = cardImgDao.deleteBuilder();
try {
deleteBuilder.where().eq("img",cardImg.getImg());
deleteBuilder.delete();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 刪除所有數據
* @param images
*/
public void removeAll(List<CardImg> images){
for (CardImg img:images){
delete(img);
}
}
}
Genymotion 下載安裝常見錯誤一條龍,genymotion常見錯誤Genymotion 安卓模擬器確實比安卓原生的模擬器快,但是除了快就找不到其他優點了... 曾
Android進階——聲波振幅顯示,android進階振幅最近博主想做一個app,中間有一個是錄音的功能。於是博主想把UI做的好看一些,想仿照微信或者QQ語音輸入時,能夠
【讀書筆記】【Android 開發藝術探索】第3章 View 的事件體系 一、 View 的基礎知識 View 是 Android 中所有空間的基類。 1、 View 的
Yarn上運行spark-1.6.0Yarn上運行spark-1.6.0.pdf目錄目錄1 1.約定1 2.安裝Scala 1 2.1.下載2 2.2.安裝2 2.3.設