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实现(增删查改)的更多相关文章
- C# SQLite 创建数据库的方法增删查改语法和命令
SQLite介绍 SQLite是一个开源.免费的小型RDBMS(关系型数据库),能独立运行.无服务器.零配置.支持事物,用C实现,内存占用较小,支持绝大数的SQL92标准. SQLite数据库官方主页 ...
- 在Eclipse上实现简单的JDBC增删查改操作
在Javaweb的学习里,学到了如何完成简单的增删查改操作,在这里撰写一篇文章以便自己整理回忆. 首先要建立一些包和导入一些文件.建一些类.具体框架如图 编写Product类 public clas ...
- springboot使用RestHighLevelClient7简单操作ElasticSearch7增删查改/索引创建
本次操作是在 Windows上安装ElasticSearch7 进行操作 导入依赖 <?xml version="1.0" encoding="UTF-8&qu ...
- SSH框架的多表查询和增删查改 (方法一)上
原创作品,允许转载,转载时请务必标明作者信息和声明本文章==> http://www.cnblogs.com/zhu520/p/7772823.html 因为最近在做Android 练习的 ...
- SQLite在Android程序中的使用方法,SQLite的增删查改方法
Sqlite: 1.一款用来实现本地数据存储的轻量级数据管理工具,是众多用来实现数据库管理的工具之一. 2.Android已经将SQLite的代码功能吸收在它的系统中,我们可以直接在Android程序 ...
- 后端Spring Boot+前端Android交互+MySQL增删查改
2021.1.27 更新 已更新新版本博客,更新内容很多,因此新开了一篇博客,戳这里. 1 概述 使用spring boot作为后端框架与Android端配合mysql进行基本的交互,包含了最基本的增 ...
- Android——另外一种增删查改的方式(ContentProvider常用)
以下介绍另外一种增删查改的方式 package com.njupt.sqllist; import java.util.ArrayList; import java.util.List; import ...
- 后端Spring Boot+前端Android交互+MySQL增删查改(Java+Kotlin实现)
1 前言&概述 这篇文章是基于这篇文章的更新,主要是更新了一些技术栈以及开发工具的版本,还有修复了一些Bug. 本文是SpringBoot+Android+MySQL的增删查改的简单实现,用到 ...
- nodejs连接mysql并进行简单的增删查改
最近在入门nodejs,正好学习到了如何使用nodejs进行数据库的连接,觉得比较重要,便写一下随笔,简单地记录一下 使用在安装好node之后,我们可以使用npm命令,在项目的根目录,安装nodejs ...
随机推荐
- async eachSeries如何按序列执行下去
async callback要执行完才会进到一下个序列 async.mapSeries(files, function(file, outerCB) { var all = fs.readdirsyn ...
- Objective-C-----协议protocol,代码块block,分类category
概述 ObjC的语法主要基于smalltalk进行设计的,除了提供常规的面向对象特性外,还增加了很多其他特性,本文将重点介绍objective-C中一些常用的语法特性. 当然这些内容虽然和其他高级语言 ...
- MapReduce工作原理(简单实例)
Map-Reduce框架的运作完全基于<key,value>对,即数据的输入是一批<key,value>对,生成的结果也是一批<key,value>对,只是有时候它 ...
- web.xml配置详解(2)
1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码.DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用的 ...
- SQL之 UNION ALL 和UNION
有时候复杂的逻辑处理可以交给SQL来处理,自认为是比java处理要快点. 举个例子:如何统计每个品牌的的偏好用户数? 当时我做的处理是在java中处理这些品牌,若是品牌相同,就加一,但是这种方法很慢, ...
- 《DSP using MATLAB》示例Example7.10
代码: ws1 = 0.2*pi; wp1 = 0.35*pi; wp2 = 0.65*pi; ws2 = 0.8*pi; As = 60; tr_width = min((wp1-ws1), (ws ...
- 【EF】EntityFramework 更新数据库字段的三种方法
实体类 public class TestDbContext : DbContext { public DbSet<Test> Tests { get; set; } public Tes ...
- LG3690 【模板】Link Cut Tree (动态树)
题意 给定n个点以及每个点的权值,要你处理接下来的m个操作.操作有4种.操作从0到3编号.点从1到n编号. 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和.保证x到y是联通的 ...
- systemtap 安装试用
1. 安装 yum install -y systemtap systemtap-runtime 2. 环境准备 a. 自动安装依赖 stap-prep b. 手动安装依赖 kernel-deb ...
- Zookeeper的shell操作
一.客户端连接服务器 zkCli.sh start 二.命令操作 进入到客户端操作行,键入help 查看zookeeper命令列表 常用命令 1) 查看节点列表:ls 路径 2) 创建节点:creat ...