大佬教程收集整理的这篇文章主要介绍了Android--SQLite(增,删,改,查)操作实例代码,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
需要5个类:
1.实体类:Person.java
2.抽象类:sqlOperate.java(封装了对数据库的操作)
3.助手类:DBOpenHelper.java(继承sqliteOpenHelper)
4.实现类:sqlOperateImpl.java(实现抽象类sqlOperate.java)
5.测试类:Test.java(继承AndroidTESTCasE)
1.Person.java
public class Person {
privatE int _id;
private String name;
public int getId() {
return _id;
}
public void setId(int _id) {
this._id = _id;
}
public String getName() {
return name;
}
public void setName(String Name) {
this.name = name;
}
@Override
public String toString() {
return "Person [id=" + _id + ",name=" + name + "]";
}
public Person() {
super();
}
public Person(int _id,String Name) {
super();
this._id = _id;
this.name = name;
}
}
2.sqlOperate.java
import java.util.List;
/**
* 增删改查
* @author ZLQ
*
*/
public interface sqlOperate {
public void add(Person p);
public void delete(int id);
public void updata(Person p);
public List<Person> find();
public Person findById(int id);
}
3.DBOpenHelper.java
import android.content.Context;
import android.database.sqlite.sqliteDatabase;
import android.database.sqlite.sqliteOpenHelper;
/**
* 助手类
* @author ZLQ
*
*/
public class DBOpneHelper extends sqliteOpenHelper {
private static final int version = 1;//版本
private static final String db_name = "people.db";//数据库名
public static final String stuDENT_TABLE = "student";//表名
public static final String _ID = "_id";//表中的列名
public static final String NAME = "name";//表中的列名
//创建数据库语句,stuDENT_TABLE,_ID ,NAME的前后都要加空格
private static final String create_tABLE = "create table " + stuDENT_TABLE + " ( " + _ID + " INTEGER PRIMary key autoincrement," + NAME + " text)";
public DBOpneHelper(Context context) {
super(context,db_name,null,VERSION);
}
//数据库第一次被创建时调用
@Override
public void onCreate(sqliteDatabase db) {
db.execsql(create_tABLE);
}
//版本升级时被调用
@Override
public void onUpgrade(sqliteDatabase db,int oldVersion,@R_197_6865@wVersion) {
}
}
import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.cursor;
import android.database.sqlite.sqliteDatabase;
public class sqlOperateImpl implements sqlOperate{
private DBOpneHelper dbOpenHelper;
public sqlOperateImpl(Context context) {
dbOpenHelper = new DBOpneHelper(context);
}
/**
* 增,用insert向数据库中插入数据
*/
public void add(Person p) {
sqliteDatabase db = dbOpenHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(DBOpneHelper._ID,p.getId());
values.put(DBOpneHelper.NAME,p.getName());
db.insert(DBOpneHelper.stuDENT_TABLE,values);
}
/**
* 删,通过id删除数据
*/
public void delete(int id) {
sqliteDatabase db = dbOpenHelper.getWritableDatabase();
db.delete(DBOpneHelper.stuDENT_TABLE,DBOpneHelper._ID + "=?",new String[]{String.valueOf(id)});
}
/**
* 改,修改指定id的数据
*/
public void updata(Person p) {
sqliteDatabase db = dbOpenHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(DBOpneHelper._ID,p.getName());
db.update(DBOpneHelper.stuDENT_TABLE,values,new String[]{String.valueOf(p.getId())});
}
/**
* 查,查询表中所有的数据
*/
public List<Person> find() {
List<Person> persons = null;
sqliteDatabase db = dbOpenHelper.getReadableDatabase();
cursor cursor = db.query(DBOpneHelper.stuDENT_TABLE,null);
if(cursor != null){
persons = new ArrayList<Person>();
while(cursor.moveToNext()){
Person person = new Person();
int _id = cursor.geTint(cursor.getcolumnIndex(DBOpneHelper._ID));
String name = cursor.getString(cursor.getcolumnIndex(DBOpneHelper.Name));
person.setId(_id);
person.setName(Name);
persons.add(person);
}
}
return persons;
}
/**
* 查询指定id的数据
*/
public Person findById(int id) {
sqliteDatabase db = dbOpenHelper.getReadableDatabase();
cursor cursor = db.query(DBOpneHelper.stuDENT_TABLE,new String[]{String.valueOf(id)},null);
Person person = null;
if(cursor != null && cursor.moveToFirst()){
person = new Person();
int _id = cursor.geTint(cursor.getcolumnIndex(DBOpneHelper._ID));
String name = cursor.getString(cursor.getcolumnIndex(DBOpneHelper.Name));
person.setId(_id);
person.setName(Name);
}
return person;
}
}
5.Test.java
在AndroidManifest.xml中的<application></application>外添加
(targetPackage是当前工程的包名)
<instrumentation
android:targetPackage="com.mrzhu.sqltite"
android:name="android.test.instrumentationTestRunner">
</instrumentation>
在<application></application>中添加<uses-library android:name="android.test.runner"/>
import java.util.List;
import android.test.AndroidTESTCase;
import android.util.Log;
public class Test extends AndroidTESTCase {
public void testAdd() throws Exception{
sqlOperateImpl test = new sqlOperateImpl(getContext());
Person person = new Person(2,"Peter");
test.add(person);
}
public void testdelete() throws Exception{
sqlOperateImpl test = new sqlOperateImpl(getContext());
test.delete(1);
}
public void testupdata() throws Exception{
sqlOperateImpl test = new sqlOperateImpl(getContext());
Person person = new Person(1,"Tom");
test.updata(person);
}
public void testFind() throws Exception{
sqlOperateImpl test = new sqlOperateImpl(getContext());
List<Person> persons = test.find();
for (Person person : persons) {
Log.i("System.out",person.toString());
}
}
public void testFindById() throws Exception{
sqlOperateImpl test = new sqlOperateImpl(getContext());
Person person = test.findById(2);
Log.i("System.out",person.toString());
}
}
以上是大佬教程为你收集整理的Android--SQLite(增,删,改,查)操作实例代码全部内容,希望文章能够帮你解决Android--SQLite(增,删,改,查)操作实例代码所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。