转载 http://blog.csdn.net/s874154731/article/details/7086238

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DatabaseHelper extends SQLiteOpenHelper {
static String dbName= "mydb.db";
static int dbVersion = 2;
public DatabaseHelper(Context context) {
super(context, dbName, null, dbVersion);
}
//只在初次使用数据库的时候会被自动调用一次
public void onCreate(SQLiteDatabase db) {
Log.i("TAG","onCrete被调用了");
String sql = "create table person(personid integer primary key autoincrement," +
"name varchar(20), age integer)";
db.execSQL(sql);
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.i("TAG","onUpgrade被调用了");
String sql = "alter table person add phone char(20) null";
db.execSQL(sql);
}
}
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import cn.class3g.domain.Person;
public class PersonService {
private DatabaseHelper dbHelper;
public PersonService(Context context){
dbHelper = new DatabaseHelper(context);
}
public void add(Person person){
SQLiteDatabase db = dbHelper.getReadableDatabase();
String sql = "insert into person(name, age, phone) values(?,?,?)";
db.execSQL(sql,new Object[]{person.getName(), person.getAge(), person.getPhone()});
}
public void delete(int id){
SQLiteDatabase db = dbHelper.getReadableDatabase();
String sql = "delete from person where personid=?";
db.execSQL(sql,new Object[]{id});
}
public void update(Person person, int id){
SQLiteDatabase db = dbHelper.getReadableDatabase();
String sql = "update person set name=?, age=?, phone=? where personid=?";
db.execSQL(sql,new Object[]{person.getName(),person.getAge(),person.getPhone(), id});
}
public Person find(int id){
SQLiteDatabase db = dbHelper.getReadableDatabase();
String sql = "select * from person where personid=?";
Cursor cursor = db.rawQuery(sql, new String[]{String.valueOf(id) });
if(cursor.moveToNext()){
Person person = new Person();
person.setPersionid(cursor.getInt(0));
person.setName(cursor.getString(cursor.getColumnIndex("name")));
person.setAge(cursor.getInt(2));
person.setPhone(cursor.getString(3));
return person;
}
return null;
}
public int getRecordsCount(){
SQLiteDatabase db = dbHelper.getReadableDatabase();
String sql = "select count(*) from person";
Cursor cursor = db.rawQuery(sql, null);
cursor.moveToFirst();
int count = cursor.getInt(0);
cursor.close();
return count;
}
//跳过前面的start条记录,读取其后count记录
public List<Person> getScrollData(int start, int count){
SQLiteDatabase db = dbHelper.getReadableDatabase();
String sql = "select * from person limit ?,?";
Cursor cursor = db.rawQuery(sql,
new String[] { String.valueOf(start),
String.valueOf(count) });
List<Person> list = new ArrayList<Person>();
while(cursor.moveToNext()){
Person p = new Person();
p.setPersionid(cursor.getInt(0));
p.setName(cursor.getString(1));
p.setAge(cursor.getInt(2));
list.add(p);
}
cursor.close();
return list;
}
}

