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();
}
}
分享到:
相关推荐
"android数据库操作封装"主要是为了提高代码的可读性、可维护性和复用性,通过创建自定义的数据访问对象(DAO)层和数据库帮助类来实现。 1. 数据库Helper类: 在Android中,我们通常会创建一个继承自`...
总结来说,Android数据库ORM封装使得数据库操作更加简便,通过Room框架,我们可以以声明式的方式定义数据库操作,同时保持代码的清晰和可维护性。`DataBaseDemo`项目则提供了具体的实现示例,有助于你在实际项目中...
在这个场景下,我们有一个名为`DataBaseHelper.java`的文件,它提供了一个基本的数据库封装,可以被其他类继承以进行自定义扩展。 `DataBaseHelper`类通常会实现以下几个关键功能: 1. **初始化数据库**: 在...
这极大地简化了数据库操作,避免了手动编写SQL语句。 1. **安装与配置**:首先,你需要在项目的build.gradle文件中添加GreenDao的依赖。然后同步项目,GreenDao的库就会被引入到项目中。接着,创建一个`...
总之,“android 数据库封装小插件”通过SQLitePacker等类,实现了对Android数据库操作的便捷化和模块化,降低了开发难度,提高了代码的复用性和效率。使用这个小插件,开发者可以更专注于业务逻辑,而不必过多地...
本示例"android数据库操作Demo"提供了一个基础的教程,涵盖了数据库的基本操作,包括添加数据(增)、删除数据(删)、查询数据(查)和更新数据(改)。我们将深入探讨这些核心概念。 首先,Android使用SQLite作为...
本教程将详细介绍如何使用第三方库OrmLite进行Android数据库封装,并通过一个好友列表的Demo来具体展示其优势。 首先,让我们了解下OrmLite是什么。OrmLite是一个轻量级的Java ORM库,它允许开发者将Java对象直接...
综上所述,异步操作封装在Android数据库开发中扮演着至关重要的角色,通过合理选择和运用各种异步机制,我们可以实现高效、稳定且用户体验良好的数据库操作。无论采用何种方式,关键在于理解不同异步方法的适用场景...
ORM(Object-Relational Mapping)库如ORM Lite和GreenDao能简化数据库操作,它们支持异步操作,提供了便捷的方法来执行查询、插入、更新和删除等操作,减轻开发者的工作负担。 5. **rxJava和rxAndroid** RxJava是...
本教程将深入讲解如何在Android中进行SQLite数据库的基本操作,包括创建数据库、表的增删改查以及在数据库升级时如何保留数据。 首先,我们需要创建一个SQLiteOpenHelper的子类,这是Android提供用来管理和操作...
4. **事务管理**:自动封装数据库事务,确保数据的一致性,比如在一组操作中,如果有一个失败,所有操作都将回滚。 5. **异步操作**:生成的代码可能包含异步处理逻辑,使得数据库操作不会阻塞主线程,提高用户体验...
本文将深入探讨Android数据库应用编程的相关知识点,帮助开发者掌握如何有效地在Android应用中管理和操作数据。 ### SQLite数据库介绍 SQLite是一个开源、嵌入式、自包含的SQL数据库引擎,无需单独的服务器进程,...
在Android应用开发中,数据库...总之,这个"android数据库框架"旨在简化Android应用中的数据库操作,提供高效、易用的工具,以应对各种数据库管理需求。了解并掌握这些关键点,对于高效开发和维护Android应用至关重要。
`DatabaseUtil` 类是用于封装SQLite数据库操作的一个实用工具类,它简化了与数据库的交互,使得开发者能更方便地执行增删查改等操作。在这个类中,`DatabaseHelper` 是一个私有的内部类,其主要职责是创建和更新...
为了提高开发效率,通常会使用ORM(Object-Relational Mapping)框架来简化数据库操作,将Java对象与SQLite数据库表进行映射,从而减少手动编写SQL语句的工作量。本文将详细介绍如何基于Android原生SDK封装SQLite...
- 考虑使用ORM(Object-Relational Mapping)库,如ORMLite,简化数据库操作。 - 对于大量数据,考虑使用CursorLoader进行异步加载。 8. **总结**: 结合ArcGIS for Android和SQLite,开发者可以构建功能强大的...
首先,"android sql封装工具类"是为了简化Android应用中对SQLite数据库的操作而设计的。通常,开发者需要编写大量的SQL语句和相关的CRUD(Create, Read, Update, Delete)操作,这不仅繁琐且容易出错。通过封装,...
内容提供者是Android系统中一个用于在不同应用间共享数据的组件,它可以封装对SQLite数据库的操作,使得数据对外更安全和统一。 5. **异步数据库操作** 由于数据库操作可能涉及大量计算,直接在主线程执行会导致UI...
"数据库封装"这一主题,主要关注如何通过创建自定义的抽象层,简化对SQLite数据库的操作,提高代码的可读性和可维护性。下面将详细介绍这个过程,以及相关的知识点。 首先,我们需要了解SQLite,它是Android系统...