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

 

[html]  view plain copy
  1. package com.mrzhu.sqltite;  
  2.   
  3. public class Person {  
  4.       
  5.     private int _id;  
  6.     private String name;  
  7.       
  8.     public int getId() {  
  9.         return _id;  
  10.     }  
  11.       
  12.     public void setId(int _id) {  
  13.         this._id = _id;  
  14.     }  
  15.       
  16.     public String getName() {  
  17.         return name;  
  18.     }  
  19.       
  20.     public void setName(String name) {  
  21.         this.name = name;  
  22.     }  
  23.       
  24.     @Override  
  25.     public String toString() {  
  26.         return "Person [id=" + _id + "name=" + name + "]";  
  27.     }  
  28.       
  29.     public Person() {  
  30.         super();  
  31.     }  
  32.       
  33.     public Person(int _id, String name) {  
  34.         super();  
  35.         this._id = _id;  
  36.         this.name = name;  
  37.     }  
  38. }  


 

 

 

2.SQLOperate.java

 

[html]  view plain copy
  1. package com.mrzhu.sqltite;  
  2.   
  3. import java.util.List;  
  4.   
  5. /**  
  6.  * 增删改查  
  7.  * @author ZLQ  
  8.  *  
  9.  */  
  10. public interface SQLOperate {  
  11.     public void add(Person p);  
  12.     public void delete(int id);  
  13.     public void updata(Person p);  
  14.     public List<Person> find();  
  15.     public Person findById(int id);  
  16. }  


 

 

 

3.DBOpenHelper.java

 

[html]  view plain copy
  1. package com.mrzhu.sqltite;  
  2.   
  3. import android.content.Context;  
  4. import android.database.sqlite.SQLiteDatabase;  
  5. import android.database.sqlite.SQLiteOpenHelper;  
  6.   
  7. /**  
  8.  * 助手类  
  9.  * @author ZLQ  
  10.  *  
  11.  */  
  12. public class DBOpneHelper extends SQLiteOpenHelper {  
  13.   
  14.     private static final int VERSION = 1;//版本  
  15.     private static final String DB_NAME = "people.db";//数据库名  
  16.     public static final String STUDENT_TABLE = "student";//表名  
  17.     public static final String _ID = "_id";//表中的列名  
  18.     public static final String NAME = "name";//表中的列名  
  19.     //创建数据库语句,STUDENT_TABLE,_ID ,NAME的前后都要加空格  
  20.     private static final String CREATE_TABLE = "create table " + STUDENT_TABLE + " ( " + _ID + " Integer primary key autoincrement," + NAME + " text)";  
  21.       
  22.     public DBOpneHelper(Context context) {  
  23.         super(context, DB_NAME, null, VERSION);  
  24.     }  
  25.   
  26.     //数据库第一次被创建时调用   
  27.     @Override  
  28.     public void onCreate(SQLiteDatabase db) {  
  29.         db.execSQL(CREATE_TABLE);  
  30.     }  
  31.   
  32.     //版本升级时被调用   
  33.     @Override  
  34.     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
  35.   
  36.     }  
  37.   
  38. }  


 

 

4.SQLOperateImpl.java

 

[html]  view plain copy
  1. package com.mrzhu.sqltite;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.   
  6. import android.content.ContentValues;  
  7. import android.content.Context;  
  8. import android.database.Cursor;  
  9. import android.database.sqlite.SQLiteDatabase;  
  10.   
  11. public class SQLOperateImpl implements SQLOperate{  
  12.   
  13.     private DBOpneHelper dbOpenHelper;  
  14.       
  15.     public SQLOperateImpl(Context context) {  
  16.         dbOpenHelper = new DBOpneHelper(context);  
  17.     }  
  18.   
  19.     /**  
  20.      * 增,用insert向数据库中插入数据  
  21.      */  
  22.     public void add(Person p) {  
  23.         SQLiteDatabase db = dbOpenHelper.getWritableDatabase();  
  24.         ContentValues values = new ContentValues();  
  25.         values.put(DBOpneHelper._ID, p.getId());  
  26.         values.put(DBOpneHelper.NAME, p.getName());  
  27.         db.insert(DBOpneHelper.STUDENT_TABLE, null, values);  
  28.     }  
  29.   
  30.     /**  
  31.      * 删,通过id删除数据  
  32.      */  
  33.     public void delete(int id) {  
  34.         SQLiteDatabase db = dbOpenHelper.getWritableDatabase();  
  35.         db.delete(DBOpneHelper.STUDENT_TABLE, DBOpneHelper._ID + "=?", new String[]{String.valueOf(id)});  
  36.     }  
  37.   
  38.     /**  
  39.      * 改,修改指定id的数据  
  40.      */  
  41.     public void updata(Person p) {  
  42.         SQLiteDatabase db = dbOpenHelper.getWritableDatabase();  
  43.         ContentValues values = new ContentValues();  
  44.         values.put(DBOpneHelper._ID, p.getId());  
  45.         values.put(DBOpneHelper.NAME, p.getName());  
  46.         db.update(DBOpneHelper.STUDENT_TABLE, values, DBOpneHelper._ID + "=?", new String[]{String.valueOf(p.getId())});  
  47.     }  
  48.   
  49.     /**  
  50.      * 查,查询表中所有的数据  
  51.      */  
  52.     public List<Person> find() {  
  53.         List<Person> persons = null;  
  54.         SQLiteDatabase db = dbOpenHelper.getReadableDatabase();  
  55.         Cursor cursor = db.query(DBOpneHelper.STUDENT_TABLE, null, null, null, null, null, null);  
  56.         if(cursor != null){  
  57.             persons = new ArrayList<Person>();  
  58.             while(cursor.moveToNext()){  
  59.                 Person person = new Person();  
  60.                 int _id = cursor.getInt(cursor.getColumnIndex(DBOpneHelper._ID));  
  61.                 String name = cursor.getString(cursor.getColumnIndex(DBOpneHelper.NAME));  
  62.                 person.setId(_id);  
  63.                 person.setName(name);  
  64.                 persons.add(person);  
  65.             }  
  66.         }  
  67.         return persons;  
  68.     }  
  69.   
  70.     /**  
  71.      * 查询指定id的数据  
  72.      */  
  73.     public Person findById(int id) {  
  74.         SQLiteDatabase db = dbOpenHelper.getReadableDatabase();  
  75.         Cursor cursor = db.query(DBOpneHelper.STUDENT_TABLE, null, DBOpneHelper._ID + "=?", new String[]{String.valueOf(id)}, null, null, null);  
  76.         Person person = null;  
  77.         if(cursor != null && cursor.moveToFirst()){  
  78.             person = new Person();  
  79.             int _id = cursor.getInt(cursor.getColumnIndex(DBOpneHelper._ID));  
  80.             String name = cursor.getString(cursor.getColumnIndex(DBOpneHelper.NAME));  
  81.             person.setId(_id);  
  82.             person.setName(name);  
  83.         }  
  84.         return person;  
  85.     }  
  86. }  


 

 

 

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

 

 