Android sqlite的更多相关文章

  1. Android SQLite 通配符查询找不到参数问题

    使用Android SQLite中SQLiteDatabase类的query方法查询时,如果where中包含通配符,则参数会无法设置,如类似下面的方法查询时 SQLiteDatabase db = d ...

  2. Android+Sqlite 实现古诗阅读应用(三)

    往期传送门: Android+Sqlite 实现古诗阅读应用(一) Android+Sqlite 实现古诗阅读应用(二) 加入截图分享的功能. 很多应用都有分享的功能,我也想在我的古诗App里加入这个 ...

  3. Android+Sqlite 实现古诗阅读应用(二)

    传送门:Android+Sqlite 实现古诗阅读应用(一) Hi,又回来了,最近接到很多热情洋溢的小伙伴们的来信,吼开心哈,我会继续努力的=-=! 上回的东西我们做到了有个textview能随机选择 ...

  4. Android Sqlite 数据库版本更新

      Android Sqlite 数据库版本更新 http://87426628.blog.163.com/blog/static/6069361820131069485844/ 1.自己写一个类继承 ...

  5. Android SQLite总结(一) (转)

    Android SQLite总结(一)  郑海波 2012-08-21 转载请声明:http://blog.csdn.net/nuptboyzhb/article/details/7891887 前言 ...

  6. android SQLite使用SQLiteOpenHelper类对数据库进行操作

    android SQLite使用SQLiteOpenHelper类对数据库进行操作 原文: http://byandby.iteye.com/blog/835580

  7. Android sqlite管理数据库基本用法

    Android操作系统中内置了sqlite数据库(有关sqlite数据库详细介绍见:http://zh.wikipedia.org/wiki/SQLite),而sqllite本身是一个很小型的数据库, ...

  8. Android SQLite 数据库详细介绍

    Android SQLite 数据库详细介绍 我们在编写数据库应用软件时,需要考虑这样的问题:因为我们开发的软件可能会安装在很多用户的手机上,如果应用使用到了SQLite数据库,我们必须在用户初次使用 ...

  9. Android Sqlite 导入CSV文件 .

    http://blog.csdn.net/johnnycode/article/details/7413111 今天遇到 Oracle 导出的12万条CSV格式数据导入 Android Sqlite ...

  10. Android sqlite数据库存取图片信息

    Android sqlite数据库存取图片信息 存储图片:bitmap private byte[] getIconData(Bitmap bitmap){ int size = bitmap.get ...

随机推荐

  1. mysql修改表结构

    表 linksus_gov_running_trans 和 linksus_gov_running 的 is_mulsplit_id 字段需要改成 bigint(20)原:`is_mulsplit_i ...

  2. 细说linux挂载——mount,及其他……

    http://forum.ubuntu.org.cn/viewtopic.php?t=257333

  3. IDEA 编译错误:java: try-with-resources is not supported in -source 1.6 (use -source 7 or higher to enable try-with-resources)

    错误描述 在用IDEA编译别人的项目的时候遇到下面的错误: java: try-with-resources is not supported in -source 1.6 (use -source ...

  4. 1002 GTY's birthday gift

    GTY's birthday gift                                                                       Time Limit ...

  5. Collections.synchronizedMap 详解

    众所周知,HashMap 本身非线程安全的,但是当使用 Collections.synchronizedMap(new HashMap()) 进行包装后就返回一个线程安全的Map. 怎么实现的呢?今天 ...

  6. 用RSA实现Web单点登录密码的加密传输

    在使用通用权限管理系统(吉日嘎拉)的单点登录功能时,对登录密码使用了RSA加密(非对称加密),有使用这个权限管理系统的可参考下. 前端部分,请引用以下几个js文件: <script type=& ...

  7. 乐在其中设计模式(C#) - 单例模式(Singleton Pattern)【转】

    介绍 保证一个类仅有一个实例,并提供一个访问它的全局访问点. 示例 保证一个类仅有一个实例. Singleton using System; using System.Collections.Gene ...

  8. Recovery启动流程(2)---UI界面

    转载请注明来源:cuixiaolei的技术博客 Recovery启动流程系列文章把recvoery目录下文件分成小块讲解,最后再以一条主线贯穿所有的内容.这篇文章主要讲解Recovery-UI的相关内 ...

  9. Linux vsftp

    本机环境CentOS-6.6-i386-bin-DVD1.iso安装盘.安装时选择minimal模式.本机IP地址配置为192.168.0.211. 1.查询系统是否已安装了vsftpd [root@ ...

  10. delphi xe5 android tts(Text To Speech)

    TTS是Text To Speech的缩写,即“从文本到语音”,是人机对话的一部分,让机器能够说话. 以下代码实现xe5 开发的文本转语音的方法 和访问蓝牙一样,这里用javaclass的接口实现 接 ...