SQLite 前言 之前介绍过Android中保存数据的两种方式:SharedPreferences和File,这篇介绍另一种存储数据的方式——数据库。...数据库:简单来说可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 想必大家对数据库都不陌生,想当年上数据库课的时候,被那些命令整得不要不要的。...进入正题,在Android开发的过程中,保存数据是难免的。...如果数据量较小的时候可用SharedPreferences或File来保存,当数据量较大且关系复杂的时候就要用到Android中的数据库SQLite——轻量级数据库系统。...* 构造方法 * 每次创建DatabaseHelper对象时,若本应用无该数据库,则新建数据库并调用onCreate方法; * 若该数据库已创建则直接使用已存在的数据库且跳过onCreate
本节学习SQLite数据库,SQLite是Android内置的一个简单的轻量级的数据库。关于SQLite的简介我这里不做过多的介绍。...既然我们要学习数据库的基本操纵,那就离不开,数据库的创建,增删改查等操作。 再学习数据库的相关操作前,我先给大家介绍一个类:SQLiteOpenHelper。...SQLiteOpenHelper是Android系统为方便程序的开发引入的一个对数据库管理的工具类。可用于关于数据库的创建和版本更新。...一般的用法是创建SQLiteOpenHelper的子类,并实现它的OnCreate方法和OnUpdate方法。...(getContext(), "weather.db", null, 1); /*如果数据库不存在,先创建数据库,再获取可读可写的数据库对象。
】应用可访问的存储空间 ( 存储空间分类 | 存储空间访问权限 | 分区存储 ) 【Android 文件管理】分区存储 ( 分区存储机制 和 文件索引数据 ) 【Android 文件管理】分区存储 (...创建了一个文本文件 , 并向其写出一个字符串 ; 创建文件时注意 , 使用 MediaStore 向 " external.db " 数据库 中插入了文件数据 , 只是生成了文件索引 , 如果不向文件中写出数据..., 并不会真正的创建文件 ; 插入数据后 , 依据返回的 android.net.Uri 类型打开输出流 , 然后通过该输出流写出数据 , 文件创建完成 ; 图片创建流程 : 首先 , 获取 操作数据库的...; 创建完成后 , 可以在 " Device Explorer " 面板中显示新创建的图片 ; 关于 图片 MIME_TYPE : 图片文件创建 与 文本文件创建 唯一的区别就是需要设置 MIME_TYPE...数据库中 files 数据表中该 image.jpg 文件对应的 _id 字段数据 ; 绝对路径 在 Android 11 的 分区存储机制 中不能用来做任何操作 , 否则会产生崩溃 ; 对文件的操作
, 其本质是一个文件, 不需要安装启动; -- 数据读写 : SQLite数据库打开只是打开了一个文件的读写流, 如果有大数据量读写, 需要高并发存储, 那么就不应该使用SQLite; 一....和 创建这个数据库的时候必须都使用这个标识, 如果这个标识被使用了, 那么setLocal()方法将不会起到任何作用; 2> 根据文件打开或创建数据库 打开数据库 : 根据数据库文件 对象打开数据库,...SQLite的数据存储格式 支持的数据类型 : SQLite数据库 内部 只支持null,integer,real(浮点型),text(文本),blob(二进制数据) 五种数据类型; 数据类型转换 :...()方法: 该方法返回 内存中应用安装目录中的 文件存储目录的绝对路径, 在这里是 "data/data/shuliang.han.database/files", 整个数据库的完整路径是 :"data...()方法即可; public SQLiteDatabase getWritableDatabase () (3) 创建数据库 创建数据库 : 第一次创建数据库的时候回调该方法, 一般在该方法中 创建数据库表
数据库存储在 data//databases/ 下。...下面会详细讲解如果创建数据库,添加数据和查询数据库。 创建数据库 Android 不自动提供数据库。在 Android 应用程序中使用 SQLite,必须自己创建数据库,然后创建表、索引,填充数据。...Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,你只要继承 SQLiteOpenHelper 类,就可以轻松的创建数据库。...应用程序,一定需要在 Android 上存储数据,使用 SQLite 数据库是一种非常好的选择。...本文介绍了如何在 Android 应用程序中使用 SQLite 数据库 ,主要介绍了在 Android 应用程序中使用 SQLite 创建数据库和表、添加数据、更新和检索数据,还介绍了比较常用的 SQLite
经过前面几篇文章的学习,我们已经把LitePal的表管理模块的功能都很好地掌握了,相信大家都已经体会到了使用LitePal来创建表、升级表、以及建立表关联所带来的便利。...还没有看过前一篇文章的朋友建议先去参考 Android数据库高手秘籍(四)——使用LitePal建立表关联 。...实际上,Android专门提供了一种用于存储数据的简便方法,使得我们不用编写SQL语句就可以执行存储操作。...对象的,最后再把News存储到数据库中,这样它们之间的关联关系就会自动建立了。...感兴趣的朋友请继续阅读 Android数据库高手秘籍(六)——LitePal的修改和删除操作 。
什么是存储过程 存储过程就是事先经过编译并存储在数据库中的一段 SQL 语句的集合; 为什么使用存储过程 调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的...存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。...如果将这些sql操作封装在存储过程中,只需网络交互一次可能就可以了; 存储过程基础语法 1、创建存储过程语法 CREATE PROCEDURE 存储过程名称 ([ 参数列表 ]) BEGIN --...PROCEDURE [ IF EXISTS ] 存储过程名称 ; 注意点:上面创建存储过程的语句在navicat或者sqlyog中没问题,但是放到命令行中执行会报错,在命令行中模式下,需要通过关键字...游标让 SQL 这种面向集合的语言有了面向过 程开发的能力; 在 SQL 中,游标是一种临时的数据库对象,可以指向存储在数据库表中的数据行指针。
修改text的大小和颜色 strings.xml 事件统计 <small>(近 %1$s 场)<small&...='#7ED321'>3负"; viewHolder.tv1.setText(Html.fromHtml(textSource)); 给TextView加上多彩效果:改变部分字体的大小和颜色...android中string.xml中%1s、%1d等的用法修改TextView中部分文本的字体及颜色
Android网络与数据存储 第二章学习 ---- SQlite数据库#### 概要: SQLite看名字就知道是个数据库,Android专门为移动端内置了此种轻量级工具,并且为了方便在Java语言中进行数据库操作...,编写了SQLiteOpenHelper类来方便在Android中操作数据库” ---- 1.SQLiteOpenHelper类的使用##### public abstract class SQLiteOpenHelper...; *factory 允许我们在查询数据库的时候返回一个自定义的Cursor,一般不需要; * version 表示创建的数据库的版本; */ super(context...: Step 1:自定义一个类继承SQLiteOpenHelper类 Step 2:在该类的构造方法的super中设置好要创建的数据库名,版本号 Step 3:重写onCreate( )方法创建表结构...Step 4:重写onUpgrade( )方法定义版本号发生改变后执行的操作 ---- 以上完成了一个自定义SQLiteOpenHelper类,然后就可以开始用java语言对数据库进行创建、增删改查等操作了
Sqlite数据库是开源的c语言写的数据库,android和iphone都使用的这个,首先需要创建数据库,然后创建表和字段,android提供了一个api叫SQLiteOpenHelper数据库的打开和创建类...,构造方法的参数:Context上下文作用是告诉程序数据库创建在哪个目录下,String name数据库文件的名字,factory游标工厂一般我们都写null系统默认的,version数据库的版本从1开始...,构造方法完成数据库就可以被创建。...OnCreate(SQLiteDatabase db)方法是数据库第一次被创建时回掉,用来创建表以及初始化参数,参数就是我们创建的数据库。...当new出来helper对象的时候,数据库并不会被创建,只有当helper对象调用了getWritableDatabase()方法或者getReadableDatabase()时候才会被创建。
SharedPreferences作为android的存储方式有以下特点: 1.只能存放key-value模式的键值。 2.本质就是就是以xml文件在应用程序所在包中存放数据。...SharedPreferences 通过操作android的SharedPreferences类来完成xml文件的生成,增,删,改 的动作都由android系统内部模块完成和解析的。...如果要存在复杂的数据,可以使用文件,如果还需要方便的增删改查 的话,就只能用Sqlite数据库来完成 下面是该使用的代码: 所用的字符串 <?..." /> 注意这里button控件的android:Onclick 属性,该方法是在XML完成按键的监听注册...可以理解为一个存键值对的数组。或者链表。用户只需要创建一实体,然后想里面添加数据和取出数据,即可 结果如下:
创建基本的存储过程 create or replace procedure test1( param1 in number, --传入参数1 param2 in varchar2...end test1; 函数说明 create or replace procedure test1:创建一个名称为test1的存储过程, 如果存在就覆盖它; is:关键词,表明后面将跟随一个PL/SQL...体; begin:关键词,表明PL/SQL体的开始; null;:PL/SQL处理逻辑的sql,至少需要有一句。...存储过程参数不带取值范围,类型可以使用任意Oracle中的合法类型; in表示传入; out表示输出; 2、变量 cus_param1 number,cus_param2 varchar2(20)变量带取值范围...,类型可以使用任意Oracle中的合法类型; 创建带判断和事务的存储过程 create or replace procedure test2(bf_id in number,status in number
Android 如何判断一个应用在运行 在一个应用中,或一个Service 、Receiver中判断一个应用是否正在运行,以便进行一些相关的处理。...这个类还有更多的方法可以取得系统运行的服务、内存使用情况等的方法,请各位自行查找。...需要加上权限: android:name=”android.permission.GET_TASKS” /> ===========================..., “是”); break; } } ================================================ Android系统内部状态信息的相关api: 得到ActivityManager...: android:name=”android.permission.GET_TASKS”/> ===================================
通过phpMyAdmin,创建procedure,用于生成测试数据。 随机的用户名及手机号。
一、适用场景 适用于存储一些复杂的关系型数据。 二、概述 轻量级嵌入式数据库引擎,它支持SQL 语言,并且只利用很少的内存就有很好的性能。可存储大量的数据。...Android SQLite对我目前的安卓学习水平而言,还是比较复杂的,在此处暂不做详细阐述,仅以此时使用状态阐述。...三、使用步骤 第一步:创建MyDatabaseHelper继承SQLiteOpenHelper package com.example.administrator.mokar; import android.content.Context...; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public...db.execSQL("drop table if exists Txt"); onCreate(db); } } 第二步:在MainActivity中初始化数据库
大家好,又见面了,我是你们的朋友全栈君。 一、存储过程与函数的区别: 1.一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。 ...二、存储过程的优点: 1.执行速度更快 – 在数据库中保存的存储过程语句都是编译过的 2.允许模块化程序设计 – 类似方法的复用 3.提高系统安全性 – 防止SQL注入 4.减少网络流通量...本文用3个题目,从建立数据库到创建存储过程,详细讲解数据库的功能。...例如:如果有百分之五十的人薪水不到2000,给所有人加薪,每次加100元,直到有一半以上的人工资大于2000元,调用存储过程后的结果如图: 请编写T-SQL来实现如下功能: 1) 创建存储过程,查询是否有一半程序员的工资在...3) 统计各个学生参加考试课程的平均分,且按平均分数由高到底排序。 4) 创建存储过程,分别查询参加1、2、3、4门考试及没有参加考试的学生名单,要求显示姓名、学号。
SyetemServer处理部分 PMS是在SyetemServer进程中被创建的,SyetemServer进程用来创建系统服务,不了解它的可以查看Android系统启动流程(三)解析SyetemServer...("android_servers");//1 performPendingShutdown(); // 创建系统的Context createSystemContext...接下来在注释2处创建SystemServiceManager,它会对系统的服务进行创建、启动和生命周期管理。...下面列出 System分区的部分子目录。 ? 上面的代码还涉及到/vendor 目录,它用来存储厂商对Android系统的定制部分。...注释3处将PackageManagerInternalImpl(PackageManager的本地服务)添加到LocalServices中, LocalServices用于存储运行在当前的进程中的本地服务
1.定义 内部存储:内部存储位于Android手机系统的data/data/这个目录下,内部存储是私有的,主要用于存储系统和应用程序的某些数据,对于其他应用程序来说是不可见的,并且会随着应用程序的卸载而被删除...外部私有存储位于/storage/emulated/0/Android/data/包名这个目录下,它和内部存储一样是私有的,并且其他应用程序是无法访问的,会随着应用程序的卸载而被清除。 ...它对所有的应用程序都是可见的,前提是该应用程序有外部存储权限,而且外部公有存储中的数据不会随应用程序的卸载而被删除。 2.使用哪些api进行访问? ...(String type) context.getExternalCacheDir() // /storage/emulated/0/Android/data//cache 外部公有存储...注:在Android10之后,不能再使用外部公有存储下的两个方法了,应用程序只能访问自己的外部私有目录,所以Android10之后尽量使用外部私有存储下的两个方法。
数据库的存储系列———将图片存储到数据库 在很多时候我们都使用数据库才存储我们的数据,然而我们通常在数据库里面存放的数据大多都支持数或者是一些字符,那么如果我们想在数据库里面存放图片,那么应该要怎么做的...第一,我们可以将图片所在的路径或者URI存入到数据库里面,这样简单方便。不过这样的缺点也很显然,就是图片路径改变的时候,我们没有办法通过数据库来获取这一张图片。...所以这种方法并不是我们所想要的将图片存储到数据的方法。 第二,将图片转化成二进制字节流才存储到数据库。在查看数据库所支持的基本类型当中,我们不难发现数据库支持BLOB和CLOB这种数据类型。...newPath)); fileOutputStream.write(bytes); fileOutputStream.close(); } } 这样就可以通过将图片的字节流放入到数据库中存储了...不过这里图片不能够太大,BLOB最大能够支持64K的图片,不同数据库有不同的数据类型,大家可以去找找。当然以上代码还提供了能将二进制流变为了字符串的方法(显示看到的是乱码)。
阅读目录:MySQL存储过程_创建-调用-参数 存储过程:SQL中的“脚本” 1.创建存储过程 2.调用存储过程 3.存储过程体 4.语句块标签 存储过程的参数...一组可编程的函数,是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。...: ①将重复性很高的一些操作,封装到一个存储过程中,简化了对这些SQL的调用 ②批量处理:SQL+循环,减少流量,也就是“跑批” ③统一接口,确保数据的安全 相对于oracle数据库来说,MySQL...一、存储过程的创建和调用 >存储过程就是具有名字的一段代码,用来完成一个特定的功能。 >创建的存储过程保存在数据库的数据字典中。...解析: 默认情况下,存储过程和默认数据库相关联,如果想指定存储过程创建在某个特定的数据库下,那么在过程名前面加数据库名做前缀; 在定义过程时,使用DELIMITER 命令将语句的结束符号从分号
领取专属 10元无门槛券
手把手带您无忧上云