package com.travelsky.service;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
/**
*
* 作者:wtmax<br>
* 功能描述: SQLite操纵类,可以生成及更新指定名称数据库<br>
* 创建时间:2011-09-21 21:56:57<br>
* 版本信息:1.0 <br>
* Copyright: Copyright (c) 2011<br>
*/
public class DataBaseOpenHelper extends SQLiteOpenHelper {
public static final String DBNAME = "travelsky";
public static final int version = 1;
public DataBaseOpenHelper(Context context) {
super(context, DBNAME, null, version);//数据库版本如有发生变更,就会调用onUpgrade方法
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE person (personid integer primary key autoincrement, name varchar(20), age INTEGER)");
}
/**
* 数据库版本如有发生变更,就会调用onUpgrade方法
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS person");
onCreate(db);
}
}
package com.travelsky.service;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import com.travelsky.domain.Person;
/**
*
* 作者:wtmax<br>
* 功能描述: SQLite操纵类,可以对指定名称数据库中的表进行CRUD操作<br>
* 创建时间:2011-09-21 22:28:57<br>
* 版本信息:1.0 <br>
* Copyright: Copyright (c) 2011<br>
*/
public class PersonService {
private DataBaseOpenHelper dbOpenHelper;
public PersonService(Context context) {
dbOpenHelper = new DataBaseOpenHelper(context);
}
public void saves(){
SQLiteDatabase database = dbOpenHelper.getWritableDatabase();
database.beginTransaction();
try{
database.execSQL("insert into person(name, age) values(?,?)", new Object[]{"立马", (short)32});
database.execSQL("insert into person(name, age) values(?,?)", new Object[]{"当下", (short)37});
database.setTransactionSuccessful();//提交事务(做到事务统一)
}catch(Exception e){
}
database.endTransaction();
// database.close();
}
public void save(Person person){
SQLiteDatabase database = dbOpenHelper.getWritableDatabase();
database.execSQL("insert into person(name, age) values(?,?)", new Object[]{person.getName(), person.getAge()});
// database.close();
}
public void update(Person person){
SQLiteDatabase database = dbOpenHelper.getWritableDatabase();
database.execSQL("update person set name=?, age=? where personid=?",
new Object[]{person.getName(), person.getAge(), person.getId()});
}
public Person find(Integer id){
SQLiteDatabase database = dbOpenHelper.getWritableDatabase();
Cursor cursor = database.rawQuery("select * from person where personid=?", new String[]{String.valueOf(id)});
if(cursor.moveToNext()){
return new Person(cursor.getInt(0),cursor.getString(1),cursor.getShort(2));
}
return null;
}
public void delete(Integer... ids){
if(ids.length>0){
SQLiteDatabase database = dbOpenHelper.getWritableDatabase();
StringBuffer sb = new StringBuffer();
for(Integer id : ids){
sb.append('?').append(",");
}
sb.deleteCharAt(ids.length-1);
database.execSQL("delete person where personid in("+sb+")",
new Object[]{ids});
}
}
public List<Person> getScrollData(int startResult, int maxResult){
SQLiteDatabase database = dbOpenHelper.getWritableDatabase();
List<Person> persons = new ArrayList<Person>();
Cursor cursor = database.rawQuery("select * from person limit ?, ?",
new String[]{String.valueOf(startResult), String.valueOf(maxResult)});
while(cursor.moveToNext()){
persons.add(new Person(cursor.getInt(0),cursor.getString(1),cursor.getShort(2)));
}
return persons;
}
public long getCount(){
SQLiteDatabase database = dbOpenHelper.getWritableDatabase();
Cursor cursor = database.rawQuery("select count(*) from person", null);
if(cursor.moveToNext()){
return cursor.getLong(0);
}
return 0;
}
}
package com.travelsky.service;
import java.util.ArrayList;
import java.util.List;
import com.travelsky.domain.Person;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public class OtherPersonService {
private DataBaseOpenHelper dbOpenHelper;
public OtherPersonService(Context context) {
dbOpenHelper = new DataBaseOpenHelper(context);
}
public void save(Person person){
SQLiteDatabase database = dbOpenHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", person.getName());
values.put("age", person.getAge());
database.insert("person", "name", values);
}
public void update(Person person){
SQLiteDatabase database = dbOpenHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", person.getName());
values.put("age", person.getAge());
database.update("person", values, "personid=?", new String[]{String.valueOf(person.getId())});
}
public Person find(Integer id){
SQLiteDatabase database = dbOpenHelper.getWritableDatabase();
Cursor cursor = database.query("person", new String[]{"personid", "name", "age"},
"personid=?", new String[]{String.valueOf(id)}, null, null, null);
if(cursor.moveToNext()){
return new Person(cursor.getInt(0), cursor.getString(1), cursor.getShort(2));
}
return null;
}
public void delete(Integer... ids){
if(null != ids && ids.length>0){
SQLiteDatabase database = dbOpenHelper.getWritableDatabase();
StringBuffer sb = new StringBuffer();
String[] sbIds = new String[sb.length()];
for(int i=0;i<ids.length;i++){
sb.append('?').append(',');
sbIds[i] = String.valueOf(ids[i]);
}
sb.deleteCharAt(sb.length()-1);
database.delete("person", "personid in("+sb+")", sbIds);
}
}
public List<Person> getScrollData(int startResult, int maxResult){
SQLiteDatabase database = dbOpenHelper.getWritableDatabase();
List<Person> persons = new ArrayList<Person>();
Cursor cursor = database.query("person", new String[]{"personid", "name", "age"},
null, null, null, null, "personid desc", startResult + "," + maxResult);
while(cursor.moveToNext()){
persons.add(new Person(cursor.getInt(0), cursor.getString(1), cursor.getShort(2)));
}
return persons;
}
public int count(){
SQLiteDatabase database = dbOpenHelper.getWritableDatabase();
Cursor cursor = database.query("person", new String[]{"count(*)"}, null, null, null, null, null);
if(cursor.moveToNext()){
return cursor.getInt(0);
}
return 0;
}
}
分享到:
相关推荐
这篇博客“Android SQLite学习工具”可能详细介绍了如何在Android环境中使用SQLite进行数据操作,并提供了一个实用的SQLite管理工具——sqlite3.exe。 SQLite数据库在Android中的应用主要包括创建数据库、创建表、...
一个简单的Android SQLite ORM框架不想花资源分的同学可以上我的github主页下载:https://github.com/chenyihan/Simple-SQLite-ORM-Android,因为要传到github,所以代码中的注释和doc文档都是英文的,对自己英文不...
在Android开发中,SQLite是一个内置的关系型数据库系统,用于存储应用程序的数据。SQLite数据库因其轻量级、高效且易于集成的特点,被广泛应用于移动设备。为了更方便地管理和操作SQLite数据库,开发者通常会借助...
验证android sqlite数据库insert 和delete 方法返回值的具体规律 insert 插入一行,如果当前最大id是4,insert新的一条记录id是5 ,如果把5删除, 在insert一条新的记录id还是5,如果删除的是id为4的记录, 再新增一...
在Android开发中,SQLite是一个非常重要的组成部分,它是一个轻量级的数据库系统,允许开发者在移动设备上存储和管理数据。本资料包包含了对Android SQLite的详细文档和源码分析,帮助开发者深入理解其工作原理。 ...
SQLite 是一个轻量级的关系型数据库管理系统,广泛应用于移动设备,尤其是 Android 平台。它无需服务器进程,可直接在应用程序中使用,非常适合存储和管理应用程序数据。Android 系统自始至终内置了 SQLite 支持,...
《Android SQLite Admin 数据库管理软件详解》 在移动应用开发领域,SQLite作为一款轻量级的数据库管理系统,广泛应用于Android平台。它允许开发者在应用程序中存储、管理和检索数据,而无需依赖外部服务器。为了...
android SQLite DBHelper 单例模式 实现 dbhelper=DBHelper.getInstance(this);
在Android应用开发中,SQLite是一个轻量级的关系型数据库,它被广泛用于存储应用程序的数据。SQLite数据库具有体积小、速度快、无需单独服务器进程等优点,非常适合嵌入式系统,如移动设备上的Android应用。本教程将...
在Android应用开发中,SQLite是一个轻量级的关系型数据库,常用于存储应用程序中的结构化数据。SQLite数据库的优势在于它不需要单独的服务进程,而是直接嵌入到应用程序中,提供了高效的本地数据存储解决方案。在这...
**Android SQLite GreenDao类库详解** SQLite是Android操作系统中内置的关系型数据库系统,它轻量级、高效且易于使用,适合存储应用中的结构化数据。然而,直接使用原生的SQLite API进行数据库操作可能会显得繁琐,...
在Android系统中,SQLite是一个轻量级的数据库引擎,它被集成到每个Android设备中,为应用程序提供本地数据存储功能。SQLite3是SQLite的一个版本,适用于Android开发中的数据管理。这个"android sqlite3 demo"是一个...
SQLite是一款轻量级的数据库管理系统,它被广泛应用于Android应用程序中,因为它不需要独立的服务进程,而是内嵌在应用中,提供了高效、可靠的本地数据存储功能。"android SQLite数据库管理软件"是一个专为Android...
在Android开发中,SQLite是一个非常重要的组成部分,它是一个轻量级的、开源的、嵌入式的SQL数据库引擎,被广泛用于存储和管理应用程序中的结构化数据。本案例围绕"android sqlite数据库框架"展开,旨在通过Java注解...
在Android开发中,SQLite是一个非常重要的组件,它是一个轻量级的数据库系统,适用于移动设备。SQLite被广泛用于存储和管理应用程序中的结构化数据。在这个"android Sqlite数据库操作demo"中,我们可以深入理解如何...
### 高清彩版 Android SQLite Essentials #### 一、引言与概述 《高清彩版 Android SQLite Essentials》是一本专注于Android平台下SQLite数据库应用开发的专业书籍。本书由Sunny Kumar Aditya 和 Vikash Kumar ...
在Android开发中,SQLite是一个非常重要的组件,它是一个轻量级的数据库系统,用于存储应用程序中的结构化数据。SQLite数据库支持多种操作,如创建、查询、更新和删除数据,是移动应用开发中首选的本地数据存储解决...
在Android开发中,SQLite是一个非常重要的组件,它是一个轻量级的、开源的、嵌入式的SQL数据库引擎,被广泛用于存储应用中的结构化数据。SQLite数据库的优势在于它不需要独立的服务器进程,而是直接集成在应用程序中...
在Android开发中,SQLite是一个内置的关系型数据库,用于存储应用程序中的结构化数据。SQLite数据库具有轻量级、可移植和自包含的特点,非常适合移动设备。然而,由于其命令行界面和编程API的复杂性,开发者有时需要...
本示例"android sqlite的两种管理方法demo"旨在介绍如何在Android应用中使用SQLite,包括通过Java API和Android SQLite数据库API进行数据库操作。 首先,让我们详细探讨**Java的SQLite管理方法**。在Android中,你...