今天是中秋节,心情不太好,于是乎写会代码吧.
1 建立一个新包com.andy.db.dao,
2. 建立类PersonDao.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.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; public class PersonDao { private PersonSQLiteOpenHelper helper; public PersonDao(Context context){ helper = new PersonSQLiteOpenHelper(context); } /* * 插入用户名和手机号到SQLite数据库 */ public void addPerson(String name, String number){ //此时就获取到了数据库 SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL("insert into person (name,number) values (?,?)", new Object[]{name,number}); db.close(); } /** * 删除一条数据,按用户名的条件 * @param name */ public void deletePerson(String name){ SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL("delete from person where name =?", new Object[]{name}); db.close(); } /** * 修改一条数据,按用户名的条件 * @param name * @param number */ public void updatePerson(String name, String number){ SQLiteDatabase db = helper.getWritableDatabase(); db.execSQL("update person set number = ? where name = ?", new Object[]{name,number} ); db.close(); } /** * 查询一条数据,按用户名的条件 * @param name * @param number */ public boolean findPerson(String name){ SQLiteDatabase db = helper.getWritableDatabase(); Cursor cursor = db.rawQuery("select * from person where name=?", new String[]{name}); 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); 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; } }
3. 建立一个新包com.andy.db.domain
4. 在其下面创建一个新类Person.java
package com.andy.db.domain; public class Person { private int id; private String name; private String number; public Person(int id, String name, String number){ this.id = id; this.name= name; this.number = number; } @Override public String toString() { return "Person [id=" + id + ", name=" + name + ", number=" + number + "]"; } 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; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; } }
5. 在测试类里面增加新的测试方法:
package com.andy.db.test; import java.util.List; import com.andy.db.PersonSQLiteOpenHelper; import com.andy.db.dao.PersonDao; import com.andy.db.domain.Person; import android.test.AndroidTestCase; /** * 运行过程如果报以下错误,说明没有配置测试环境 * 数据库_SqlLite does not specify a android.test.InstrumentationTestRunner instrumentation or does not declare uses-library android.test.runner in its AndroidManifest.xml * @author HuiQinBo * */ public class TestPersonDB extends AndroidTestCase { public PersonDao pd; /** * getContext() 是测试框架给提供的上下文件 * * 来源:android.test.AndroidTestCase.getContext() */ public void testCreatePersonDb(){ PersonSQLiteOpenHelper db = new PersonSQLiteOpenHelper(getContext()); //打开或创建一个可写的数据库 db.getWritableDatabase(); } public void testAddPerson(){ pd = new PersonDao(getContext()); pd.addPerson("王五", "123456789"); } public void testDeletePerson(){ pd = new PersonDao(getContext()); pd.deletePerson("张三"); } public void testUpdatePerson(){ pd = new PersonDao(getContext()); pd.updatePerson("王五", "987654321"); } public void testSelectPerson(){ pd = new PersonDao(getContext()); boolean result = pd.findPerson("李四"); assertEquals(true, result); } public void testFindAll(){ pd = new PersonDao(getContext()); List<Person> persons = pd.findAllPerson(); for(Person p: persons){ System.out.println(p.toString()); } } }
6 效果图:
7项目源代码:请看附件
相关推荐
### Android远程调用SQL Server实现增删查改 #### SQL Server环境的搭建 为了实现Android应用与SQL Server数据库之间的远程通信,首先需要确保SQL Server环境的正确搭建。本例使用的是SQL Server 2008 R2 和 jTDS ...
在Android平台上,SQLite数据库是应用数据存储的主要方式之一。SQLite是一个轻量级的、嵌入式的、关系型数据库,它提供了强大的数据管理功能。当开发者需要对应用中的SQLite数据库进行备份与还原时,通常需要自定义...
在Android开发中,SQLite是一个非常重要的组件,它是一个轻量级的数据库系统,用于存储和管理应用程序中的结构化数据。本实例"Android-SQLite实例实现简易词典"旨在教你如何利用SQLite创建一个简单的词典应用,其中...
在Android开发中,有时我们需要将MySQL数据库中的数据导出到本地TXT文件,以便进行数据分析或备份。然而,这个过程可能会遇到数据库连接错误的问题。这里,我们将深入探讨如何正确地实现这个功能,以及如何解决可能...
Android Studio是Google官方推出的集成开发环境(IDE),专为Android应用程序开发设计。它以其高效、易用和功能强大而受到广大开发者喜爱。本教程旨在帮助初学者了解并掌握Android Studio的基础使用方法,从而踏入...
android-11 adroid 3 android sdk
android-11 adroid 3 android sdk
android-11 adroid 3 android sdk
在这个"android 数据库操作demo"中,我们将深入探讨如何在Android环境下使用SQLite进行数据库操作,包括创建数据库、创建表、插入数据、查询数据、更新数据以及删除数据等核心概念。 1. **创建数据库**: 在...
android-11 adroid 3 android sdk
android-11 adroid 3 android sdk
它提供了各种方法来执行增、删、查、改操作。例如,`execSQL()`方法可以执行任意的SQL语句,而`insert()`, `delete()`, `update()`和`query()`则提供了一种更简便的方式来执行常见的数据库操作。`insert()`用于添加...
由于提供的文件内容包含大量的技术术语和代码片段,我将以此为基础,详细解释Android Studio教程中包含的知识点,确保满足1000字以上的要求。 ### Android Studio开发环境 Android Studio是谷歌官方推出的Android...
首先,数据库的增删改查是日程管理应用的基础。Android系统支持SQLite数据库,这是一种轻量级的嵌入式关系型数据库,适合于移动设备。开发者需要了解如何创建数据库表,插入、更新、删除和查询数据。例如,创建一个...
Android Studio是Google推出的一款强大的集成开发环境(IDE),专为Android应用开发而设计,它提供了丰富的功能,使得开发者可以高效地构建、测试和调试应用程序。 首先,"PPT"部分通常包含课程设计的理论讲解和...
在IT行业中,尤其是在移动设备和嵌入式系统的测试与调试领域,`adroid Serpor 测试工具` 提供了一个高效且精准的解决方案。这个工具主要针对手机的串口(Serial Port)和网口(Network Port)进行压力测试,旨在检测...
Android数据库最基础的一个例子(本人已测试,可以运行) 为launcher添加一个仿Mac的dock(附源码) 使用Gallery实现Tab 仿QQ--tab切换动画实例 Android 小项目之---猜扑克牌游戏 (附源码) fleep滑动切换tab(切换...
在Android平台上,数据库是应用程序存储数据的重要方式,尤其在开发日记系统这样的应用时,数据库扮演着核心角色。本文将深入探讨“Android代码-日记系统源码数据库的基本操作”这一主题,解析相关源码,理解如何在...
4)我的学生:在新增我的班级后,接着新增我的班级里的科目,然后可以在新增的科目中进行学生相关信息的增删改查,学生的相关信息:名字、性别、家长号码、手机号码、学生成绩;可以根据学生姓名查询当前科目的成绩...