转载 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. Python实践之(七)逻辑回归(Logistic Regression)

    机器学习算法与Python实践之(七)逻辑回归(Logistic Regression) zouxy09@qq.com http://blog.csdn.net/zouxy09 机器学习算法与Pyth ...

  2. Java_InvokeAll_又返回值_多个线程同时执行,取消超时线程

    package com.demo.test4; import java.util.ArrayList; import java.util.List; import java.util.concurre ...

  3. [Security] Automatically adding CSRF tokens to ajax calls when using jQuery--转

    地址:http://erlend.oftedal.no/blog/?blogid=118 When building a ajax based application, you want to pro ...

  4. Spark之路 --- Scala用JFreeChart画图表实例

    JFreeChart介绍 JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用 ...

  5. 编写一个单独的Web Service for Delphi

    早段时间看了一篇好文章,对其整理成以下几步 1新建一个SOAP Server Application,在提示输入接口时输入MyHello,把所有文件保存在一个叫Ser的目录下,其中一个包含TWebMo ...

  6. linux安装

    1.rpm: • RPM是软件包管理工具,是Redhat Package Manager的缩写,最早由redhat公司引入的,现在已经成为公认的行业标准了.• 什么是package• 简单地说就是归档 ...

  7. MySQL多实例配置

    实验环境:RHEL6.4为最小化安装,mysql安装包为通用二进制安装包,版本为mysql-5.6.26 创建mysql用户 #useradd –M –s /sbin/nologin mysql #y ...

  8. HUST 1017 Exact cover (Dancing links)

    1017 - Exact cover 时间限制:15秒 内存限制:128兆 自定评测 6110 次提交 3226 次通过 题目描述 There is an N*M matrix with only 0 ...

  9. Windows 8.1 归档 —— Step 2 对新系统的少量优化

    下面是来自 iplaysoft 的优化技巧:

  10. Linux 内核配置和编译

    Linux 内核配置和编译 一.配置内核 (1). 为什么要配置内核 1. 硬件需求 2. 软件需求 选出需要的,去掉不要的 (2). 如何配置内核 1. make  config 基于文本模式的交互 ...