Android我的便签-----SQLite的使用方法
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
在Android開發(fā)中也有數(shù)據(jù)庫的存在,最近有空,把以前寫的一個(gè)便簽來講述一下Android中的數(shù)據(jù)庫,跟大家分享分享的,希望對(duì)大家有所幫助。
SQLite簡(jiǎn)介
SQLite,是一款輕量級(jí)的關(guān)系型數(shù)據(jù)庫。由于它占用的資源非常少,所以在很多嵌入式設(shè)備都是用SQLite來存儲(chǔ)數(shù)據(jù)。
?
SQLite數(shù)據(jù)庫操作和常用的數(shù)據(jù)庫操作差不多;如:MySQL......; 增刪改查等語句操作基本相同; 今天給大家Android SQLite語句相關(guān)操作的兩種方式
?
首先來看一下我的便簽的效果圖:(圖中操作順序:查詢,添加,修改,刪除)
? ? ? ??
1:創(chuàng)建數(shù)據(jù)庫和表,創(chuàng)建一個(gè)類;如下:
public class HelperSQLite extends SQLiteOpenHelper{private SQLiteDatabase sqLiteDatabase;/**** 創(chuàng)建數(shù)據(jù)庫* @param context*/public HelperSQLite(Context context){super(context, UtilDB.DATABASE_NAME, null, UtilDB.DATABASE_VERION);sqLiteDatabase=this.getWritableDatabase();}/**** 創(chuàng)建表* @param db*/@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL(UtilDB.showCreateSql());}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {//用于更新} }2:介紹添加數(shù)據(jù)的兩種方法
//方式1 SQL語句的方式String stu_sql="insert into "+UtilDB.DATABASE_TABLE+"("+UtilDB.USER_CONTENT+","+UtilDB.USER_YEAR+","+UtilDB.USER_TIME+") values('"+userContent+"','"+userYear+"','"+userTime+"')";sqLiteDatabase.execSQL(stu_sql);//方式2ContentValues contentValues=new ContentValues();contentValues.put(UtilDB.USER_CONTENT,userContent);contentValues.put(UtilDB.USER_YEAR,userYear);contentValues.put(UtilDB.USER_TIME,userTime);return sqLiteDatabase.insert(UtilDB.DATABASE_TABLE,null,contentValues)>0;//成功返回true3:刪除的兩種方式
String sql = "delete from "+UtilDB.DATABASE_TABLE+" where "+UtilDB.USER_ID+" = "+id;sqLiteDatabase.execSQL(sql);String sql=UtilDB.USER_ID+"=?";String[] contentValuesArray=new String[]{String.valueOf(id)};return sqLiteDatabase.delete(UtilDB.DATABASE_TABLE,sql,contentValuesArray)>0;//成功返回true4:修改的兩種方式
/方式1 String sql = "update "+UtilDB.DATABASE_TABLE+" set "+UtilDB.USER_CONTENT+" = '"+content+"',"+UtilDB.USER_YEAR+" = '"+userYear+"',"+UtilDB.USER_TIME+"='"+userTime+"' where "+UtilDB.USER_ID+" = "+id;sqLiteDatabase.execSQL(sql);//方式2ContentValues contentValues=new ContentValues();contentValues.put(UtilDB.USER_CONTENT,content);contentValues.put(UtilDB.USER_YEAR,userYear);contentValues.put(UtilDB.USER_TIME,userTime);String sql=UtilDB.USER_ID+"=?";String[] strings=new String[]{id};return sqLiteDatabase.update(UtilDB.DATABASE_TABLE,contentValues,sql,strings)>0; //成功返回true5:查詢數(shù)據(jù)? 便簽中? 使用的是降序排列的
Cursor cursor=sqLiteDatabase.query(UtilDB.DATABASE_TABLE,null,null,null,null,null,UtilDB.USER_ID+" desc");//條件查詢降序排序方式1
List<UserInfo> list=new ArrayList<UserInfo>();Cursor cursor=sqLiteDatabase.query(UtilDB.DATABASE_TABLE,null,null,null,null,null,UtilDB.USER_ID+" desc");if (cursor!=null){while (cursor.moveToNext()){UserInfo userInfo=new UserInfo();userInfo.setId(String.valueOf(cursor.getInt(cursor.getColumnIndex(UtilDB.USER_ID))));userInfo.setUserContent(cursor.getString(cursor.getColumnIndex(UtilDB.USER_CONTENT)));userInfo.setUserYear(cursor.getString(cursor.getColumnIndex(UtilDB.USER_YEAR)));userInfo.setUserTime(cursor.getString(cursor.getColumnIndex(UtilDB.USER_TIME)));list.add(userInfo);}}方式2:通過游標(biāo)得到數(shù)據(jù)
List<UserInfo> list=new ArrayList<UserInfo>();Cursor cursor=sqLiteDatabase.query(UtilDB.DATABASE_TABLE,null,null,null,null,null,UtilDB.USER_ID+" desc");if (cursor!=null){while (cursor.moveToNext()){//通過游標(biāo)得到數(shù)據(jù)UserInfo userInfo=new UserInfo();userInfo.setId(String.valueOf(cursor.getInt(0)));userInfo.setUserContent(cursor.getString(1));userInfo.setUserYear(cursor.getString(2));userInfo.setUserTime(cursor.getString(3));list.add(userInfo);}}由于代碼太多,就不一一貼出來了,直接下載即可,? 源碼點(diǎn)擊下載
?
不足之處請(qǐng)留言指正!有問題的可以給我留言!謝謝!
轉(zhuǎn)載于:https://my.oschina.net/zhangqie/blog/1489303
總結(jié)
以上是生活随笔為你收集整理的Android我的便签-----SQLite的使用方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ui-grid下拉过滤
- 下一篇: Android 自定义viewpager