首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android SQLite数据库

这两个方法都可以创建或打开一个现有的数据库,并返回一个可对数据库进行读写操作的对象。...参数: Context; 数据库名; Cursor:允许我们在查询数据的时候返回一个自定义的Cursor,一般传null; 当前数据库的版本号:可用于对数据库进行升级操作。...android:layout_height="wrap_content" android:text="Create Database" /> 添加一个按钮用于创建数据库...升级数据库的最佳写法 之前升级数据库是简单的在onUpgrade()方法中删除当前所有表然后重新执行一遍onCreate()。 这样做的弊端为如果你的应用升级一次数据库用户之前的数据就会被清空。...当指定的数据库版本号大于当前数据库版本号的时候,就会进入onUpgrade()方法中执行更新操作,这里需要为每一个版本号赋予其所对应的数据库变动,然后再onUpgrade()方法中对当前数据库的版本号就行判断

2.1K20

Android数据库加密

Android数据库加密 一、简介 SQLite是一个轻量的、跨平台的、开源的数据库引擎,它的读写效率、资源消耗总量、延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如Android...Android系统内置了SQLite数据库,并且提供了一整套的API用于对数据库进行增删改查操作,具体就不详细说明了。 然而,Android平台自带的SQLite有一个致命的缺陷:不支持加密。...三、解决方案* 1.将数据加密后再写入数据库: 我们可以对数据的数据库名,表名,列名就行md5,对存储的数据进行加密,例如进行aes加密(Android数据加密之Aes加密),查询的时候再对数据进行解密...github地址 导入SQLCipher加密库 implementation 'net.zetetic:android-database-sqlcipher:4.2.0' 替换原生的包 android.database.Cursor...为 net.sqlcipher.Cursor android.database.sqlite.SQLiteDatabase 为 net.sqlcipher.database.SQLiteDatabase

