Android--SQLite(增,删,改,查)操作
来源:互联网 发布:网页防篡改软件 编辑:程序博客网 时间:2024/05/15 09:29
需要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;}@Overridepublic 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);}//数据库第一次被创建时调用 @Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL(CREATE_TABLE);}//版本升级时被调用 @Overridepublic 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());}}
- Android--SQLite(增,删,改,查)操作
- Android--SQLite(增,删,改,查)操作
- Android--SQLite(增,删,改,查)操作
- Android--SQLite(增,删,改,查)操作
- Android--SQLite(增,删,改,查)
- Android SQLite 数据库、表的增、删、改、查操作
- android对sqlite数据库操作(创建 增 删 改 查)
- Android Sqlite的增、删、改、查
- Android SQLite 增,删,改,查
- android SQLite增,删,改,查
- Android 之SQLite(增 删 改 查)
- Android SQLite 数据库 增删改查操作
- Android Sqlite数据库增删改查操作
- android sqlite增删改查操作
- Android SQLite增删查改基本操作
- Android学习笔记十:android SQLite数据库基本操作增、删、改、查速成
- Android结合界面对Sqlite数据库做增,删,改,查.操作
- Android实现SQLite数据库的增、删、改、查的操作
- 静态数据库
- 黑马程序员----JAVA----IO小结(2)
- MVC框架(1)
- 使用内嵌jetty启动solr
- 操丛数据
- Android--SQLite(增,删,改,查)操作
- Hadoop Pig学习笔记(一) 各种SQL在PIG中实现
- MoSQL:简化MongoDB与PostgreSQL之间的同步
- vim使用小技巧—字符搜索
- WideCharToMultiByte和MultiByteToWideChar函数的用法
- struts2.2.3 配置中文乱码拦截过滤器 解决接收中文参数乱码问题
- Android--使用Pull解析器解析xml文件
- poj1330 lca转rmq
- 进程和线程的区别