目录

一 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代码建数据库建表相关推荐

  1. android增删功能代码,Android SQLite增删查改实例代码部分

    在 Android与SQLite数据库 这个专题里我们谈到了 SQLite 的基本应用,但在实际开发中,为了能够更好的管理和维护数据库,我们会封装一个继承自 SQLiteOpenHelper 类的数据 ...

  2. android 最新功能介绍,Android Studio 常用功能介绍

    界面介绍 讲解1 这个界面,显示了我们使用 Android Studio时经常接触到的功能面板. Project 面板. 用于浏览项目文件. Project 面板会显示当前的所有的 module .  ...

  3. android sqlite alert table,android sqlite数据库操作

    sqlite有一点不同于其他常见数据库,就是sqlite数据库是存成文件的,可以直接把该文件从手机里导出来,以文件的形式存在,然后放到电脑上查看. Android操作数据库有如下步骤: 1.继承SQL ...

  4. android sqlite 类使用,Android SQLite编程详解(不使用SQLiteOpenHelper类)

    数据库功能非常强大,使用起来也非常方便,SQLite数据库的一般操作包括:创建数据库.打开数据库.创建表.向表中添加数据.从表中删除数据.修改表中的数据.关闭数据库.删除指定表.删除数据库和查询表中的 ...

  5. android sqlite 查询时间,android – sqlite日期查询

    我是新的sqlite.我有一个有3列的表 1. Id 2. FoodName 3. Date and time (ex: '1' 'Chicken' '2012-08-10 13:54') 我读到某处 ...

  6. android sqlite自定义函数,Android中自定义一个View的方法详解

    本文实例讲述了Android中自定义一个View的方法.分享给大家供大家参考,具体如下: Android中自定义View的实现比较简单,无非就是继承父类,然后重载方法,即便如此,在实际编码中难免会遇到 ...

  7. Android的Toast介绍-android学习之旅(三十六)

    Toast简单介绍 Toast是一个很方便的消息提示框.会在桌面显示一个短暂的消息提示.有两个特点: 1.消息不会获得焦点. 2.过一段时间会自己主动消失. Toast的生成步骤 1.调用构造器或者静 ...

  8. android 各种服务介绍,Android 网络服务介绍

    1. 介绍 Android网络服务主要包括如下四个部分 -ConnectivityService: 提供数据连接管理服务,包括移动数据.WIFI.以太网等-NetworkPolicyManagerSe ...

  9. android sqlite存储数据,Android之SQLite数据存储

    关于SQLite的出生长大和壮大,这里就略去了,只记几点比较重要的用法: SQLite所支持的数据类型: SQLite,SQLite3支持 NULL.INTEGER.REAL(浮点数字).TEXT(字 ...

  10. 注释数据库介绍之GO、KEGG数据库

    做过测序的小伙伴肯定都知道GO.KEGG数据库,我们想要知道基因发挥什么功能.参与什么途径,就一定要看基因功能注释的结果,而GO.KEGG这两个数据库是基因功能注释常用的数据库,也是常常出现在测序文章 ...

最新文章

  1. 『Python基础-11』集合 (set)
  2. [Swift]LeetCode45. 跳跃游戏 II | Jump Game II
  3. linux学习文档-1
  4. mysql基础_月隐学python第22课
  5. find 命令_Linux下查找文件:find 命令
  6. P3733 [HAOI2017]八纵八横(线性基/线段树分治)
  7. 利用多线程提高程序性能(for Android)
  8. markdown mysql高亮_博客园里Markdown支持高亮显示的语言
  9. 服务器真在运行中,win7电脑服务器正在运行中的解决教程
  10. 转:Python正则表达式操作指南
  11. android10LTE,Jelly 2:全球最小的Android 10 4G智能手机
  12. HCIA-RS(2019最新题库)
  13. 监控工具Prometheus服务在K8s上异常
  14. 一周技术学习笔记(第58期)-如何突破第四章障碍
  15. EKS日志收集方案-PLG(Promtail+Loki+Grafana)
  16. MathType怎样在字母上方加一横表示均值
  17. word转html linux java,Java-linux下如何代码实现word转换成html
  18. 用C语言对数据或文件内容进行加密
  19. 【产业互联网周报】顺丰科技与圣辉征信达成数据流通合作;微软考虑模仿微信,建超级App;中国移动启动算力网络科学装置;...
  20. _access()函数

热门文章

  1. 简单聊聊为什么封包比内存贵那么多
  2. 中国玻璃纤维网市场市场发展状况与竞争格局分析报告2022-2028年
  3. PMP超详细的报名指南来了,5分钟教会你
  4. 安卓12解除进程限制的第二种方式:VMOS PRO 借助电脑激活
  5. Windows Domain和WorkGroup的区别
  6. 751. 数组的左方区域
  7. 神州数码交换机HYBRID端口配置
  8. Android Activity的探讨——入门
  9. 网络安全日常学习之渗透测试思路总结
  10. WPF 模拟Windows 7 气象组件