2.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android SQLite 数据库学习

    SQLite 数据库简介   SQLite 是一个轻量级数据库,它是D. Richard Hipp建立的公有领域项目,在2000年发布了第一个版本。...它的设计目标是嵌入式的,而且占用资源非常低,在内存中只需要占用几百kB的存储空间,这也是Android移动设备采用SQLite数据库的重要原因之一。   ...SQLite 数据库创建   在Android系统中,创建SQLite数据库是非常简单的。...Android系统推荐使用 SQLiteOpenHelper 的子类创建数据库,因此需要创建一个继承自SQLiteOpenHelper,并重写该类中的onCreate()方法和onUpgrade()方法即可...  前面介绍了SQLite 数据库及如何创建数据库,接下来将针对SQLite数据库的增、删、改、查操作进行详细讲解。

    1.2K00

    Android—Room数据库(介绍)

    之前一直都是在SQLite、XUtils、greenDao、Realm这些数据库之间来回折腾。现在终于有一个更“正统”数据库了。 Room是什么? Room是一个持久性数据库。...1、在app/build.gradle中添加以下依赖 implementation 'android.arch.persistence.room:runtime:1.0.0' annotationProcessor...'android.arch.persistence.room:compiler:1.0.0' 你可以点击这里查看最新依赖版本号 2、创建JavaBean @Entity public class User...(每当我们改变数据库中的内容时它都会增加),所以这里使用exportSchema = false 注意:除了添加表映射的类以及和数据库版本外,还要添加exportSchema = false否则会报警告...5、使用数据库 我们终于能够操作我们的数据库了。但是所有的操作必须在后台线程中完成。你可以通过使用AsyncTask,Thread,Handler,RxJava或其它方式来完成。

    1.1K50

    Android数据库Realm实践

    Android开发中常用的数据库有5个: 1. OrmLite OrmLite 不是 Android 平台专用的ORM框架,它是Java ORM。支持JDBC连接,Spring以及Android平台。...相比SQLite,Realm更快并且具有很多现代数据库的特性,比如支持JSON,流式api,数据变更通知,以及加密支持,这些都为安卓开发者带来了方便。 Ream提供了五种编程方式的实现。...快速入门: 运行环境 目前我们还不支持 Android 以外的 Java 环境; Android Studio >= 1.5.1 ; 较新的 Android SDK 版本; JDK 版本 >=7; 我们支持...Android API 9 以上的所有版本(Android 2.3 Gingerbread 及以上)。...Exception e) { e.printStackTrace(); } } } 其实这和以前的用法差不多的,有点在于,realm去帮我们管理这个数据库

    1.4K90

    android 读取本地数据库db文件(Android sqlite)

    我们知道Android中有四种数据存储方式: SharedPreference存储 content provider SQLite数据库存储 文件存储 今天我们主要说 本地数据库sqlite这种方式,实现读取一个本地数据库...1.将本地数据库db文件拷贝到项目中 2.将项目中db文件写入到本地文件夹中 3.增加打开数据库以及数据读取逻辑 4.增加删除逻辑 ,增加修改逻辑。...Android拷贝逻辑代码 package com.example.testdemo.util; import android.content.Context; import android.os.Environment...本地 操作数据库逻辑(查,删,改) package com.example.testdemo.util; import android.content.Context; import android.database.Cursor...; import android.database.sqlite.SQLiteDatabase; import android.os.Environment; import com.example.testdemo.bean.User

    3.5K10

    Android开发(23)数据库升级

    概述 我这里说的数据库版本指的是: 我们的应用的程序的数据库的用户版本(user_version).比如说下面的情形: 2013年4月,我们第一次 发布了 我们的应用,数据库版本是1。...2013年5月,我们第二次 发布了 我们的应用,数据库版本是2。由于业务需要,我们更改了数据库里的某个表的表结构。...也就是说,当检测到数据库需要升级时,执行这些 用于升级数据库的sql。 通过上面的方式,我们就完成了一次的数据库升级的操作。...android会判断 数据库的版本号,并自动的调用onUpgrade方法。 扩展内容:如何数据库文件的版本 我们通过 SQLite Expert 软件(运行在windows下)。...可以看到的这个数据库文件有个属性 user_version。 它是sqlite数据库的 "PRAGMA " 参数。执行 PRAGMA + sql有可以获得一些数据库文件的元数据信息。

    70400

    android学习笔记----SQLite数据库

    这两个方法都可以创建或者打开一个现有的数据库(如果数据库已存在则直接打开,否则创建一个新的数据库),并返回一个可对数据库进行读写的对象。...// 第三个参数null表示使用默认的游标工厂 // 第四个参数是数据库的版本号,数据库只能升级,不能降级,版本号只能变大不能变小 public MyDBOpenHelper(...> 当输入数据然后点击添加的时候数据库会被创建(如果数据库还没被创建),数据会添加成功 我们可以把数据库导出到SQLite Expert去查看表内容,也可以直接在控制台查看一个大概,查看数据库和表有没有被创建...打开mydb.db数据库 输入.table命令查看数据库中有哪些表,这个android_metadata是每个数据库中都会自动生成的,不用管。...SQLite数据库的事务介绍: MainActivity.java import android.content.ContentValues; import android.database.Cursor

    99020

    Android中SQLite数据库小计

    2016-03-16 Android数据库支持 本文节选并翻译《Enterprise Android - Programing Android Database Applications for the...学习目标: 学习Android对SQL的支持。 理解在Java中使用SQL——通过SQLiteDatabase类。 创建数据库——SQLiteOpenHelper类。...Java中执行SQL:SQLiteDatabase类 为了在java代码中针对SQLite数据库执行一些SQL查询等操作,Android 框架提供了SQLiteDatabase类。...Android SQLite API还提供了一系列的API来对应不同的SQL语法。包括insert、update、delete和query等,相应地,还有一些等价的简化方法和数据库管理方法。...Android应用则是外全不同的情况,用户下载并运行apk来安装一个程序,其apk中包含所有相关的数据,安装过程程序自身完成各种引导和设置。如果需要数据库,程序自身负责创建它。

    2.1K90

    Android—Room 数据库迁移(Migration)

    前言 如果大家看到了这里,那大家就可以正常使用Room数据库了。因为业务的变更,我们时常会添加数据库字段。这时候咱们就需要去升级数据库了。...大致的意思是:你修改了数据库,但是没有升级数据库的版本 这时候咱们根据错误提示增加版本号,但没有提供migration,APP一样会crash。...fallbackToDestructiveMigration完成迁移 接下来,咱们增加版本号并使用fallbackToDestructiveMigration(),虽然可以使用了,但是我们会发现,数据库的内容都被我们清空了...DepartmentDatabase.class, DB_NAME).allowMainThreadQueries() .fallbackToDestructiveMigration() .build(); 如果咱们不想清空数据库...DepartmentDatabase.class, DB_NAME).allowMainThreadQueries() .addMigrations(MIGRATION_1_2) .build(); 再次运行APP就会发现,数据库表更新了

    2.7K10

    Android SQLite数据库基本操作

    数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数据库来实现一些需求的吧。...: 在创建Android项目之前,我们应该想一下我们要定义的数据库的相关信息和里面的表格的相关信息,为了日后数据库的更新更加方便 ,我们可以用一个专门的类保存数据库的相关信息,以后如果要更新数据库的话只需要该动这个类就行了...; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; import android.widget.Toast..." android:text="创建数据库" /> <Button android:id="@+id/buttonInsertDatabase"...而我们注意到这里面还有另外一个android_metadata表,这个表是每个数据库文件都会自动生成的,不需要管。

    1.2K30

    1-MySQL数据库(android连接MySQL数据库)

    很好的链接 http://www.cnblogs.com/best/p/6517755.html  一个小时学会MySQL数据库 http://www.cnblogs.com/klguang/p/4746059....html    JDBC基本知识 http://blog.csdn.net/itluochen/article/details/52181560   Android开发之连接MySQL数据库(一) https...(Android) 现在只是学习阶段.把自己学到的先记录下来,学的差不多了再把这篇文章整理成一篇文章,因为如果哪天学好了再去写的话担心会遗漏什么 不是给大家看的哈,别让没接触到数据库的童鞋吓到....以前没接触过数据库...其实最后会写一个esp8266连接MQTT,然后电脑也连接MQTT然后把8266的数据存到自己的电脑的MySQL数据库里面,然后呢手机访问电脑的MySQL数据库,然后把数据显示出来....一般现在的云端都是...这是一个名字为test的数据库 result = statement.executeQuery("select name from test");  获取test数据库 name 标签下的数据 但是如果直接

    9.5K50
    领券