Android我的便签-----SQLite的使用方法
生活随笔
收集整理的這篇文章主要介紹了
Android我的便签-----SQLite的使用方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
在Android開發中也有數據庫的存在,最近有空,把以前寫的一個便簽來講述一下Android中的數據庫,跟大家分享分享的,希望對大家有所幫助。
SQLite簡介
SQLite,是一款輕量級的關系型數據庫。由于它占用的資源非常少,所以在很多嵌入式設備都是用SQLite來存儲數據。
?
SQLite數據庫操作和常用的數據庫操作差不多;如:MySQL......; 增刪改查等語句操作基本相同; 今天給大家Android SQLite語句相關操作的兩種方式
?
首先來看一下我的便簽的效果圖:(圖中操作順序:查詢,添加,修改,刪除)
? ? ? ??
1:創建數據庫和表,創建一個類;如下:
public class HelperSQLite extends SQLiteOpenHelper{private SQLiteDatabase sqLiteDatabase;/**** 創建數據庫* @param context*/public HelperSQLite(Context context){super(context, UtilDB.DATABASE_NAME, null, UtilDB.DATABASE_VERION);sqLiteDatabase=this.getWritableDatabase();}/**** 創建表* @param db*/@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL(UtilDB.showCreateSql());}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {//用于更新} }2:介紹添加數據的兩種方法
//方式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:查詢數據? 便簽中? 使用的是降序排列的
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:通過游標得到數據
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(0)));userInfo.setUserContent(cursor.getString(1));userInfo.setUserYear(cursor.getString(2));userInfo.setUserTime(cursor.getString(3));list.add(userInfo);}}由于代碼太多,就不一一貼出來了,直接下載即可,? 源碼點擊下載
?
不足之處請留言指正!有問題的可以給我留言!謝謝!
轉載于:https://my.oschina.net/zhangqie/blog/1489303
總結
以上是生活随笔為你收集整理的Android我的便签-----SQLite的使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ui-grid下拉过滤
- 下一篇: React系列---React+Redu