声明: 此代码依然在项目 “数据库_SqlLite” 项目基础上开发,如果没有此项目代码,请到33课教程的附件中下载!
1. com.andy.db.dao 包下新建立类 PersonDao2.java
package com.andy.db.dao; import java.util.ArrayList; import java.util.List; import com.andy.db.PersonSQLiteOpenHelper; import com.andy.db.domain.Person; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; public class PersonDao2 { private PersonSQLiteOpenHelper helper; public PersonDao2(Context context){ helper = new PersonSQLiteOpenHelper(context); } /* * 插入用户名和手机号到SQLite数据库 * * the row ID of the newly inserted row, or -1 if an error occurred */ public long addPerson(String name, String number){ //此时就获取到了数据库 SQLiteDatabase db = helper.getWritableDatabase(); //db.execSQL("insert into person (name,number) values (?,?)", new Object[]{name,number}); ContentValues values = new ContentValues(); values.put("name", name); values.put("number", number); long row_id = db.insert("person", null, values); db.close(); return row_id; } /** * 删除一条数据,按用户名的条件 * @param name * * WhereClause :the optional WHERE clause to apply when deleting. Passing null will delete all rows. */ public int deletePerson(String name){ SQLiteDatabase db = helper.getWritableDatabase(); // db.execSQL("delete from person where name =?", new Object[]{name}); int row_id = db.delete("person", "name=?", new String[]{name}); db.close(); return row_id; } /** * 修改一条数据,按用户名的条件 * @param name * @param number */ public int updatePerson(String name, String number){ SQLiteDatabase db = helper.getWritableDatabase(); // db.execSQL("update person set number = ? where name = ?", new Object[]{name,number} ); ContentValues values = new ContentValues(); values.put("number", number); int row_id = db.update("person", values, "name=?", new String[]{name}); db.close(); return row_id; } /** * 查询一条数据,按用户名的条件 * @param name * @param number * selection : A filter declaring which rows to return, formatted as an SQL WHERE clause (excluding the WHERE itself). Passing null will return all rows for the given table. * selectionArgs: You may include ?s in selection, which will be replaced by the values from selectionArgs, in order that they appear in the selection. The values will be bound as Strings. */ public boolean findPerson(String name){ SQLiteDatabase db = helper.getWritableDatabase(); // Cursor cursor = db.rawQuery("select * from person where name=?", new String[]{name}); Cursor cursor = db.query("person", new String[]{"id", "name", "number"}, "name=?", new String[]{name}, null, null, null); boolean result = cursor.moveToNext(); cursor.close(); db.close(); return result; } public List<Person> findAllPerson(){ SQLiteDatabase db = helper.getWritableDatabase(); // Cursor cursor = db.rawQuery("select * from person", null); Cursor cursor = db.query("person", new String[]{"id","name","number"}, null, null, null, null, null); List<Person> persons = new ArrayList<Person>(); Person person; while(cursor.moveToNext()){ int id = cursor.getInt(cursor.getColumnIndex("id")); String name = cursor.getString(cursor.getColumnIndex("name")); String number = cursor.getString(cursor.getColumnIndex("number")); person = new Person(id,name,number); persons.add(person); } cursor.close(); db.close(); return persons; } }
2. com.andy.db.test 包下创建TestPersonDao2.java
package com.andy.db.test; import java.util.List; import com.andy.db.PersonSQLiteOpenHelper; import com.andy.db.dao.PersonDao2; import com.andy.db.domain.Person; import android.test.AndroidTestCase; public class TestPersonDao2 extends AndroidTestCase { public PersonDao2 pd; /** * getContext() 是测试框架给提供的上下文件 * * 来源:android.test.AndroidTestCase.getContext() */ public void testCreatePersonDb(){ PersonSQLiteOpenHelper db = new PersonSQLiteOpenHelper(getContext()); //打开或创建一个可写的数据库 db.getWritableDatabase(); } public void testAddPerson(){ pd = new PersonDao2(getContext()); pd.addPerson("张三", "123456789"); } public void testDeletePerson(){ pd = new PersonDao2(getContext()); pd.deletePerson("张三"); } public void testUpdatePerson(){ pd = new PersonDao2(getContext()); pd.updatePerson("李四", "987654321"); } public void testFindPerson(){ pd = new PersonDao2(getContext()); boolean result = pd.findPerson("李四"); assertEquals(true, result); } public void testFindAll(){ pd = new PersonDao2(getContext()); List<Person> persons = pd.findAllPerson(); for(Person p: persons){ System.out.println(p.toString()); } } }
3. 测试: 在DDMS模式下,将database数据库导出到桌面,然后使用Navicat或其它工具将其导入/打开, 这时就可以随时查看数据库了
1) 将项目内的数据库导出到本地:
2) 使用Navicat 工具导入Person.db数据库
3) 查看Person 数据表
5. 下载源代码,请参照附件 → [数据库_SqlLite.rar]
相关推荐
Android+SQlite 简单的《学生信息管理系统》(实现基本增删改查) 此代码中还有与其相对应的apk文件(在SIMS/bin目录中),大家可先行放手机上看一下效果。 希望对初学者有一定的帮助。(本人自己编写)
sqlite 增删改查简单示例sqlite 增删改查简单示例sqlite 增删改查简单示例sqlite 增删改查简单示例sqlite 增删改查简单示例sqlite 增删改查简单示例
IOS sqlite UI界面 增删改查 对sqlite简单封装,并用UI界面完成对用户数据的增删改查,将数据库表封装成对象,通过操作对象来操作数据库
android利用sqlite实现增删改查
NULL 博文链接:https://huiqinbo.iteye.com/blog/2246266
Android SQLite 增删改查操作实例
本人博客:Android储存---SQLite数据库的简单使用,实现增删改查demo
这是学习及开发SQlite的一个很好的例子,含有其增删改查的所有功能 附有完整的代码 可以直接运行
用sqlite实现学生成绩数据库的增删改查用sqlite实现学生成绩数据库的增删改查用sqlite实现学生成绩数据库的增删改查用sqlite实现学生成绩数据库的增删改查用sqlite实现学生成绩数据库的增删改查用sqlite实现学生成绩...
Android studio Android寄存系统,登录注册,增删改查,sqlite
该源码为使用sqlite实现增删改查的一个小示例,为学习android提供一个参考。
根据Android数据存储的内容,综合应用SharedPreferences和SQLite数据库实现一个用户信息管理系统,强化对SharedPreferences的理解的使用,熟练掌握SQLite的操作。 要求: 1. 巩固Android应用开发工具(Eclipse或者...
Android使用SQLite数据库进行增删改查详细案例...
实现了安卓对数据库SQLite进行增删改查的功能,里面介绍了两种方法来实现。
这个是一个关于Android的数据库的增删改查的Demo,本来我写了博客,可是还是觉得把源码贴给大家好些,顺便混点积分,代码可以运行,比博客更加直观!
android之sqlite实现增删改查.docx
Android Stdio开发的一个应用,运用Sqlite数据库和listview实现在前端进行对Sqlite的增删改查,数据库中的数据显示在Listview上,在Editetext上输入关键字会查询带有关键字的数据,点击Listview的每一行都可以对该行...
相当简单Android SQLite数据库增删改查,绝对适合新手,包您一看就会, 1.这是我照着网上的资料和帮助手册写的; 2.数据库的增删改查都涉及到了; 3.导入项目,运行,然后 在终端进入数据库,命令为 adb shell cd ...