SQlite數據庫(1)
SQlite數據庫(2)—-android 操作
SQlite數據庫(3)—API操作
實現步驟
1.實體類
2.實體類DAO
public class BookDao extends SQLiteOpenHelper{
//私有保護
private static SQLiteDatabase db;
//公有靜態方法獲取db
public static SQLiteDatabase getInstance(Context context){
if(db == null){
db = new BookDao(context).getReadableDatabase();
}
return db;
}
private BookDao(Context context){
super(context, Environment.getExternalStorageDirectory() + "/book.db",null,1);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
public Cursor addBook(Book book){
String sql="insert into 1_tb (name,type) values(?,?)";
db.execSQL(sql,new String[]{book.getName(),book.getType()});
}
public void getBook(String...strs){
String sql="select * from 1_tb ";
if(strs.length!=0){
sql+="where" + strs[0] + "='" +strs[1] +"'";
}
Cursor c=db.rawQuery(sql,null);
return c;
}
public void deleteBook(String...strs){
String sql="delete from 1_tb where "+strs[0]+"='"+strs[1]+"'";
db.execSQL(sql);
}
public void updateBook(BOOK bk){
String sql="update info 1_tb set name=?,type=?";
db.execSQL(sql,new objedt[]{bk.getName(),bk.getType()});
}
3.調用代碼
第一種:對於可以實例化DAO類的獲取dao.方法名
第二種:類名.getInstance 類名.方法名 靜態方法
BookDao bd=new;
//查詢同刪除
String key="",value="";
if(mName.equals(""){
key="name";
value=mName;
}
Cursor c;
if(key.equals("")){
c=dao.getBook();
}else{
c=dao.getBook(key,value);
}
用cursor 獲取 arraylist
ArrayList<Book> list=new ArrayList<>();
Cursor c = //調用上面的getBook方法獲得
while(c.moveToNext()){
int id=c.getInt(0);
String name=c.getString(1);
String type=c.getString(2);
Book book=new Book(id,name,type);
list.add(book);
}