Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了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


package com.mrzhu.sqltite;

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


package com.mrzhu.sqltite;

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


package com.mrzhu.sqltite;

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) {

 }

}

4.sqlOperateImpl.java

@L_675_34@ 代码如下:

package com.mrzhu.sqltite;

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"/>


package com.mrzhu.sqltite;

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,请注明来意。
标签:增删改查