SQLite数据库是Android系统集成的一个轻量级的数据库,底层是一个数据库文件,是一个嵌入式的数据库引擎,适用于资源有限的设备上(如手机、PDA)适量数据存取。

操作SQLite数据库的步骤:

1、获取SQLiteDatabase对象,它代表了与数据库的连接。

2、调用SQLiteDatabase的方法执行SQL语句。

3、操作SQL语句的执行结果,比如使用查询返回的游标Cursor进行数据显示等。

4、关闭SQLiteDatabase,回收资源。

下面用一个简单实例来演示SQLiteDatabase的基本使用。其中,为方便阅读,数据都是手动写死的,而实际中应该根据业务需求从界面或其他地方获取,代码如下:

Activity:

package com.lovo.activity;import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;import com.lovo.databasetest.R;public class DatabaseTestActivity extends Activity {private TextView show;private SQLiteDatabase db;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);show = (TextView) findViewById(R.id.main_tv_show);}public void click(View v) {switch (v.getId()) {case R.id.main_btn_create_database:// 创建或打开数据库,第二个参数为null,表示使用默认的工厂db = SQLiteDatabase.openOrCreateDatabase(this.getFilesDir().toString() + "/user.db", null);// 打开指定数据库// db =SQLiteDatabase.openDatabase(this.getFilesDir().toString()+"/user.db",// null,1);break;case R.id.main_btn_create_table:// 创建表db.execSQL("create table t_user(_id integer primary key,u_name text,u_pwd text)");break;case R.id.main_btn_insert:// 添加数据db.execSQL("insert into t_user(u_name,u_pwd) values(?,?)",new String[] { "张三", "123" });db.execSQL("insert into t_user(u_name,u_pwd) values(?,?)",new String[] { "李四", "234" });db.execSQL("insert into t_user(u_name,u_pwd) values(?,?)",new String[] { "王五", "345" });break;case R.id.main_btn_delete:// 根据指定ID删除数据db.execSQL("delete from t_user where _id=?",new String[] { 2 + "" });break;case R.id.main_btn_update:// 根据指定ID修改数据db.execSQL("update t_user set u_name=? ,u_pwd=? where _id=?",new String[] { "赵六", "9527", 1 + "" });break;case R.id.main_btn_find:StringBuffer sb = new StringBuffer();// 查询所有数据Cursor cursor = db.rawQuery("select * from t_user", null);// 根据指定ID查询数据// Cursor cursor=db.rawQuery("select * from t_user where _id=1",null);while (cursor.moveToNext()) {int id = cursor.getInt(cursor.getColumnIndex("_id"));String name = cursor.getString(cursor.getColumnIndex("u_name"));String pwd = cursor.getString(cursor.getColumnIndex("u_pwd"));sb.append(id + " " + name + " " + pwd + "\n");}show.setText(sb.toString());break;case R.id.main_btn_close_database:if(db!=null){db.close();}break;}}}

布局XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal" ><Buttonandroid:id="@+id/main_btn_create_database"android:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="click"android:text="创建或打开数据库" /><Buttonandroid:id="@+id/main_btn_close_database"android:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="click"android:text="关闭数据库" /></LinearLayout><Buttonandroid:id="@+id/main_btn_create_table"android:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="click"android:text="创建表" /><Buttonandroid:id="@+id/main_btn_insert"android:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="click"android:text="添加" /><Buttonandroid:id="@+id/main_btn_delete"android:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="click"android:text="删除" /><Buttonandroid:id="@+id/main_btn_update"android:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="click"android:text="修改" /><Buttonandroid:id="@+id/main_btn_find"android:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="click"android:text="查找" /><TextViewandroid:id="@+id/main_tv_show"android:layout_width="wrap_content"android:layout_height="wrap_content" /></LinearLayout>

转载于:https://www.cnblogs.com/MMLoveMeMM/articles/3568197.html

Android SQLite数据库的基本操作-SQLiteDatabase相关推荐

  1. android 数据库表格数据库数据库中,Android SQLite数据库中的表详解

    Android SQLite数据库 前言 以前写PHP的时候,内置了print_r()和var_dump()两个函数用于打印输出任意类型的数据内部结构,现在做Android的开发,发现并没有这种类似的 ...

  2. 利用SQLChiper对Android SQLite数据库加密

    利用SQLChiper对Android SQLite数据库加密 前言: 上篇文章讲了Android studio+SQLCipher加密SQLite数据库的几个坑,跳过这几个坑,那么SQLCipher ...

  3. android SQLite数据库的使用

    今天,简单讲讲android如何使用SQLite数据库.  最近,自己在做一个功能时又用到了SQLite数据库,发现自己还是掌握的不很全面.其实之前的app里面也一直用到了数据库,但是自己没有花时 ...

  4. Android SQLite 数据库详细介绍

    Android SQLite 数据库详细介绍我们在编写数据库应用软件时,需要考虑这样的问题:因为我们开发的软件可能会安装在很多用户的手机上,如果应用使用到了SQLite数据库,我们必须在用户初次使用软 ...

  5. android 获取位置数据库,尝试从webview获取位置时,Android“SQLite数据库无法从/CachedGeoposition.db加载”错误...

    我正在创建一个使用webkit和chrome客户端的android应用程序.我希望能够在网页请求时获取当前位置.我设置的网页适用于普通浏览器就好了.然而,当我尝试访问该网页WebKit中,我不断收到此 ...

  6. Android SQLite数据库版本升级(分逐级升级和跨版本升级)

    参考:Android Sqlite数据库跨版本升级 保存之前数据 本文说的数据库升级是基于Android原生APISQLiteOpenHelper实现的逻辑,不涉及第三方库.其实如果使用官方推荐的Ro ...

  7. Android SQLite数据库导出/导入Excel

    Android SQLite数据库导出/导入Excel 前言 框架 使用方法 添加依赖 声明权限 导出数据库到Excel 声明实例 配置导出内容 导出监听 导入Excel到数据库 声明实例 导入监听 ...

  8. Android Sqlite数据库多表联合查询

    Android Sqlite数据库多表联合查询示例 工作上用数据库存储文件还是很便利的,所以有时候发现一张表存储数据感觉数据结构不是很清晰的时候,就需要新加第二张表或者多张表来进行联合查询对象信,一般 ...

  9. android sqlite数据库加密,(转)SQLite数据库的加密

    1.创建空的SQLite数据库. //数据库名的后缀你可以直接指定,甚至没有后缀都可以 //方法一:创建一个空sqlite数据库,用IO的方式 FileStream fs = File.Create( ...

最新文章

  1. 图解DIY高手组装电脑全过程
  2. 解决远程连接超过最大连接数问题
  3. 成功解决RuntimeError: filter weights array has incorrect shape.
  4. springboot 系列技术教程目录
  5. php tire树,Immutable.js源码之List 类型的详细解析(附示例)
  6. 数据库中间件mycat简单入门
  7. 专用工业接口电缆行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  8. ImageFun 使JPG的缩略图跟原图不一样 (刷微博必备)
  9. 2014/08/11 – Backbonejs
  10. Il2CppDumper的使用方法,ILSpy中文版的下载地址
  11. Android自定义一个对话框,属于自己的Android对话框(Dialog)自定义集合
  12. 易语言制作的QQ聊天中常用的GIF图片【带源码下载】
  13. 服务器开启虚拟化有什么好处
  14. 深度学习AI美颜系列---美图秀秀AI美图之跨次元相机特效
  15. 管理学概念区分(行为科学、科学管理、古典管理理论)
  16. 无人超市的核心不在于代替人,而是一款赚钱的互联网产品,是互联网伸向现实世界的
  17. 人工蜂群算法的java代码_求人工蜂群算法的c程序源代码``````谢谢各位大神了``````...
  18. EMWIN电容触摸Touch步骤及注意事项
  19. 自制电脑usb红外遥控键盘
  20. 在vim中写python程序_用 Vim 写 Python 的最佳实践是什么?

热门文章

  1. thinkphp3.1的新功能
  2. windows server 2008 r2之间的ftp传输脚本
  3. 行业研究报告基本分析思路updated with 5c model
  4. C++2 dimension vector
  5. sqlite3 命令行简易教程
  6. web app中常用插件(zepto--用法类似于jquery、利用nodejs定制zepto)
  7. lodash 核心源码学习(基于4.17.11版本)
  8. 简单介绍--TOSCA自动化测试工具
  9. Java并发编程的艺术(一)——并发编程需要注意的问题
  10. 承担集团数万应用、研发人员日常工作,阿里持续交付平台的设计、迭代之道...