SQLite数据库及在Android开发中的基本使用

SQLite数据库的特点

轻量级数据库,无需搭建服务器。

SQLite环境配置

这里提供从官网下载的方法,如果有Android Studio的项目,可以跳转到本文:SQLite在Android中的应用

1.进入sqlite官网(https://www.sqlite.org/index.html),进入Download

2.选择Windows版本下的sqlite-tools,下载压缩包

3.解压后的文件

4.进入系统环境配置界面(可在设置里面搜索),编辑环境变量

5.在系统变量的Path中添加sqlite3.exe的路径(如C:\Program Files (x86)\sqlite-tools-win32-x86-3360000)

6.进入命令行,输入sqlite3语句,测试环境是否安装成功

SQLite的常用基本操作

查看数据库

.database

打开数据库

.open 数据库文件名(后缀名为.db)

显示该数据库中的创建操作

.schema

查看数据表

.table

创建数据表(与SQL语言相同)

create table 表名(字段1 数据类型, 字段2 数据类型, ...);

SQL语言

SQL语言在这里都可以使用,如insert(),select,update()

SQLite在Android中的应用

找到sqlite3.exe

1.打开Android Studio,右上方找到SDK Manager,打开并复制SDK的路径

2.在Sdk/platform-tools目录下可以找到SQLite数据库的运行文件 sqlite3.exe,然后跟上面步骤一样配置环境变量即可。

访问数据库

1.新建一个公共类继承自SQLiteOpenHelper,建好以后需要重写构造函数,以及onCreate()和onUpgrade()两个方法

public class MyOpenHelper extends SQLiteOpenHelper {//重写构造函数public MyOpenHelper(Context context){super(context, "taskDB.db", null,1);//taskDB.db为数据库名,若不存在则创建}@Overridepublic void onCreate(SQLiteDatabase db) {String create_sql = "create table task(id INTEGER PRIMARY KEY AUTOINCREMENT, content varchar(50), status int);";db.execSQL(create_sql);  //执行SQL语句}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}
}

对数据库修改或插入

//新建MyOpenHelper实例,注意自己重新定义的构造函数的参数
MyOpenHelper openHelper = new MyOpenHelper(this);
//通过getWritableDatabase()创建用于写数据库的实例
SQLiteDatabase writableDatabase = openHelper.getWritableDatabase();//新建ContentValues类,用来存放插入数据库的数据
ContentValues task_item = new ContentValues();
//ContentValues.put(key, value)  key需要与数据表的字段名对应
task_item.put("content", ((EditText) findViewById(R.id.Content)).getText().toString());
task_item.put("status",0);//执行插入语句 writableDatabase.insert(数据表名, nullColumnHack, ContentValues)
//nullColumnHack通常为null
writableDatabase.insert("task", null, task_item);
//关闭数据库,减少内存资源浪费
writableDatabase.close();

读取数据库

public List<TaskItem> task_list = new ArrayList<>();public void ReadDataBase(){MyOpenHelper openHelper = new MyOpenHelper(this);//创建SQLiteDatabase实例并获取ReadableDatabaseSQLiteDatabase read_db = openHelper.getReadableDatabase();//使用ReadableDatabase中的游标Cursor cursor = read_db.query("task",new String[]{"id", "content", "status"},null,null,null,null,null);//使用while语句遍历游标Cursor,将从数据库获取的数据放进list列表中while(cursor.moveToNext()){TaskItem task_item = new TaskItem();//游标get方法传入的字段索引值是从0开始的task_item.setId(cursor.getInt(0));task_item.setContent(cursor.getString(1));task_item.setStatus(cursor.getInt(2));task_list.add(task_item);}//关闭游标和ReadableDatabase,减少内存资源浪费cursor.close();     read_db.close();
}class TaskItem {private int id;private String content;private int status;public int getId() {return id;}public String getContent() {return content;}public int getStatus() {return status;}public void setId(int id) {this.id = id;}public void setContent(String content) {this.content = content;}public void setStatus(int status) {this.status = status;}
}

SQLite数据库及在Android开发中的基本使用相关推荐

  1. android中资源文件的两种访问方式,在android开发中进行数据存储与访问的多种方式介绍...

    在android开发中进行数据存储与访问的多种方式介绍 更新时间:2013年06月07日 16:24:23   作者: 很多时候我们的软件需要对处理后的数据进行存储或再次访问,Android为数据存储 ...

  2. android权限--android开发中的权限及含义(下)

    android权限--android开发中的权限及含义(下) android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权 ...

  3. android中的mvp模式怎么定义,详解MVP模式在Android开发中的应用

    一.MVP介绍 随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责.为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Mode ...

  4. Android开发中保存数据的四种方法方法

    本文来自:安卓航班网 在Android开发中我们会接触到四种数据存储方式,每种存储方式都各有不同:以下安卓航班分别列举了Android开发中的不同存储方式的特点. 一,Preferences Pref ...

  5. android最佳开发实现_在android开发中使用可访问性最佳做法

    android最佳开发实现 As you know, accessibility is about building products that everyone can use easily and ...

  6. Android开发中内存、内部存储、外部存储详解

    手机是有两个内存的.2G和16G同时出现在一个手机中,2G是指运行内存,16G是指存储内存. 手机的内存,分两种,一个是存储内存,相当于电脑的硬盘,一般手机参数里超过4G的都是指这个.存储内存是可以扩 ...

  7. android+显示html内容居中显示图片,Android开发中对HTML内容的显示

    摘 要 随着Android科技的发展,手机客户端接受了更多的HTML内容.本文作者采用WebView直接显示法结合人机 >> Android开发中的主题设置研究 线程在Android开发中 ...

  8. Android开发中应避免的重大错误

    by Varun Barad 由Varun Barad Android开发中应避免的重大错误 (Critical mistakes to avoid in Android development) A ...

  9. android 4.4 禁止下拉,Android开发中禁止下拉式的实现技巧

    我们开发项目的时候,经常会看到禁止的情况,而Android开发中并没有直接调用的接口,下面是爱站技术频道小编就给大家介绍的Android开发中禁止下拉式的实现技巧,希望网友们喜欢! 分享给大家供大家参 ...

最新文章

  1. android studio 无线手机调试插件,Android Studio ADB Wifi 无线调试
  2. 轻量级嵌入式数据库H2的愉快玩耍之旅
  3. 根据title 关闭cmd 窗口_2种Win7关闭休眠功能方法
  4. 网站的高性能架构--应用服务器优化
  5. 在PPT中插入flash动画和影片
  6. docker 安装入门
  7. 【HTTP】 认证和单点登录 【瞎写的…】
  8. ExtAspNet v3.1.0
  9. 解决VS中注释乱码的问题
  10. Nginx常用使用解读及配置
  11. 读书节第二日丨数据大咖来荐读,互动荐书赢好礼!
  12. webpack配置工程师(一):基本篇
  13. JetBrains:webstrom无法识别就require方法
  14. 伺服驱动器cn1引脚定义_台达A2 A3系列伺服CN1接线对照表
  15. 如何开发一款游戏:游戏开发流程及所需工具
  16. 【ESP32】12.I2C LCD1602液晶显示实验(LiquidCrystal_I2C库)
  17. 标准C函数库头文件、POSIX标准库头文件和Windows API函数库头文件说明
  18. hover后执行过渡效果
  19. java加载tensorflow训练的PB模型记录
  20. Android加密工具类,Android AES加密工具类分享

热门文章

  1. 简单粗暴-文件拓展名+任务管理器
  2. AB测试案例及工具资源
  3. mysql 51cto 函数_MySQL常用函数
  4. 网红如何对抗MCN?
  5. CSS语法之@规则(at-rule)
  6. JAVA设计模式是个什么玩意儿_02_抽象工厂模式
  7. word2016 样式里无标题2、标题3
  8. PR做片头:如何用PR做片头,如何用模板来制作片头?
  9. java求最大子串_Java获取两个字符串中最大相同子串的方法
  10. Python实践 制作石头剪刀布游戏 带GUI界面