亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android--SQLite(增,刪,改,查)操作實例代碼

2020-04-11 12:31:24
字體:
來源:轉載
供稿:網友

需要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, int newVersion) {

 }

}

4.SQLOperateImpl.java

復制代碼 代碼如下:

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, null, 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.getId());
  values.put(DBOpneHelper.NAME, p.getName());
  db.update(DBOpneHelper.STUDENT_TABLE, values, DBOpneHelper._ID + "=?", 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, null, null, null, null, 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, null, DBOpneHelper._ID + "=?", new String[]{String.valueOf(id)}, null, null, 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());
 }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品国产91久久久| 亚洲电影成人av99爱色| 国产精品ⅴa在线观看h| 成人h猎奇视频网站| 国产精品丝袜久久久久久不卡| 国产在线播放91| 欧美日韩美女在线观看| 亚洲最新av在线| 亚洲欧美日韩综合| 成人444kkkk在线观看| 欧美亚洲另类激情另类| 久久国产精彩视频| 亚洲www永久成人夜色| 欧美疯狂做受xxxx高潮| 色噜噜狠狠色综合网图区| 国产视频999| 欧美黑人极品猛少妇色xxxxx| 国产精品久久综合av爱欲tv| 国产做受高潮69| 国产区亚洲区欧美区| 欧美国产第一页| 亚洲欧美制服综合另类| 97婷婷涩涩精品一区| 国产日韩在线看片| 国产精品r级在线| 中文字幕日韩在线观看| 亚洲精品www久久久| 精品成人69xx.xyz| 日本伊人精品一区二区三区介绍| 日韩av快播网址| 色婷婷**av毛片一区| 亚洲美女精品成人在线视频| 久久九九全国免费精品观看| 亚洲综合精品伊人久久| 91夜夜揉人人捏人人添红杏| 精品久久香蕉国产线看观看亚洲| 成人国产精品久久久久久亚洲| 欧美日韩国产页| 一区二区欧美亚洲| 国产精品日韩欧美综合| 成人网中文字幕| 青青草国产精品一区二区| 欧美午夜无遮挡| 日韩久久精品电影| 欧美美女操人视频| 国产一区二区日韩精品欧美精品| 国产精品视频免费在线| 色播久久人人爽人人爽人人片视av| 欧美成人免费大片| 中文字幕日韩欧美精品在线观看| 亚洲四色影视在线观看| 日本一本a高清免费不卡| 中文字幕v亚洲ⅴv天堂| 欧美丰满老妇厨房牲生活| 亚洲人成电影网站色www| 国产精品永久在线| 韩剧1988在线观看免费完整版| 日韩中文字幕在线视频| 成人在线一区二区| 尤物九九久久国产精品的特点| 久久91亚洲人成电影网站| 国产成人久久久| 亚洲丁香婷深爱综合| 夜夜躁日日躁狠狠久久88av| 欧美大学生性色视频| 91免费福利视频| 一区二区三区美女xx视频| 亚洲天堂男人天堂| 91久久精品美女| 国产欧美一区二区白浆黑人| 97激碰免费视频| 国产综合视频在线观看| 亚洲人成网站免费播放| 国产精品69久久久久| 欧美日韩精品在线| 国产亚洲精品久久久久动| 美女视频黄免费的亚洲男人天堂| 午夜精品理论片| 日本国产一区二区三区| 亚洲国产精品久久精品怡红院| 日韩欧美有码在线| 国模极品一区二区三区| 粉嫩老牛aⅴ一区二区三区| 国产精品久久久久久久久免费| 精品无人区太爽高潮在线播放| 91精品国产91久久久久福利| 69国产精品成人在线播放| 日韩精品极品在线观看播放免费视频| 久久久久国产视频| 亚洲第一网中文字幕| 亚洲成年人影院在线| 中文字幕精品久久久久| 欧美精品成人91久久久久久久| 亚洲成人网在线观看| 国产噜噜噜噜久久久久久久久| 欧美激情视频在线观看| 欧美日韩国产精品专区| 久久久人成影片一区二区三区观看| 国产精品视频色| 国产成人av网址| 国产一区二区三区在线免费观看| 欧美激情一级二级| 日韩有码在线播放| 久久综合88中文色鬼| 日韩精品中文字幕在线| 国产精品中文久久久久久久| 在线观看欧美日韩| 美女福利精品视频| 国产主播喷水一区二区| 国产精品久久久久久中文字| 亚洲欧洲在线看| 久久久天堂国产精品女人| 丰满岳妇乱一区二区三区| 久久成人精品视频| 精品国产成人在线| 97视频在线观看免费| 亚洲精品资源美女情侣酒店| 欧美第一黄网免费网站| 亚洲欧美精品一区| 欧美成人精品一区二区| 秋霞成人午夜鲁丝一区二区三区| 亚洲新声在线观看| 久久久久久国产精品| 国产精品亚洲视频在线观看| 色妞久久福利网| 久久久久国产精品免费网站| 91九色国产在线| 国产精品99蜜臀久久不卡二区| 69久久夜色精品国产69乱青草| 亚洲欧美中文字幕| 亚洲剧情一区二区| 欧美日韩国产在线| 国产成人精品网站| 精品福利在线观看| 欧美不卡视频一区发布| 久久久97精品| 欧美激情中文字幕在线| 美女啪啪无遮挡免费久久网站| 国产一区私人高清影院| 国产精品av在线播放| 久久国产精品网站| 国产成人久久精品| 欧美高清视频在线观看| 国产免费亚洲高清| 97在线视频免费看| 欧美极品少妇xxxxⅹ免费视频| 欧美一级bbbbb性bbbb喷潮片| 亚洲精品福利免费在线观看| 国产精品久久久久av| 不卡伊人av在线播放| 日韩男女性生活视频| 亚洲精品福利免费在线观看| 国产精品久久久久久久久影视| 日韩欧美视频一区二区三区| 久热精品视频在线观看| 激情亚洲一区二区三区四区| 日韩免费在线观看视频| 中文字幕少妇一区二区三区| 欧美成人在线免费| 亚洲福利视频专区| 国产精品自拍小视频| 影音先锋欧美精品| 国产成人精品视频在线观看| 黑人巨大精品欧美一区二区一视频|