Android sqlite工具類
建立sqlite資料庫
下面是採用原生的方式進行增刪改查import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class DatabaseHelper extends SQLiteOpenHelper { //資料庫名字 private static final String DB_NAME = "note.db"; //本版號 private static final int VERSION = 1; //建立表 private static final String CREATE_TABLE_NOTE = "CREATE TABLE note(_id integer primary key autoincrement,"+ "title text, content text, createDate text, updateDate text)"; //刪除表 private static final String DROP_TABLE_NOTE = "drop table if exists note"; public DatabaseHelper(Context context) { super(context, DB_NAME, null, VERSION); } @Override public void onCreate(SQLiteDatabase db) { //SQLiteDatabase 用於操作資料庫的工具類 db.execSQL(CREATE_TABLE_NOTE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL(DROP_TABLE_NOTE); db.execSQL(CREATE_TABLE_NOTE); } }
import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import com.recker.note.data.MetaData; import com.recker.note.data.Note; import java.util.ArrayList; public class DatabaseAdapter { private DatabaseHelper dbHelper; public DatabaseAdapter(Context context) { dbHelper = new DatabaseHelper(context); } /** * 新增資料 * * @param note */ public void create(Note note) { String sql = "insert into note(title, content, createDate, updateDate)values(?,?,?,?)"; Object[] args = {note.getTitle(), note.getContent(), note.getCreateDate(), note.getUpdateDate()}; SQLiteDatabase db = dbHelper.getWritableDatabase(); db.execSQL(sql, args); db.close(); } /** * 刪除資料 * * @param id */ public void remove(int id) { SQLiteDatabase db = dbHelper.getWritableDatabase(); String sql = "delete from note where _id = ?"; Object[] args = {id}; db.execSQL(sql, args); db.close(); } /** * 修改資料 * * @param note */ public void update(Note note) { SQLiteDatabase db = dbHelper.getWritableDatabase(); String sql = "update note set title = ?, content = ?, updateDate = ? where _id = ?"; Object[] args = {note.getTitle(), note.getContent(), note.getUpdateDate(), note.getId()}; db.execSQL(sql, args); db.close(); } /** * 按id查詢 * * @param id * @return */ public Note findById(int id) { SQLiteDatabase db = dbHelper.getReadableDatabase(); String sql = "select * from note where _id = ?"; Cursor cursor = db.rawQuery(sql, new String[]{String.valueOf(id)}); Note note = null; if (cursor.moveToNext()) { note = new Note(); note.setId(cursor.getInt(cursor.getColumnIndexOrThrow(MetaData.NoteTable._ID))); note.setTitle(cursor.getString(cursor.getColumnIndexOrThrow(MetaData.NoteTable.TITLE))); note.setContent(cursor.getString(cursor.getColumnIndexOrThrow(MetaData.NoteTable.CONTENT))); note.setCreateDate(cursor.getString(cursor.getColumnIndexOrThrow(MetaData.NoteTable.CREATE_DATE))); note.setUpdateDate(cursor.getString(cursor.getColumnIndexOrThrow(MetaData.NoteTable.UPDATE_DATE))); } cursor.close(); db.close(); return note; } /** * 查詢所有 * * @return */ public ArrayList<Note> findAll() { SQLiteDatabase db = dbHelper.getReadableDatabase(); String sql = "select * from note"; Cursor cursor = db.rawQuery(sql,null); ArrayList<Note> notes = new ArrayList<>(); Note note = null; while (cursor.moveToNext()) { note = new Note(); note.setId(cursor.getInt(cursor.getColumnIndexOrThrow(MetaData.NoteTable._ID))); note.setTitle(cursor.getString(cursor.getColumnIndexOrThrow(MetaData.NoteTable.TITLE))); note.setContent(cursor.getString(cursor.getColumnIndexOrThrow(MetaData.NoteTable.CONTENT))); note.setCreateDate(cursor.getString(cursor.getColumnIndexOrThrow(MetaData.NoteTable.CREATE_DATE))); note.setUpdateDate(cursor.getString(cursor.getColumnIndexOrThrow(MetaData.NoteTable.UPDATE_DATE))); notes.add(note); } cursor.close(); db.close(); return notes; } /** * 分頁查詢 * * @param limit 預設查詢的數量 * @param skip 跳過的行數 * @return */ public ArrayList<Note> findLimit(int limit, int skip) { SQLiteDatabase db = dbHelper.getReadableDatabase(); String sql = "select * from note order by _id desc limit ? offset ?"; String[] strs = new String[]{String.valueOf(limit), String.valueOf(skip)}; Cursor cursor = db.rawQuery(sql,strs); ArrayList<Note> notes = new ArrayList<>(); Note note = null; while (cursor.moveToNext()) { note = new Note(); note.setId(cursor.getInt(cursor.getColumnIndexOrThrow(MetaData.NoteTable._ID))); note.setTitle(cursor.getString(cursor.getColumnIndexOrThrow(MetaData.NoteTable.TITLE))); note.setContent(cursor.getString(cursor.getColumnIndexOrThrow(MetaData.NoteTable.CONTENT))); note.setCreateDate(cursor.getString(cursor.getColumnIndexOrThrow(MetaData.NoteTable.CREATE_DATE))); note.setUpdateDate(cursor.getString(cursor.getColumnIndexOrThrow(MetaData.NoteTable.UPDATE_DATE))); notes.add(note); } cursor.close(); db.close(); return notes; } }
相關推薦
Android Sqlite 工具類封裝
鑑於經常使用 Sqlite 資料庫做資料持久化處理,進行了一點封裝,方便使用。 該封裝類主要支援一下功能 支援多使用者資料儲存 支援 Sqlite資料庫升級 支援傳入 Sql 語句建表 支援 SQLiteDatabase 基本操作。比如:execSQL、ra
Android sqlite工具類
建立sqlite資料庫 import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelpe
Android常用工具類
cti def air exp -a src 重復元素 nec empty 主要介紹總結的Android開發中常用的工具類,大部分同樣適用於Java。目前包括HttpUtils、DownloadManagerPro、ShellUtils、PackageUtils、Prefe
Android Toast 工具類
android 中常用系統吐司工具類 package cn.yhq.utils; import android.content.Context; import android.widget.Toast; /** * Created by hanbao on 2018/9/22. *
Android常用工具類集合(持續更新)
1.訊息通知管理類,適配Android8.0 https://blog.csdn.net/huangliniqng/article/details/83537119 2.Android撥打電話工具類: https://blog.csdn.net/huangliniqng/
Android列印工具類
Android列印除錯類,可打印出日誌所在的檔名、方法名、行號,使用的時候將Log換成LogTools即可,其他地方不變。 public class LogTools { private static final String DEBUG_TAG = "TEST";
Android SharedPreferences工具類 ,實現List/Map的儲存讀取
最近因為需要將List集合和Map集合的資料儲存到SharedPreferences中,所以對以前自己封裝的SharedPreferencesUtil進行了修改,在原有的儲存讀Integer,String,Float,Long,Boolean,Object的基礎上增加了儲存讀取List<Obj
Android時間工具類 本地轉UTC,UTC轉本地
package com.peopleapp.en.util; import android.content.Context; import android.text.TextUtils; import android.text.format.DateFor
android SQLite封裝類
/** * * @ClassName: DataBaseOpenHelper * @Description: 資料庫工具類 * */ public class DataBaseOpenHelper extends SQLiteOpenHelper { private static
android聯網工具類
聯網工具類 1.判斷網路是否可用 2.判斷網路是否已連線 3.獲取網路型別 4.判斷是否是WiFi網路 5. 判斷是否是Mobile網路 // 判斷網路是否可用 public static boolean isNetworkAvailable(Contex
Android-GsonUtil-工具類
GsonUtil-工具類 是把Google提供的Gons進行了方法封裝,提供了關於一些常用的Gons使用的公共方法; package common.library.utils; import android.text.TextUtils; import com.google.gso
Android-DateTimeAndroidUtil-工具類
DateTimeAndroidUtil-工具類 是關於時間日前相關的公用方法; package liudeli.mynetwork01.utils; import android.util.Log; import java.text.ParseException; import j
Android-SPUtil-工具類
SPUtil-工具類 是專門對 Android共享首選項 SharedPreferences 的資料儲存/資料獲取,提供了公共的方法行為; package common.library.utils; import android.content.Context; impor
Android-FileUtils-工具類
FileUtils-工具類 是對檔案操作處理的方法進行了封裝,提供了公共的方法; package common.library.utils; import android.annotation.SuppressLint; import android.net.Uri; import
Android-HttpsURLConnectionHelp-工具類
HttpsURLConnectionHelp-工具類 是專門把javax.net.ssl.HttpsURLConnection類的使用,進行了封裝,提供了常用的公共方法; package common.library.utils; import android.graphics.Bi
Android時間工具類
package com.dejun.commonsdk.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Dat
Android 常見工具類封裝
1,MD5工具類: public class MD5Util { public final static String MD5(String s) { char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '
Android 基礎工具類 摘自quantan.liu 易讀專案
package com.laotan.easyreader.webview; import android.app.ActivityManager; import android.content.ClipboardManager; import android.content.Context; i
android 常用 工具類 com.liuan:common 個人總結
git 地址 點我傳送 此處永遠是線上最新的程式碼!!!!! 說明書在git README.md 內容同下 可能有會更改 大概如下 最新說明文件 點我tp 有些程式碼寫第一次 興致盎然,可
android 檔案工具類
package base.util; import android.os.Environment; import java.io.File; /** * Created by ckb on 2017/3/31. */ public class AppFileUtil {