`
holoblog
  • 浏览: 1260354 次
博客专栏
E0fcf0b7-6756-3051-9a54-90b4324c9940
SQL Server 20...
浏览量:19483
文章分类
社区版块
存档分类
最新评论

ANDROID+SQLITE详解

 
阅读更多

之前讲过在ANDROID应用开发中我们使用SHAREDPREFERENCE与文件操作数据持久访问的问题,今天我就把SQLITE在ANDROID中应用的详细操作也介绍下吧:

在ANDROID应用开发中,我们可能最好奇的就是对数据持久保持的操作是怎么实现的了,GOOGLE采用了最轻便与最灵活的数据访问方式,也就是SQLITE这么一个轻量级的数据持久访问方式,之前的SHAREDPREFERENCES只是对小数据与其参数配置方面所做的要求,以及在本地文件进行存储的方式来访问,但是我们需要像在PC终端使用MYSQL,或者ORACLE之类的来对数据进行管理操作,使用SQLITE是同样可以实现的,如果你之前是做J2EE开发的,你可能对MYSQL,ORACLE之类的数据库操作已经很熟悉了,如果是那样的话,你再来操作SQLITE也就问文生意了,他们的最大不同点就是一个小得可以直接放进浏览器里进行操作,一个了需要在本地非常复杂的安装与配置然后以服务器的方式进行管理来操作,从这里就可以知道我们在做手机开发时为什么要使用SQLITE数据库了,下面就具体介绍下其操作步骤与可能会遇到的问题:

在我们对其SQLITE数据库初次操作时,我们会调用两个方法,分别是:getReadableDatabase(),getWritableDatabase(),当然在你第一次操作时首先你创建的操作类肯定要先继承SQLiteOpenHelper这个内,它要求你去实现两个方法,分别是:onCreate(SQLiteDatabase db);onUpgrade(SQLiteDatabae db,int oledVersion,int newVersion),还有就是你必须要实现一个构造器,即你创建的类为OpenSQLiteDemo类,其构造器为:public OpenSQLiteDemo(Context context,String name,Cursor cursorFactory,int version){super(context,name,cursorFactory,version);},这样可以构造出一个上下文对象出来,在你操作方法时,可以使用上下文对象来操作,为此我在调用这个构造器会传送一个版本号,通过这个版本号可以去判断,我们到底是调用是否需要去调用onUpgrade()方法来更新数据表的结构,我们想来看一下源码对其判断的操作吧:当我们调用SQLiteOpenHelper类中的getWritableDatabase方法时,首先会有一个用来保存数据库对象的上下文来进行判断,即mDatabase!=null与mDatabase.isOpen()与mDatabae.isReadOnly()后,如果数据库已经创建就跳过,否则就直接返回已经创建的mDatabae,当第一次执行是肯定会跳过去创建新库,注意在此期间还有一个步骤就是,它判断在安装初始化为FLASE时抛出非状态异常,可以从源码这句来说明:if(mIsInitializing is false){throw new IllgealStateException("getWritableDtabase called recurisively");},然后我们通过版本号,来判断,版本号时时候等于0,初始默认为0,此时就会调用onCreadte(db)来进行新创建库,这可以根据构造器你的名称来设置库名,如果我已经创建人这个数据库,然而我想对其数据库表结构进行更改时,或者是版本进行更新时,我们可以设置它的版本号于不同之前的版本号即可,一般为数字上浮来设置,这样,我们就可以在onUpgrade()方法里对数据表进行操作,可以对其执行execSQL(sql)方法来执行如对其表增加一列,和删除某列都行,这时,我们在调用SQLiteOpenHelper类的getWritableDatabase方法时就会判断其版本号是否与之前相同,如果不同,就会调用onUpgrade(db,version,mNewVersion)方法来进行更新,OK,这是讲我们创建数据库时的操作,不要忘了,第一次操作,会判断一个方法:openOrCreateDatabase()方法对其数据库创建与否的操作,下面我们就来介绍通过SQLITE来对数据进行CURD的操作,在SQLITE中也有CURD四个操作的方法,只是我们更习惯去使用SQLITE提供的execSQL(代表增加,更新,删除的操作),rawQuery(代表查询)的操作,因为只有两个方法,使用起来方便灵活,只是在这里,我们可以注意一下,我们在进行相应操作的时候,最好找当前类中对上下文进行构造,然后通过上下文来获取去类下的信息,如果在你想对另外一个类进行操作时,如果你直接在没有把上下文构造出来就进行使用上下文来构造的话,就会抛空指针异常,这里请特别注意,在我的资源你有源码提供下载与其详细参考,其CURD的操作找这里我也就不在详细熬术,与在J2EE中操作ORACLE数据库一样,很简单,所以,有疑问的就去把我的源码下载下来吧:http://jiangshide.download.csdn.net/

分享到:
评论

相关推荐

    ANDROID+SQLITE+详解讲解

    在Android应用开发中,SQLite是一个不可或缺的组件,它是一个轻量级的关系型数据库,用于存储应用程序中的结构化数据。SQLite数据库被广泛应用于移动设备,因为它不需要独立的服务进程,且能够高效地处理数据。本...

    Android数据库SQLite详解

    在Android开发中,SQLite是一个非常重要的组成部分,它是一个轻量级的、开源的、嵌入式的SQL数据库引擎,被广泛用于存储和管理应用程序中的数据。SQLite具有高效、可靠且易于集成的特点,使得它成为Android应用数据...

    Android+sqlite学生选课系统

    《Android+SQLite学生选课系统详解》 在移动应用开发领域,Android系统以其开源和广泛的应用,成为开发者首选的平台之一。在这个系统中,SQLite作为轻量级的关系型数据库,常用于存储应用程序中的数据,例如本例中...

    Android基于Sqlite的学生信息管理系统.zip

    《Android基于SQLite的学生信息管理系统详解》 在信息技术日益发达的今天,信息管理系统的应用已经渗透到各个领域。本文将深入探讨一个特别针对学生信息管理的系统——“Android基于SQLite的学生信息管理系统”。该...

    Android+SQLite数据库实现的生词记事本功能实例

    "Android+SQLite数据库实现的生词记事本功能实例详解" Android+SQLite数据库实现的生词记事本功能实例是指通过Android操作系统和SQLite数据库实现的生词记录功能,主要用于记录和管理单词信息。下面将详细介绍...

    android Spinner+sqlite 三级联动

    ### Android Spinner+SQLite 三级联动实现详解 #### 一、概览 在Android开发中,经常会遇到需要展示层级数据的情况,比如省份-城市-区县的选择等。这种情况下,使用Spinner(下拉列表框)结合SQLite数据库进行三级...

    Android内置数据库+Sqlite.rar

    《Android内置数据库SQLite详解》 在移动应用开发中,数据存储是不可或缺的一部分,尤其是在Android平台上。Android系统提供了多种数据存储方式,其中SQLite是一款轻量级的、关系型数据库,它是Android内置数据库,...

    基于android的个人日记本程序(Sqlite数据库).zip

    《基于Android的个人日记本程序:SQLite数据库应用详解》 在移动应用开发领域,Android操作系统以其开源、灵活性和广泛的应用范围占据了重要的地位。本项目“基于Android的个人日记本程序”是一个典型的应用实例,...

    Android版学生选课系统(数据存储用的是Sqlite)

    《Android版学生选课系统——基于SQLite的数据存储详解》 在移动应用开发领域,尤其是在Android平台上,本地数据存储是至关重要的。本系统“Android版学生选课系统”就是一款利用SQLite数据库来实现数据持久化的...

    Android中SQLite应用详解

    Android中SQLite应用详解

    android-sqlite-encrypt

    《Android SQLite 加密详解》 在移动应用开发中,数据存储是不可或缺的一部分,尤其是在Android平台上,SQLite数据库被广泛用于本地数据管理。然而,随着隐私保护和数据安全的重要性日益凸显,如何对SQLite数据库...

    android之SQLite数据库开发详解

    Android 的 SQLite 数据库提供了事务处理能力,允许批量操作,提高效率并确保数据一致性。例如: ```java database.beginTransaction(); try { // 执行一系列数据库操作 database.setTransactionSuccessful(); //...

    android sqlite 使用详解.pdf

    ### Android SQLite 使用详解 #### 一、SQLite简介与Android中的应用 SQLite是一种轻量级的数据库,被广泛应用于各种移动设备上,包括Android和iPhone。它支持标准的SQL语法,并且能够有效地处理复杂的查询和事务...

    Android软件开发之数据库SQLite 详解源码

    在Android应用开发中,SQLite是一个不可或缺的组件,它是一个轻量级的关系型数据库管理系统,用于存储和管理应用程序中的数据。SQLite被广泛应用于Android系统,因为它的高效性、可靠性和易于集成的特点。本教程将...

    Android基于Sqlite的学生信息管理系统源码.zip

    《Android基于SQLite的学生信息管理系统详解》 SQLite是一个轻量级的、开源的、自包含的数据库引擎,被广泛应用于移动设备上的应用程序,特别是在Android平台上。本系统“Android基于SQLite的学生信息管理系统”...

    Android 中SQLite技术实例详解

    Android 中SQLite技术实例详解 Android 中SQLite技术实例详解是Android 应用程序中的一种常用数据库技术,本文将对 SQLite 技术进行详细的介绍和解释。 一、SQLite 数据库简介 SQLite 数据库是一个轻量级的数据库...

    arcgis for android 读取加载sqlite数据库.rar

    而SQLite是一种轻量级的、开源的、嵌入式的关系型数据库,广泛应用于移动应用,包括Android。本教程将探讨如何在ArcGIS for Android环境中利用SQLite数据库进行数据存储和读取。 1. **SQLite数据库介绍**: SQLite...

Global site tag (gtag.js) - Google Analytics