返回顶部
首页 > 资讯 > 移动开发 >条件数据库Android:sqllite的简单使用
  • 364
分享到

条件数据库Android:sqllite的简单使用

数据Android 2022-06-06 10:06:18 364人浏览 薄情痞子
摘要

    sqlite分析     SQLite是轻量级的、嵌入式的、关系型数据库,现在已经在iPhone、Andro

    sqlite分析

    SQLite是轻量级的、嵌入式的、关系型数据库,现在已经在iPhone、Android等手机系统中应用,SQLite可移植性好,很轻易应用,很小,高效而且牢靠。SQLite嵌入到应用它的应用程序中,它们共用雷同的进程空间,而不是单独的一个进程。从外部看,它并不像一个RDBMS,但在进程内部,它倒是完整的,自包括的数据库引擎。

    在android中当须要操作SQLite数据库的时候须要失掉一个SQLiteOpenHelper对象,而SQLiteOpenHelper是一个抽象类,用户须要继承这个类,并实现该类中的一些方法。

   

    1、继承SQLiteOpenHelper之后就拥有了以下两个方法:

    ◆getReadableDatabase() 创立或者打开一个查询数据库

    ◆getWritableDatabase()创立或者打开一个可写数据库

    ◆他们都市返回SQLiteDatabase对象,用户通过失掉的SQLiteDatabase对象进行后续操作

    2、同时用户还可以覆盖以下回调函数,再对数据库进行操作的时候回调以下方法:

    ◆onCreate(SQLiteDatabase):在数据库第一次创立的时候会调用这个方法,一般我们在这个方法里边创立数据库表。

    ◆onUpgrade(SQLiteDatabase,int,int):当数据库须要修改的时候,Android系统会主动的调用这个方法。一般我们在这个方法里边删除数据库表,并建立新的数据库表,当然是否还须要做其他的操作,完整取决于应用程序的需求。

    ◆onOpen(SQLiteDatabase):这是当打开数据库时的回调函数,一般也不会用到。

    须要注意

    1、在SQLiteOepnHelper的子类当中,必须有以下该构造函数
代码如下:
public DatabaseHelper(Context context, String name, CursorFactory factory, 
   int version) { 
  //必须通过super调用父类当中的构造函数 
  super(context, name, factory, version); 
}    为了便利,也可以创立其它的构造函数,含二个参数或者三个参数的。

    2、函数public void onCreate(SQLiteDatabase db)是在调用getReadableDatabase()或者是getWritableDatabase()第一次创立数据库的时候执行,实际上是在第一次失掉SQLiteDatabse对象的时候,才会调用这个方法.

