Android SQLite数据库介绍、Android Studio代码建数据库建表
目录
一 SQLite数据库介绍
二 SQLite使用步骤
三 代码和运行结果
一 SQLite数据库介绍
SQLite 是关系型数据库:使用通用的 SQL 语句进行管理 (同oracle mySql)
SQLite 是嵌入式的数据库:使用在小设备上的数据库(比如 手表、手机) → 体积小,功能强大
SQLite数据库是由底层的sqlite.c来动态创建我们的数据库 (MySql、SqlServer都是用户手动创建数据库)
支持多种数据格式,比如int varchar char,但都会转成TEXT(字符串文本)这种格式
主键一般两点要求:
1 命名必须是:_id (下划线id)
2 格式必须是Integer
二 SQLite使用步骤
1 创建工具类mySQLiteOpenHelper 继承 SQLiteOpenHelper,使用单例模式获取到实例
2 创建数据库getWritableDatabase()
3 创建表db.execSQL(sql)
三 代码和运行结果
布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity3"><Buttonandroid:text="生成DB文件"android:onClick="createDB"android:layout_width="wrap_content"android:layout_height="wrap_content"/></LinearLayout>
工具类
使用的是单例模式,单例模式介绍在这里
package com.example.mydatastroe;import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;import androidx.annotation.Nullable;/*** 工具类 单例模式(1 构造函数私有化,2 对外提供函数)*/
public class MySQLiteOpenHelper extends SQLiteOpenHelper {//2 对外提供函数private static MySQLiteOpenHelper myInstansce;public synchronized static MySQLiteOpenHelper getInstance(Context context){if(myInstansce == null){myInstansce = new MySQLiteOpenHelper(context,"qingDB.db",null,1); //以后想要做数据库升级,把1改成2}return myInstansce;}//1 构造函数私有化 (有数据库的名字 数据库的版本号 → 拿到这些信息才能有能力创建数据库)private MySQLiteOpenHelper(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) {super(context, name, factory, version);}//创建表,表数据初始化,数据库第一次创建的时候调用,第2次发现有了,就不会重复创建了,也意味着此函数只会创建一次//数据库初始化用的@Overridepublic void onCreate(SQLiteDatabase db) {//创建表//主键一般两点要求:// 1 命名必须是:_id (下划线id)// 2 格式必须是Integer// 主键自动增长: autoincrement// 创建了两列:_id,nameString sql = "create table people(_id integer primary key autoincrement,name text)";db.execSQL(sql);}//数据库升级用的@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}
}
MainActivity.java
package com.example.mydatastroe;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.View;public class MainActivity3 extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main3);}//创建dbpublic void createDB(View view) {MySQLiteOpenHelper helper = MySQLiteOpenHelper.getInstance(this);//databases 文件夹的创建靠:getWritableDatabase/getReadableDatabasehelper.getWritableDatabase();}
}
代码运行之前看一下这里是没有数据库的
运行程序,点button
刷新看到了这里创造出数据库了
把文件存到本地(注意:3个文件都要存过来,否则只能看到数据库,看不到表)
接下来我们用可视化工具SQLiteExpertPro看一下生成的数据库
关于这个工具的安装请看这里
表里的这两列创建出来了
sqlite数据库的增删改查操作请点这里
Android SQLite数据库介绍、Android Studio代码建数据库建表相关推荐
- android增删功能代码,Android SQLite增删查改实例代码部分
在 Android与SQLite数据库 这个专题里我们谈到了 SQLite 的基本应用,但在实际开发中,为了能够更好的管理和维护数据库,我们会封装一个继承自 SQLiteOpenHelper 类的数据 ...
- android 最新功能介绍,Android Studio 常用功能介绍
界面介绍 讲解1 这个界面,显示了我们使用 Android Studio时经常接触到的功能面板. Project 面板. 用于浏览项目文件. Project 面板会显示当前的所有的 module . ...
- android sqlite alert table,android sqlite数据库操作
sqlite有一点不同于其他常见数据库,就是sqlite数据库是存成文件的,可以直接把该文件从手机里导出来,以文件的形式存在,然后放到电脑上查看. Android操作数据库有如下步骤: 1.继承SQL ...
- android sqlite 类使用,Android SQLite编程详解(不使用SQLiteOpenHelper类)
数据库功能非常强大,使用起来也非常方便,SQLite数据库的一般操作包括:创建数据库.打开数据库.创建表.向表中添加数据.从表中删除数据.修改表中的数据.关闭数据库.删除指定表.删除数据库和查询表中的 ...
- android sqlite 查询时间,android – sqlite日期查询
我是新的sqlite.我有一个有3列的表 1. Id 2. FoodName 3. Date and time (ex: '1' 'Chicken' '2012-08-10 13:54') 我读到某处 ...
- android sqlite自定义函数,Android中自定义一个View的方法详解
本文实例讲述了Android中自定义一个View的方法.分享给大家供大家参考,具体如下: Android中自定义View的实现比较简单,无非就是继承父类,然后重载方法,即便如此,在实际编码中难免会遇到 ...
- Android的Toast介绍-android学习之旅(三十六)
Toast简单介绍 Toast是一个很方便的消息提示框.会在桌面显示一个短暂的消息提示.有两个特点: 1.消息不会获得焦点. 2.过一段时间会自己主动消失. Toast的生成步骤 1.调用构造器或者静 ...
- android 各种服务介绍,Android 网络服务介绍
1. 介绍 Android网络服务主要包括如下四个部分 -ConnectivityService: 提供数据连接管理服务,包括移动数据.WIFI.以太网等-NetworkPolicyManagerSe ...
- android sqlite存储数据,Android之SQLite数据存储
关于SQLite的出生长大和壮大,这里就略去了,只记几点比较重要的用法: SQLite所支持的数据类型: SQLite,SQLite3支持 NULL.INTEGER.REAL(浮点数字).TEXT(字 ...
- 注释数据库介绍之GO、KEGG数据库
做过测序的小伙伴肯定都知道GO.KEGG数据库,我们想要知道基因发挥什么功能.参与什么途径,就一定要看基因功能注释的结果,而GO.KEGG这两个数据库是基因功能注释常用的数据库,也是常常出现在测序文章 ...
最新文章
- 『Python基础-11』集合 (set)
- [Swift]LeetCode45. 跳跃游戏 II | Jump Game II
- linux学习文档-1
- mysql基础_月隐学python第22课
- find 命令_Linux下查找文件:find 命令
- P3733 [HAOI2017]八纵八横(线性基/线段树分治)
- 利用多线程提高程序性能(for Android)
- markdown mysql高亮_博客园里Markdown支持高亮显示的语言
- 服务器真在运行中,win7电脑服务器正在运行中的解决教程
- 转:Python正则表达式操作指南
- android10LTE,Jelly 2:全球最小的Android 10 4G智能手机
- HCIA-RS(2019最新题库)
- 监控工具Prometheus服务在K8s上异常
- 一周技术学习笔记(第58期)-如何突破第四章障碍
- EKS日志收集方案-PLG(Promtail+Loki+Grafana)
- MathType怎样在字母上方加一横表示均值
- word转html linux java,Java-linux下如何代码实现word转换成html
- 用C语言对数据或文件内容进行加密
- 【产业互联网周报】顺丰科技与圣辉征信达成数据流通合作;微软考虑模仿微信,建超级App;中国移动启动算力网络科学装置;...
- _access()函数