Android SQLite最简单demo实现(增删查改)

  本来不太想写这篇博客的,但是看到网上的关于android数据库操作的博文都讲得很详细,对于像我这样的新手入门了解SQLite的基本操作有一定难度,所以我参考了网上的一些博客文章,并自己亲自摸索了一遍,希望写出这么一篇博文来记录SQLite的最基本操作,同时也希望能够对android的新手们有些帮助。

参考博客:http://www.20864.com/201247/274.html

这里只是一个示范性的demo,并没实现什么具体功能,只实现了对数据库的增删查改操作。

以下是实现demo的步骤:

第一步,创建自己的SQL操作类 DBHelper


package com.example.SQLiterTest;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

/**
* 可以通过SQLiteOpenHelper的以下两个方法来或得SQLiteDatabase的对象:
* getReadableDatabase() 创建或者打开一个查询数据库
* getWritableDatabase() 创建或者打开一个可写数据库
*/
public class DBHelper extends SQLiteOpenHelper {

/**
* 构造函数,必须实现
* @param context 上下文路径
* @param name 数据库名称
* @param factory 可选游标工厂,通常为NULL
* @param version 当前数据库版本号
*/

private SQLiteDatabase mDataBase = null;
private static final String USER_TABLE = "user";

public DBHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
mDataBase = this.getWritableDatabase();
}

//数据库第一次创建时会调用,一般在其中创建数据库表
@Override
public void onCreate(SQLiteDatabase db) {
//使用execSQL()方法执行SQL语句,如果没有异常,这个方法没有返回值
db.execSQL("create table user(id INTEGER PRIMARY KEY AUTOINCREMENT," +
"name varchar(20), address TEXT)");
Log.v("mytab","-->onCreate");
}

//当数据库需要修改的时候,Android系统会主动的调用这个方法。
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}

//打开数据库时的回调函数,一般不会用
@Override
public void onOpen(SQLiteDatabase db) {
super.onOpen(db);
Log.v("mytab","-->onOpen");
}

@Override
public synchronized void close() {
super.close();
}

}

第二步,在Activity的onCreate函数中实现增删查改的功能。


package com.example.SQLiterTest;

import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;

public class MyActivity extends Activity {
/**
* Called when the activity is first created.
*/
private SQLiteDatabase db;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// 获取处理SQLiteOpenHelper的子类的SQLite的实例,如果只读,可以采用getReadableDatabase(),
// 这个例子我们奖通过SQLiteDatabase实例的操作,来进行对数据进行增删改查询,采用可写的方式。
db = new DBHelper(getApplicationContext(),"mydb",null,1).getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("name", "JackLi");
cv.put("address", "QingYuan");
//插入
db.insert("user",null,cv);
Log.v("mytab","-->have insert");
//更新
ContentValues cv2 = new ContentValues();
cv2.put("name","HaiXin");
db.update("user",cv2,"name=?",new String[]{"JackLi"});
Log.v("mytab","-->have updated");

//查询
String[] columns = {"name", "address"};
Cursor cursor = db.query("user",columns,"name = ?", new String[] {"HaiXin"},null,null,null);
while (cursor.moveToNext())
{
String myname = cursor.getString(cursor.getColumnIndex("name"));
Log.v("mytab","---->"+myname);
}

//删除
db.delete("user","name = ?",new String[]{"HaiXin"});
Log.v("mytab","-->have delete");
}

@Override
protected void onDestroy() {
super.onDestroy();
db.close();
}
}

  

  总的来说整个过程只有两步,在第一次运行这个demo时,会创建一个名叫"mydb"的数据库和一个叫“user”的数据表。

运行程序后,在logcat中会显示以下一些信息:

05-19 08:08:30.864    1802-1802/com.example.SQLiterTest V/mytab﹕ -->onOpen
05-19 08:08:30.872 1802-1802/com.example.SQLiterTest V/mytab﹕ -->have insert
05-19 08:08:30.888 1802-1802/com.example.SQLiterTest V/mytab﹕ -->have updated
05-19 08:08:30.888 1802-1802/com.example.SQLiterTest V/mytab﹕ ---->HaiXin
05-19 08:08:30.900 1802-1802/com.example.SQLiterTest V/mytab﹕ -->have delete

  通过logcat中的信息可以很清楚的看到程序的执行过程。

Android SQLite最简单demo实现(增删查改),布布扣,bubuko.com

时间: 2024-10-16 07:11:25

Android SQLite最简单demo实现(增删查改)的相关文章

C# SQLite 创建数据库的方法增删查改语法和命令