public void onCreate(SQLiteDatabase db) { 
  System.out.println("create a Database"); 
  //execSQL函数用于执行SQL语句 
  db.execSQL("create table user(id int,name varchar(20))"); 
}   

 上面是写好的例子,可以参考下
  代码如下:
 public class DBHelper {

    private static DatabaseHelper mDbHelper;
    private static SQLiteDatabase mDb;

    private static final String   DATABASE_NAME    = "life";

    private static final int      DATABASE_VERSION = 1;

    private Context               mCtx;

    private static class DatabaseHelper extends SQLiteOpenHelper {

        DatabaseHelper(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }

        @Override
        public void onCreate(SQLiteDatabase db) {
            //创立表结构
            db.execSQL("CREATE TABLE life_history (id INTEGER PRIMARY KEY AUTOINCREMENT,type TEXT, city TEXT, company TEXT, pucNum TEXT, pucName TEXT);");
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        }
    }

    public DBHelper(Context ctx) throws SQLException {
        this.mCtx = ctx;
        mDbHelper = new DatabaseHelper(mCtx);
        mDb = mDbHelper.getWritableDatabase();
    }

   
    public void closeConnection() {
        if (mDb != null && mDb.isOpen())
            mDb.close();
        if (mDbHelper != null)
            mDbHelper.close();
    }

   
    public long insert(String tableName, ContentValues initialValues) {

        return mDb.insert(tableName, null, initialValues);
    }

   
    public boolean delete(String tableName, String deleteCondition, String[] deleteArgs) {

        return mDb.delete(tableName, deleteCondition, deleteArgs) > 0;
    }

   
    public boolean update(String tableName, ContentValues initialValues, String selection, String[] selectArgs) {
        return mDb.update(tableName, initialValues, selection, selectArgs) > 0;
    }

   
    public Cursor findList(boolean distinct, String tableName, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) {

        return mDb.query(distinct, tableName, columns, selection, selectionArgs, groupBy, having, orderBy, limit);
    }

   
    public Cursor findOne(boolean distinct, String tableName, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) throws SQLException {

        Cursor mCursor = findList(distinct, tableName, columns, selection, selectionArgs, groupBy, having, orderBy, limit);

        if (mCursor != null) {
            mCursor.moveToFirst();
        }
        return mCursor;

    }

   
    public void execSQL(String sql, Object[] args) {
        mDb.execSQL(sql, args);

    }

   
    public void execSQL(String sql) {
        mDb.execSQL(sql);

    }

   
    public boolean isTableExist(String tableName) {
        boolean result = false;
        if (tableName == null) {
            return false;
        }

        try {
            Cursor cursor = null;
            String sql = "select count(1) as c from sqlite_master where type ='table' and name ='" + tableName.trim() + "'";
            cursor = mDb.rawQuery(sql, null);
            if (cursor.moveToNext()) {
                int count = cursor.getInt(0);
                if (count > 0) {
                    result = true;
                }
            }

            cursor.close();
        }
        catch (Exception e) {
        }
        return result;
    }

   
    public boolean isColumnExist(String tableName, String columnName) {
        boolean result = false;
        if (tableName == null) {
            return false;
        }

        try {
            Cursor cursor = null;
            String sql = "select count(1) as c from sqlite_master where type ='table' and name ='" + tableName.trim() + "' and sql like '%" + columnName.trim() + "%'";
            cursor = mDb.rawQuery(sql, null);
            if (cursor.moveToNext()) {
                int count = cursor.getInt(0);
                if (count > 0) {
                    result = true;
                }
            }

            cursor.close();
        }
        catch (Exception e) {
        }
        return result;
    }

}
 

您可能感兴趣的文章:Android SQLite数据库增删改查操作的使用详解Android使用SQLite数据库的简单实例android将图片转换存到数据库再从数据库读取转换成图片实现代码android创建数据库(SQLite)保存图片示例Android 用adb pull或push 拷贝手机文件到到电脑上,拷贝手机数据库到电脑上,拷贝电脑数据库到手机上Android中的SQL查询语句LIKE绑定参数问题解决办法(sqlite数据库)Android学习笔记-保存数据到SQL数据库中(Saving Data in SQL Databases)android实现raw文件夹导入数据库代码Android中操作SQLite数据库快速入门教程Android数据库操作工具类分享


--结束END--

本文标题: 条件数据库Android:sqllite的简单使用

