`

Android 数据库操作封装,简化操作

阅读更多
package com.abc.lyq.util;

import java.util.List;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class DataBaseTool extends SQLiteOpenHelper {

    private final static String DATABASE_NAME = "****.db";
    private final static int DATABASE_VERSION = 1;

    public final static String SETTING_TABLE_NAME = "setting_tb_yq";
  
    public final static String ID = "lyq001000";

    private final static String SET_NAME = "lyq001";
    private final static String SET_VALUE = "lyq010";

    private final static String NAME = "lyq001";
 
    public final static String[] setting_cols = {SET_NAME, SET_VALUE};


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

    public void onCreate(SQLiteDatabase db) {
        createTable(db, createSQL(SETTING_TABLE_NAME, setting_cols));
    }

    private void createTable(SQLiteDatabase db, String tableSQL) {
        try {
            db.execSQL(tableSQL);
        } catch (SQLException e) {
            Log.e(ConstantUtil.TAG, "create table failed! " + tableSQL, e);
        }
    }

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

    }

    public long insert(String tablename, ContentValues values) {
        SQLiteDatabase db = getWritableDatabase();
        return db.insert(tablename, null, values);
    }

    public void batchInsert(String tablename, List<ContentValues> records) {
        SQLiteDatabase db = getWritableDatabase();
        db.beginTransaction();
        for (ContentValues values : records) {
            db.insert(tablename, null, values);
        }
        db.setTransactionSuccessful();
        db.endTransaction();
    }

    public int update(String tablename, ContentValues values, String whereClause, String[] whereArgs) {
        SQLiteDatabase db = getWritableDatabase();
        return db.update(tablename, values, whereClause, whereArgs);
    }

    public int remove(String tablename, String whereClause, String[] whereArgs) {
        SQLiteDatabase db = getWritableDatabase();
        return db.delete(tablename, whereClause, whereArgs);
    }

    public Cursor select(String tablename, String[] cols, String where, String[] whereArgs, String groupBy, String having, String orderBy) {
        SQLiteDatabase db = getReadableDatabase();
        return db.query(tablename, cols, where, whereArgs, groupBy, having, orderBy);
    }

    private String createSQL(String table, String[] cols) {
        StringBuffer sb = new StringBuffer("CREATE TABLE if not exists ");
        sb.append(table);
        sb.append(" ( ").append(ID).append(" INTEGER PRIMARY KEY autoincrement ");
        for (String col : cols) {
            sb.append(" , ").append(col).append(" TEXT");
        }
        sb.append(" ) ");
        return sb.toString();
    }

}
0
3
分享到:
评论

相关推荐

    android数据库操作封装

    "android数据库操作封装"主要是为了提高代码的可读性、可维护性和复用性,通过创建自定义的数据访问对象(DAO)层和数据库帮助类来实现。 1. 数据库Helper类: 在Android中,我们通常会创建一个继承自`...

    Android数据库ORM封装

    总结来说,Android数据库ORM封装使得数据库操作更加简便,通过Room框架,我们可以以声明式的方式定义数据库操作,同时保持代码的清晰和可维护性。`DataBaseDemo`项目则提供了具体的实现示例,有助于你在实际项目中...

    android 数据库操作封装类 继承可用

    在这个场景下,我们有一个名为`DataBaseHelper.java`的文件,它提供了一个基本的数据库封装,可以被其他类继承以进行自定义扩展。 `DataBaseHelper`类通常会实现以下几个关键功能: 1. **初始化数据库**: 在...

    Android数据库框架GreenDao封装使用,易理解、易扩展

    这极大地简化了数据库操作,避免了手动编写SQL语句。 1. **安装与配置**:首先,你需要在项目的build.gradle文件中添加GreenDao的依赖。然后同步项目,GreenDao的库就会被引入到项目中。接着,创建一个`...

    android 数据库封装小插件

    总之,“android 数据库封装小插件”通过SQLitePacker等类,实现了对Android数据库操作的便捷化和模块化,降低了开发难度,提高了代码的复用性和效率。使用这个小插件,开发者可以更专注于业务逻辑,而不必过多地...

    android数据库操作Demo

    本示例"android数据库操作Demo"提供了一个基础的教程,涵盖了数据库的基本操作,包括添加数据(增)、删除数据(删)、查询数据(查)和更新数据(改)。我们将深入探讨这些核心概念。 首先,Android使用SQLite作为...

    Android数据库OrmLite框架封装详解完美好友列表Demo

    本教程将详细介绍如何使用第三方库OrmLite进行Android数据库封装,并通过一个好友列表的Demo来具体展示其优势。 首先,让我们了解下OrmLite是什么。OrmLite是一个轻量级的Java ORM库,它允许开发者将Java对象直接...

    数据库_异步操作封装

    综上所述,异步操作封装在Android数据库开发中扮演着至关重要的角色,通过合理选择和运用各种异步机制,我们可以实现高效、稳定且用户体验良好的数据库操作。无论采用何种方式,关键在于理解不同异步方法的适用场景...

    Android异步操作数据库

    ORM(Object-Relational Mapping)库如ORM Lite和GreenDao能简化数据库操作,它们支持异步操作,提供了便捷的方法来执行查询、插入、更新和删除等操作,减轻开发者的工作负担。 5. **rxJava和rxAndroid** RxJava是...

    Android SQLite数据库操作

    本教程将深入讲解如何在Android中进行SQLite数据库的基本操作,包括创建数据库、表的增删改查以及在数据库升级时如何保留数据。 首先,我们需要创建一个SQLiteOpenHelper的子类,这是Android提供用来管理和操作...

    android 数据库操作代码生成器(version 0.1)-32位

    4. **事务管理**:自动封装数据库事务,确保数据的一致性,比如在一组操作中,如果有一个失败,所有操作都将回滚。 5. **异步操作**:生成的代码可能包含异步处理逻辑,使得数据库操作不会阻塞主线程,提高用户体验...

    Android数据库应用编程

    本文将深入探讨Android数据库应用编程的相关知识点,帮助开发者掌握如何有效地在Android应用中管理和操作数据。 ### SQLite数据库介绍 SQLite是一个开源、嵌入式、自包含的SQL数据库引擎,无需单独的服务器进程,...

    android数据库框架

    在Android应用开发中,数据库...总之,这个"android数据库框架"旨在简化Android应用中的数据库操作,提供高效、易用的工具,以应对各种数据库管理需求。了解并掌握这些关键点,对于高效开发和维护Android应用至关重要。

    Android 下的 SQLite 操作封装

    `DatabaseUtil` 类是用于封装SQLite数据库操作的一个实用工具类,它简化了与数据库的交互,使得开发者能更方便地执行增删查改等操作。在这个类中,`DatabaseHelper` 是一个私有的内部类,其主要职责是创建和更新...

    Android-基于Android中原生SDK操作SQLite的封装

    为了提高开发效率,通常会使用ORM(Object-Relational Mapping)框架来简化数据库操作,将Java对象与SQLite数据库表进行映射,从而减少手动编写SQL语句的工作量。本文将详细介绍如何基于Android原生SDK封装SQLite...

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

    - 考虑使用ORM(Object-Relational Mapping)库,如ORMLite,简化数据库操作。 - 对于大量数据,考虑使用CursorLoader进行异步加载。 8. **总结**: 结合ArcGIS for Android和SQLite,开发者可以构建功能强大的...

    android sql封装工具类

    首先,"android sql封装工具类"是为了简化Android应用中对SQLite数据库的操作而设计的。通常,开发者需要编写大量的SQL语句和相关的CRUD(Create, Read, Update, Delete)操作,这不仅繁琐且容易出错。通过封装,...

    Android直接操作数据库

    内容提供者是Android系统中一个用于在不同应用间共享数据的组件,它可以封装对SQLite数据库的操作,使得数据对外更安全和统一。 5. **异步数据库操作** 由于数据库操作可能涉及大量计算,直接在主线程执行会导致UI...

    数据库封装

    "数据库封装"这一主题,主要关注如何通过创建自定义的抽象层,简化对SQLite数据库的操作,提高代码的可读性和可维护性。下面将详细介绍这个过程,以及相关的知识点。 首先,我们需要了解SQLite,它是Android系统...

Global site tag (gtag.js) - Google Analytics