[html]  view plain copy
  1. package com.mrzhu.sqltite;  
  2.   
  3. import java.util.List;  
  4.   
  5. import android.test.AndroidTestCase;  
  6. import android.util.Log;  
  7.   
  8. public class Test extends AndroidTestCase {  
  9.     public void testAdd() throws Exception{  
  10.         SQLOperateImpl test = new SQLOperateImpl(getContext());  
  11.         Person person = new Person(2, "Peter");  
  12.         test.add(person);  
  13.     }  
  14.       
  15.     public void testDelete() throws Exception{  
  16.         SQLOperateImpl test = new SQLOperateImpl(getContext());  
  17.         test.delete(1);  
  18.     }  
  19.       
  20.     public void testUpdata() throws Exception{  
  21.         SQLOperateImpl test = new SQLOperateImpl(getContext());  
  22.         Person person = new Person(1, "Tom");  
  23.         test.updata(person);  
  24.     }  
  25.       
  26.     public void testFind() throws Exception{  
  27.         SQLOperateImpl test = new SQLOperateImpl(getContext());  
  28.         List<Person> persons = test.find();  
  29.         for (Person person : persons) {  
  30.             Log.i("System.out", person.toString());  
  31.         }  
  32.     }  
  33.       
  34.     public void testFindById() throws Exception{  
  35.         SQLOperateImpl test = new SQLOperateImpl(getContext());  
  36.         Person person = test.findById(2);  
  37.         Log.i("System.out", person.toString());  
  38.     }  
  39. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
未来社区的建设背景和需求分析指出,随着智能经济、大数据、人工智能、物联网、区块链、云计算等技术的发展,社区服务正朝着数字化、智能化转型。社区服务渠道由分散向统一融合转变,服务内容由通用庞杂向个性化、服务导向转变。未来社区将构建数字化生态,实现数据在线、组织在线、服务在线、产品智能和决策智能,赋能企业创新,同时注重人才培养和科研平台建设。 规划设计方面,未来社区将基于居民需求,打造以服务为中心的社区管理模式。通过统一的服务平台和应用,实现服务内容的整合和优化,提供灵活多样的服务方式,如推送式、订阅式、热点式等。社区将构建数据与应用的良性循环,提高服务效率,同时注重生态优美、绿色低碳、社会和谐,以实现幸福民生和产业发展。 建设运营上,未来社区强调科学规划、以人为本,创新引领、重点突破,统筹推进、整体提升。通过实施院落+社团自治工程,转变政府职能,深化社区自治法制化、信息化,解决社区治理中的重点问题。目标是培养有活力的社会组织,提高社区居民参与度和满意度,实现社区治理服务的制度机制创新。 未来社区的数字化解决方案包括信息发布系统、服务系统和管理系统。信息发布系统涵盖公共服务类和社会化服务类信息,提供政策宣传、家政服务、健康医疗咨询等功能。服务系统功能需求包括办事指南、公共服务、社区工作参与互动等,旨在提高社区服务能力。管理系统功能需求则涉及院落管理、社团管理、社工队伍管理等,以实现社区治理的现代化。 最后,未来社区建设注重整合政府、社会组织、企业等多方资源,以提高社区服务的效率和质量。通过建立社区管理服务综合信息平台,提供社区公共服务、社区社会组织管理服务和社区便民服务,实现管理精简、高效、透明,服务快速、便捷。同时,通过培育和发展社区协会、社团等组织,激发社会化组织活力,为居民提供综合性的咨询和服务,促进社区的和谐发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值