SQLite介绍 SQLite是一个开源.免费的小型RDBMS(关系型数据库),能独立运行.无服务器.零配置.支持事物,用C实现,内存占用较小,支持绝大数的SQL92标准. SQLite数据库官方主页:http://www.sqlite.org/index.html   cmd下sqlite的使用网 1:选择下载对应自己系统的sqlite.3exe文件 2:解压后使用cmd命令进入sqlite3.exe文件所在的路径执行命令就可以操作做相应的操作. 在进入数据库之后如果需要退出的话windows

mysql简单操作,增删查改.

当我们装好mysql数据库时,初学者可以进行简单的增删查改练习: 第一步打开mysql 先启动cmd命令窗口 输入mysql -u root -p 在输入密码就进入到了mysql 进入mysql之后: 输入命令show databases; 查看数据库 然后我们创建一个数据库school,对数据表和元素进行操 进入数据库 use + 数据库名 然后进行建表操作 这样我们的学生表就创建好了 然后给里面添加数据:如果想加入中文的话加一个命令 set names gbk; 不然就会报错,像这样 这样就

在Android中利用SQLite实现对数据的增删查改

停更了一天,I'm back again~~当我们需要操作大量的数据时,我们首先想到的当然是数据库,因为可以通过简单的语句实现数据的增删改查,在Android中,我们不使用SQL或者ORACLE,我们使用SQLite,因为它占用资源更少,而语句格式与SQL语句一样. 首先,我们来在Android中实现数据库的创建与增删改查,引用数据库的类时,不再继承常用的Activity类,而是继承Android中的SQLiteOpenHelper,创建一个构造方法,四个参数分别是(Context contex

一般处理程序加简单三层实现增删查改(1)

一般处理程序通常实现IHttpHandler接口,ashx效率比较高效,webform(aspx)比较消耗资源,mvc效率刚好介于两者之间 一般处理程序处理过程(HttpHandler) IIS处理不了这种后缀程序通过映射表将该程序传递给ASPNET_ISAPI.DLL的程序,然后又将请求转给了网站程序网站程序调用HttpRuntime类的静态方法处理请求,有以下步骤:1,实现System.Web.IHttpHandle特殊接口的类实现了该接口的类都能作为一个外部请求的目标程序2,创建 Http

数据库的连接与简单的ATM增删查改操作

连接数据库有两种方式,直连和桥连,这里作者只讲一下普遍的直连,桥连读者想知道请自行百度 首先要有驱动软件,笔者的工具很旧 在你的java项目里面创建一个文件夹lib,将jar文件复制到里面,右键点击jar文件→Build Path→Configure Build Path→ 添加找到lib目录下的jar文件 确定 则会出现奶瓶,这样驱动就弄好的,下面开始连接 请注意里面所有的包都是java.sql下的 ,其中root是你的mysql账号,610321520是你的mysql的密码,3306是mys

SSH框架的多表查询和增删查改 (方法一)上

原创作品,允许转载,转载时请务必标明作者信息和声明本文章==>  http://www.cnblogs.com/zhu520/p/7772823.html   因为最近在做Android 练习的项目,使用增删查改的时候还是使用jdbc的增删查改 发现实在是太麻烦了,所有果断抛弃它,使用ssh, 但是发现不会....经过了四天的时间我终于弄懂了. 哪个大神看到有问题指点一下. 在弄这前要先明白一下@Component @Controller @Service @Repository 这些注释 可以

SQLite在Android程序中的使用方法,SQLite的增删查改方法

Sqlite: 1.一款用来实现本地数据存储的轻量级数据管理工具,是众多用来实现数据库管理的工具之一. 2.Android已经将SQLite的代码功能吸收在它的系统中,我们可以直接在Android程序中使用SQLite的语句来创建数据库,并实现数据库的增删查改 SQLite的简单使用方法: 如何获得一个数据库的class模板,并设定数据库里的数据结构: 自己新建一个类,继承SQLiteOpenHelper,并重写构造方法,oncreate(),onUpgrade() 自定义类的代码实现方法和构造

Asp.Net Mvc+MongoDB简单增删查改

                                   Asp.Net Mvc+MongoDB简单增删查改 概要:现在很多企业都在使用非关系型的NoSql数据库,其中MongoDB是相当热门的,最近有空就研究了一下,本文写了一套基于Asp.Net Mvc和MongoDB的简单增删查改,本文部分内容是借用其他博文,最后我会贴出出处. 正文: 在控制器的Models中新建一个UserModel模型(其中相当于另开一个类库,类似Dal层) using System; using Syst

【原创】android——SQLite实现简单的注册登陆(已经美化)

1,Main_activity的xmL配置 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_pa