您的位置:首页 > 移动开发 > Android开发

android连接SQLite数据库-----增加改查+分页

2011-12-01 09:16 323 查看
SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如
Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月.至今已经有10个年头,SQLite也迎来了一个版本SQLite3已经发布。

还有一件事,大家下载的时候,不要加数据库连接驱动包。本项目是不用的。

先让我们看一下图先。



viewsourceprint?

001
业务类
002
packagecom.smart.dh;
003
importjava.util.Iterator;

004
importjava.util.List;
005
importandroid.test.AndroidTestCase;
006
importandroid.util.Log;
007
importcom.smart.domain.Person;

008
importcom.smart.service.PersonService;
009
public
class
PersonServiceTestextendsAndroidTestCase{
010
private
static
finalStringTAG=
"PersonServiceTest"
;
011
012
//保存数据。
013
public
void
testSave()throwsException{
014
PersonServicepersonService=
new

PersonService(
this
.getContext());
015
//personService.save(newPerson("老梁",(short)23));
016
for

(
int

i=0;i<10;i++){
017
personService.save(
new

Person(
"llb"
+i,(
short
)(i+1)));
018
}

019
020
021
}
022
023
024
//查询
025
public
void
testFind()throwsException{
026
PersonServicepersonService=
new

PersonService(
this
.getContext());
027
Personperson=personService.find(1);
028
Log.i(TAG,person.toString());
029
030
//personService.save(newPerson("老梁",(short)23));
031
}
032
//更新语句
033
public
void
testUpdate()throwsException{
034
PersonServicepersonService=
new

PersonService(
this
.getContext());
035
Personperson=personService.find(1);
036
person.setName(
"smart"
);
037
personService.update(person);
038
039
Log.i(TAG,person.toString());
040
041
}
042
//获得所有的条数
043
public
void
testGetCount()throwsException{
044
PersonServicepersonService=
new

PersonService(
this
.getContext());
045
Log.i(TAG,String.valueOf(personService.getCount()));
046
047
}
048
049
//分页功能
050
public
void
testGetScrollData()throwsException{

051
PersonServicepersonService=
new

PersonService(
this
.getContext());
052
List<Person>persons=personService.getScrollData(0,20);
//从0条到20条的数据
053
for
(Personperson:persons){
054
Log.i(TAG,person.toString());
055
}

056
057
058
}
059
060
public
void
testDelete()throwsException{
061
PersonServicepersonService=
new

PersonService(
this
.getContext());
062
personService.delete(1,2,3);
//删除1.2.3三条记录
063
}
064
065
066
067
068
069
070
071
}
072
073
javaBean类
074
packagecom.smart.domain;
075
public
class
Person{
076
@Override
077
public

StringtoString(){
078
079
return

"personid="
+personid+
",name="
+name+
",age="
+age;
080
}
081
public
int
personid;
082
public

Stringname;
083
public

Shortage;
084
public
int
getPersonid(){
085
return

personid;
086
}
087
public
void
setPersonid(
int

personid){
088
this
.personid=personid;
089
}
090
public

StringgetName(){
091
return

name;
092
}
093
public
void
setName(Stringname){
094
this
.name=name;
095
}
096
//增加一个构造器
097
public
Person(
int

personid,Stringname,Shortage){
098
super();
099
this
.personid=personid;
100
this
.name=name;
101
this
.age=age;
102
}
103
//创建构造器
104
public
Person(Stringname,
short

age){
105
this
.name=name;
106
this
.age=age;
107
108
}
109
public

ShortgetAge(){
110
return

age;
111
}
112
public
void
setAge(Shortage){
113
this
.age=age;
114
}
115
}
116
117
118
数据库创建类
119
packagecom.smart.service;

120
importandroid.content.Context;

121
importandroid.database.sqlite.SQLiteDatabase;
122
importandroid.database.sqlite.SQLiteDatabase.CursorFactory;
123
importandroid.database.sqlite.SQLiteOpenHelper;
124
public
class
DataBaseOpenHelperextendsSQLiteOpenHelper{
125
//数据名称,
126
private
static
finalStringDBNAME=
"smrtDataBase"
;
127
//数据库版本
128
private
static
final
int

version=1;
129
//构造方法参数,
130
public

DataBaseOpenHelper(Contextcontext){
131
super(context,DBNAME,
null
,version);
132
}
133
//数据库创建表的名子。
134
@Override
135
public
void
onCreate(SQLiteDatabasedb){
136
db.execSQL(
"CREATETABLEperson(personidintegerprimarykeyautoincrement,namevarchar(20),ageINTEGER)"
);
137
}
138
//更新方法
139
@Override
140
public
void
onUpgrade(SQLiteDatabasedb,
int

oldVersion,
int

newVersion){
141
db.execSQL(
"EROPTABLEIFEXISTSperson"
);
142
onCreate(db);
143
}
144
145
146
147
}
刚学用这个东西,不知道在哪里上传小项目,希望大家告诉我一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: