Android SQLite数据库操作代码类分享
作者:junjie 发布时间:2022-03-03 06:43:25
标签:Android,SQLite,数据库,操作代码
使用示例:
package cn.hackcoder.beautyreader.db;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
/**
* Created by hackcoder on 15-1-25.
*/
public class DataBaseHelper extends SQLiteOpenHelper {
private static final String dbName = "sample.db";
private static int dbVersion = 1;
public DataBaseHelper(Context context) {
super(context,dbName,null,dbVersion);
}
@Override
public void onCreate(SQLiteDatabase db) {
Log.d("===========","数据库初始化");
//建表
String sql = "create table if not exists tb_article(id integer primary key autoincrement,title varchar(50),content TEXT,url varchar(50),page integer)";
db.execSQL(sql);
}
/**
*
* @param db
* @param oldVersion
* @param newVersion
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
类源码:
package cn.hackcoder.beautyreader.service;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import java.util.ArrayList;
import java.util.List;
import cn.hackcoder.beautyreader.db.DataBaseHelper;
import cn.hackcoder.beautyreader.model.Article;
/**
* Created by hackcoder on 15-1-25.
*/
public class ArticleService {
private DataBaseHelper dataBaseHelper;
private SQLiteDatabase readableDatabase;
private SQLiteDatabase writableDatabase;
public ArticleService(Context context) {
dataBaseHelper = new DataBaseHelper(context);
}
public void add(Article article) {
String sql = "insert into tb_article(id,title,content,url,page) values(?,?,?,?,?)";
getReadableDatabase().execSQL(sql, new Object[]{null, article.getTitle(), article.getContent(), article.getUrl(), article.getPage()});
}
public void delete(int id) {
String sql = "delete from tb_article where id =?";
getReadableDatabase().execSQL(sql, new Object[]{id});
}
public void deleteAll() {
String sql = "delete from tb_article";
getReadableDatabase().execSQL(sql,null);
}
public void update(Article article) {
String sql = "update tb_article set title=?,content=?,url=?,page = ? where id =?";
getReadableDatabase().execSQL(sql, new Object[]{article.getTitle(), article.getContent(), article.getUrl(), article.getPage(), article.getId()});
}
public void updateContentOfUrl(String url,String content){
String sql = "update tb_article set content=? where url =?";
getReadableDatabase().execSQL(sql, new Object[]{content,url});
}
public Article find(int id) {
Article article = new Article();
String sql = "select id,title,content,url,page from tb_article where id = ?";
Cursor cursor = getReadableDatabase().rawQuery(sql, new String[]{String.valueOf(id)});
if (cursor.moveToNext()) {
article.setId(id);
article.setTitle(cursor.getString(cursor.getColumnIndex("title")));
article.setContent(cursor.getString(cursor.getColumnIndex("content")));
article.setUrl(cursor.getString(cursor.getColumnIndex("url")));
article.setPage(cursor.getInt(cursor.getColumnIndex("page")));
cursor.close();
return article;
}
cursor.close();
return null;
}
public List<Article> findByUrl(String url) {
List<Article> articles = new ArrayList<Article>();
String sql = "select id,title,content,url,page from tb_article where url = ?";
Cursor cursor = getReadableDatabase().rawQuery(sql, new String[]{url});
while (cursor.moveToNext()) {
Article article = new Article();
article.setId(cursor.getInt(cursor.getColumnIndex("id")));
article.setTitle(cursor.getString(cursor.getColumnIndex("title")));
article.setContent(cursor.getString(cursor.getColumnIndex("content")));
article.setUrl(cursor.getString(cursor.getColumnIndex("url")));
article.setPage(cursor.getInt(cursor.getColumnIndex("page")));
articles.add(article);
}
cursor.close();
return articles;
}
public int getCountOfPage(int page){
String sql = "select count(*) from tb_article where page = ?";
Cursor cursor = getReadableDatabase().rawQuery(sql, new String[]{String.valueOf(page)});
cursor.moveToFirst();
int count = cursor.getInt(0);
cursor.close();
return count;
}
public List<Article> getArticlesOfPage(int curPage){
List<Article> articles = new ArrayList<Article>();
String sql = "select id,title,content,url,page from tb_article where page = ?";
Cursor cursor = getReadableDatabase().rawQuery(sql,new String[]{String.valueOf(curPage)});
while(cursor.moveToNext()){
Article article = new Article();
article.setId(cursor.getInt(cursor.getColumnIndex("id")));
article.setTitle(cursor.getString(cursor.getColumnIndex("title")));
article.setContent(cursor.getString(cursor.getColumnIndex("content")));
article.setUrl(cursor.getString(cursor.getColumnIndex("url")));
article.setPage(cursor.getInt(cursor.getColumnIndex("page")));
articles.add(article);
}
cursor.close();
return articles;
}
public int countOfSum() {
String sql = "select count(*) from tb_article";
Cursor cursor = getReadableDatabase().rawQuery(sql, null);
cursor.moveToFirst();
int count = cursor.getInt(0);
cursor.close();
return count;
}
public List<Article> getArticles(int start, int pageSize) {
List<Article> articles = new ArrayList<Article>();
String sql = "select id,title,content,url,page from tb_article limit ?,?";
Cursor cursor = getReadableDatabase().rawQuery(sql,new String[]{String.valueOf(start),String.valueOf(pageSize)});
while(cursor.moveToNext()){
Article article = new Article();
article.setId(cursor.getInt(cursor.getColumnIndex("id")));
article.setTitle(cursor.getString(cursor.getColumnIndex("title")));
article.setContent(cursor.getString(cursor.getColumnIndex("content")));
article.setUrl(cursor.getString(cursor.getColumnIndex("url")));
article.setPage(cursor.getInt(cursor.getColumnIndex("page")));
articles.add(article);
}
cursor.close();
return articles;
}
public void closeDB() {
if (readableDatabase != null && readableDatabase.isOpen()) {
readableDatabase.close();
}
if (writableDatabase != null && writableDatabase.isOpen()) {
writableDatabase.close();
}
}
public SQLiteDatabase getReadableDatabase() {
return dataBaseHelper.getReadableDatabase();
}
public SQLiteDatabase getWritableDatabase() {
return dataBaseHelper.getWritableDatabase();
}
}


猜你喜欢
- Netty是一个非常优秀的Socket框架。如果需要在SpringBoot开发的app中,提供Socket服务,那么Netty是不错的选择。
- 最近学习JavaFx,发现网上大概只有官方文档可以查阅,学习资料较少,写个拼图游戏供记录。。大概说一下思路:1.面板的构建:面板采用Grid
- 导语:有些时候我们所需要查询的数据量比较大,但是jvm内存又是有限制的,数据量过大会导致内存溢出。这个时候就可以使用流式查询,数据一条条的返
- Android RadioButton 图片位置与大小Java:rgGroup = (RadioGroup) findViewById(R.
- 1 依赖配置<parent> <groupId>org.springframework.b
- 本文实例讲述了Android编程实现圆角边框布局效果的方法。分享给大家供大家参考,具体如下:这里用的是TableLayout布局的。先看效果
- 一. string的构造函数的形式:string str:生成空字符串string s(str):生成字符串为str的复制品string s
- Kotlin是一门基于JVM的编程语言,它正成长为Android开发中用于替代Java语言的继承者。Java是世界上使用最多的编程语言之一,
- 问题最近 Cordova 项目里有一个需求,这里需要从 assets 目录中读取文件,加载配置信息,并且代码中要用到。因为看到 gradle
- 前言:1.最近项目上在测试人员压测过程中发现了OOM问题,项目使用springboot搭建项目工程,通过查看日志中包含信息:unable t
- classProgram{ staticvoid Main() {&
- 一、文件1、基本解释(1)什么是文件?文件是保存数据的地方,比如大家经常使用的word文档、txt文件、excel文件等都是文件。它还可以保
- 在移动支付领域,支付宝支付占用巨大份额,根据艾瑞咨询公布的报告数据:2014Q3,支付宝斩
- 01.点明观点 C#中,非托管资源使用之后必须释放,而using()是使用非托管资源的最佳方式,可以确保资源在代码块结束之后被正确
- 一、准备工作1、你需要android手机应用开发基础2、科大讯飞语音识别SDK android版3、科大讯飞语音识别开发API文档4、and
- Map 中ConcurrentHashMap是线程安全的,但不是所有操作都是,例如get()之后再put()就不是了,这时使用merge()
- C#配置文件操作类,供大家参考,具体内容如 * 意添加引用:System.Configuration;using System; using
- 方法一、利用控件或窗体的Paint事件中的PainEventArgs在窗体或控件的Paint事件中接收对图形对象的引用,作为PaintEve
- 一. 项目需求我们做项目的时候,数据量比较大,单表千万级别的,需要分库分表,于是在网上搜索这方面的开源框架,最常见的就是mycat,shar
- 文件上传在web应用中非常普遍,要在jsp环境中实现文件上传功能是非常容易的,因为网上有许多用java开发的文件上传组件,本文以common