Android SQLite数据库操作代码类分享
投稿:junjie 字体:[ 增加 减小] 类型:转载
这篇文章主要介绍了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();
}
}