Android基础------SQLite数据库(一)
1.SQLite介绍
SQLite是一款非常流行的嵌入式数据库,它支持SQL操作,并且只用很少的内存。
Android在运行时集成了SQLite,所有每个Android应用程序都可以使用SQLLite数据库。
对熟悉SQL的开发人员来说,使用SQLite相当简单。
支持数据类型
null、integer、real、text、blob
2.使用SQLite
首次使用SQLite需要创建数据库和表,以及一些初始化数据。
Android提供了抽象类SQLiteOpenHelper完成此类功能。
2.1 SQLiteOpenHelper中的方法
onCreate(SQLiteDatabase db) //第一次创建数据库时被调用,比如表只需要创建一次,那么这个执行语句就可以写在onCreate()里面
onUpgrade(SQLiteDatabase db,int arg1,int arg2) //系统发现现有数据库版本不同,即会被调用
新建一个类,继承SQLiteOpenHelper,同时实现onCreate()和onUpgrade()方法,以及一个构造方法
public class MyOpenHelper extends SQLiteOpenHelper { /**
*
* @param context 上下文
* @param name 数据库文件名称
* @param factory 如果为null则使用默认方式
* @param version 版本号,后期可以修改,但只能往上升,不能往下降
*/
public MyOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, 1);
} /**
* 当数据库文件不存在的时候,创建数据库文件,并且是第一次使用
* @param sqLiteDatabase
*/
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
Log.i("onCreate","调用onCreate");
} /**
* 只有版本更新时调用
* @param sqLiteDatabase
* @param i 旧版本号
* @param i1 当前版本号
*/
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
Log.i("onUpgrade","调用onUpgrade"); }
}
(在android系统中,每个应用程序的SQLite数据库都被保存在各自的/data/data/<包名>/databases目录下,默认情况下,都是私有的,仅允许当前应用程序访问。)
activity_main.xml中加个按钮:
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="创建数据库"
android:onClick="test_01"/>
MainActivity:
public void test_01(View view){
//实例化
MyOpenHelper myOpenHelper = new MyOpenHelper(this,"mybase.db",null,1);
//获取一个SQLiteDatabase对象
SQLiteDatabase sqLiteDatabase = myOpenHelper.getReadableDatabase();
//sql语句,暂时忽略不写
String sql = " ";
//执行sql语句
sqLiteDatabase.execSQL(sql);
//关闭
sqLiteDatabase.close();
myOpenHelper.close();
}
2.2 SQLiteDatabase对象说明
2.2 1 通过此对象就可以调用SQLiteDatabase的方法来进行数据库操作,例如创建表、插入数据、删除数据等操作。
2.2.2 获取SQLiteDatabase对象的方法
getWritableDatabase() //以读写的方式打开数据库,一旦磁盘空间满了,数据库就只能读不能写,倘若再次打开数据就会报错
getWritableDatabase() //先以读写的方式打开数据库,如果磁盘满了就会打开失败,当打开失败后会继续尝试以只读方式打开数据库。
(SQLiteDatabase既代表了与数据库的连接,又能执行sql语句)
Android基础------SQLite数据库(一)的更多相关文章
- android基础---->SQLite数据库的使用
SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, Python)都使 ...
- Android基础------SQLite数据库(二)
1.操作SQLite数据库 1.1 execSQL() 可以执行insert.delete.update和CREATE TABLE之类有更改行为的SQL语句 1.2 rawQuery() 可以执行se ...
- Qt for Android 打包 SQLite 数据库
Qt for Android 调用 SQLite 数据库时, 怎样将已经存在的数据库附加到 APK 中? 直接在你项目里面的Android源码的根目录下新建一个文件夹assets, 数据库就可以放里面 ...
- Android实现SQLite数据库联系人列表
Android实现SQLite数据库联系人列表 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 工程内容 实现一个通讯录查看程序: 要求使用SQLite ...
- Android中SQLite数据库操作(1)——使用SQL语句操作SQLite数据库
下面是最原始的方法,用SQL语句操作数据库.后面的"Android中SQLite数据库操作(2)--SQLiteOpenHelper类"将介绍一种常用的android封装操作SQL ...
- android中sqlite数据库的基本使用和添加多张表
看了很多关于android使用sqlite数据库的文章,很多都是介绍了数据库的建立和表的建立,而表通常都是只建立一张,而实际情况我们用到的表可能不止一张,那这种情况下我们又该怎么办呢,好了,下面我教大 ...
- android 一个SQLite数据库多个数据表的基本使用框架 (带demo)
android 一个SQLite数据库多个数据表(带demo) 前言 demo演示 一.搭建 二.建立实体类 三.建立数据库操作类 ...
- android安卓Sqlite数据库实现用户登录注册
看了很多别人写的安卓SQlite数据的操作代码,一点也不通俗易懂,我觉得我写的不错,而且安卓项目也用上了,所以在博客园里保存分享一下!建立一个类 并继承SQLiteOpenHelper public ...
- 我的Android六章:Android中SQLite数据库操作
今天学习的内容是Android中的SQLite数据库操作,在讲解这个内容之前小编在前面有一篇博客也是讲解了SQLite数据库的操作,而那篇博客的讲解是讲述了 如何在Window中通过DOM来操作数据库 ...
随机推荐
- 中国大学MOOC-C程序设计(浙大翁恺)—— 单词长度
题目内容: 你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束.你要输出这行文本中每个单词的长度.这里的单词与语言无关,可以包括各种符号,比如“it's”算一个单词,长度为4.注意,行中 ...
- cannot import name '_imaging' 报错
例子如下: from PIL import Image import pytesseract as pt text = pt.image_to_string(Image.open("text ...
- java static代码块执行时机
之前一直认为static块是在class load的时候执行,今天在验证Spring初始化Context loader的时候,发现bean的static块并没有执行. Java代码: 1 Class ...
- day 4 飞机大战-面向对象
1.飞机类 #-*- coding:utf-8 -*- import pygame import time from pygame.locals import * class HeroPlane(ob ...
- hugepages_settings.sh
#!/bin/bash## hugepages_settings.sh## Linux bash script to compute values for the# recommended HugeP ...
- InnoDB锁冲突案例演示
Preface As we know,InnoDB is index organized table.InnoDB engine supports row-level lock bas ...
- JSP学习(JavaBean)
Java Web学习 一.搭建java web开发环境: (1)安装jdk (2)安装Tomcat服务器(Apache的开源项目),安装Tomcat并设置环境变量 (3)安装EclipseEE(或者M ...
- Fiddler使用总结(一)
Fiddler基础知识 .Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改. .代理就 ...
- VMware 15.0下载及安装教程
虚拟机 VMware WorkStation Pro15 下载及安装详细解 9虚拟机 VMware WorkStation Pro15 下载及安装详细解. 虚拟机官方网站: https://www.v ...
- Unity制作人物头像小图标和小地图
人物头像的制作: 在场景中添加人物模型和环境模型 设置人物的layer为Player 在主摄像机的基础上,新建一个次摄像机并将摄像机镜头对准人物面部,调整至合适大小. 设置次摄像机 culling m ...