本文链接: https://lsjlt.com/news/27732.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 条件数据库Android:sqllite的简单使用
        SQLite分析     SQLite是轻量级的、嵌入式的、关系型数据库,现在已经在iPhone、Andro...
    99+
    2022-06-06
    数据 Android
  • Android使用SQLite数据库的简单实例
    先画个图,了解下Android下数据库操作的简单流程: 1.首先,写一个自己的数据库操作帮助类,这个类继承自Android自带的SQLiteOpenHelper. 2.在自己...
    99+
    2022-06-06
    sqlite数据库 SQLite Android
  • 数据库的简单了解
    数据库一、什么是数据库   存储数据的仓库将数据有组织,按照特定的格式存储在介质上叫做数据库二、比较多个数据库系统a) Oracle   最好的数...
    99+
    2024-04-02
  • SpringBoot配置使用H2数据库的简单教程
    目录如何操作 依赖yml配置生成内存数据库H2 第一种: 第二种 持久化 如何操作 依赖 <dependency> <groupId>org.s...
    99+
    2024-04-02
  • Android数据库(SQLite)的简单使用——增、删、查改功能的简单实现
    记录一下Android数据库的增删查改的简单使用 话不多说,先献上你们最爱的效果图~ 这边我用的是一个ListView来展示数据库里的数据 准...
    99+
    2022-06-06
    android数据库 SQLite Android
  • Redis数据库的简单介绍
    这篇文章给大家分享的是有关Redis数据库的简单介绍的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。1.Redis数据库介绍redis数据库是一种基于内存可持久化的键值对非关系性数...
    99+
    2024-04-02
  • ceRNA数据库的简单介绍
    这篇文章主要介绍“ceRNA数据库的简单介绍”,在日常操作中,相信很多人在ceRNA数据库的简单介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ceRNA数据库的简单介绍”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-19
  • 达梦数据库(DM7)条件语句和循环语句的几个简单的例子
    最近初步接触了达梦数据库(DM7),  SQL的语法和oracle极为类似。 --if语句:if elsif else and if Declare  p_int i...
    99+
    2024-04-02
  • 数据翻译——Easy_Trans的简单使用
    目录 Easy Trans 1、适用场景 2、easy trans 支持的五种类型 3、环境搭建 4、简单翻译(TransType.SIMPLE) 5、字典翻译(TransType.DICTIONARY) 6、跨微服务翻译(T...
    99+
    2023-09-25
    java springboot
  • mysql数据库怎么删除单条数据
    要删除 mysql 中单条数据,请使用 delete 语句,指定表名和条件:打开 sql 客户端并创建 delete 语句:delete from table_name whe...
    99+
    2024-08-05
    mysql phpmyadmin
  • MySQL数据库简单指令
    MySQL数据库简单指令 1. 启动MySQL服务: net start mysql 2. 进入MySQL: mysql -u root -p 3. 查看MySQL信息: \s 4. 修改MySQL密码: ALTER USER roo...
    99+
    2023-08-16
    数据库 mysql 服务器
  • 如何优化数据库的数据条件
    优化数据库的数据条件可以通过以下几种方式来实现: 建立索引:在数据库表中添加合适的索引,可以加快数据检索的速度。通过分析查询语句中经常使用的字段,并为这些字段建立索引,可以提高查询效率。 使用合适的数据类型:选择合适的数据类型可以节...
    99+
    2024-07-03
    数据库
  • 查询数据(数据库)——简单查询
    目录 1.最简单的查询 (1)查询指定列 (2)查询所有列 (3)查询计算列 (4)为列起别名 (5)使用DISTINCT关键字消除重复元组 2.查询满足条件的元组 (1) 比较大小 (2) 确定范围 (3) 确定集合 (4) 字符匹配 (...
    99+
    2023-10-11
    数据库 sql mysql
  • 简单实用的mysql数据库备份 网页文件备份
    安装percona-xtrabackuphttp://990487026.blog.51cto.com/10133282/1759237root@uat:/backup# cat xtr...
    99+
    2024-04-02
  • Mysql数据库条件查询语句如何使用
    小编给大家分享一下Mysql数据库条件查询语句如何使用,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!对于分析人员来讲,Mysql数据库应用最多的是select查询语句,此篇文章主要介...
    99+
    2024-04-02
  • 数据库中间件OneProxy简明使用手册
    一、数据库中间件OneProxy简明使用手册 http://mp.weixin.qq.com/s__biz=MzA3MzYwNjQ3NA==&mid=2651296386&idx=...
    99+
    2024-04-02
  • 使用GO语言实现Mysql数据库CURD的简单示例
    目录〇、介绍驱动包和增强版Mysql操作库Sqlx一、先导入驱动包和增强版Mysql操作库Sqlx 二、insert操作 三、delete操作 四、update操作 五、s...
    99+
    2024-04-02
  • 怎样使用阿里云数据库简单易上手的使用指南
    阿里云数据库是阿里云推出的一款高性能、高可用的数据库服务,旨在帮助企业提高数据处理效率,提升业务运营水平。本文将详细介绍如何使用阿里云数据库。 使用步骤:创建阿里云数据库实例首先,你需要在阿里云上创建一个数据库实例。这可以通过阿里云的控制...
    99+
    2023-12-09
    阿里 使用指南 上手
  • 数据库MySQL简单操作(二)
    一、数据的增删改查1.1 插入记录1.1.1插入单条数据INSERT INTO 表名 (字段名1,字段名2,……,字段名N)VALUES (字段1值,字段2值,……,字段N值);①这是把所有的字段都带上IN...
    99+
    2024-04-02
  • 数据库MySQL简单操作(三)
    1.3 多表查询1.3.1连接查询:#内连接:自连接查询:#外连接左外连接(可以查询出表名1的所有记录,而表名2中只能查出匹配的记录)SELECT 属性名列表 FROM 表名1 LEFT JOIN ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作