`

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-一个简单的面向对象的Android的轻量级数据库框架

    一个简单的面向对象的轻量级数据库框架,简化了Android开发中操作数据库的繁琐过程,将面向过程的业务逻辑封装,完全的零Sql语句。

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

    基于Android中原生SDK操作SQLite的封装,大大简化了实体对象与本地数据库间的交互操作,提升App的开发效率

    android sqlite数据库框架

    该案例对android的数据日常操作进行了整合,使用了Java注解和反射机制实现sql语句的封装,大大简化了对数据库的增删改查操作。

    SQLite封装层SquiDB.zip

    SquiDB 是 Android 平台下 SQLite 数据库的封装层。简化了 SQlite 数据库的操作,合并了类型安全对象和面向对象 SQL 语句处理。示例代码:long ageCutoff = System.currentTimeMillis() - (DateUtil.YEAR_IN_...

    lgame -android-0.3

     同时也是是一个高通用性的游戏框架,作为支持Java桌面游戏以及网页游戏开发的全功能引擎,LGame无论对画面绘制、精灵碰撞、特效渲染、窗体组件,还是XML操作,文本数据库操作,HTTP操作,日志操作等都提供有完善的...

    新版Android开发教程.rar

    这一联盟将会支持 Google 发布的 Android 手机操作系统或者应用软件,共同开发名为 Android 的 开 放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了...

    Android Studio实现多媒体播放器,音乐视频一体化,功能强大,UI美观,满分课设!

    简化了播放逻辑,封装了项目结构。 解压我的压缩包之后,第一个是项目源代码,第二个是用到的Tomcat资源文件,将资源文件中的文件夹放到Tomcat的ROOT目录下,用AS运行项目源代码。 项目的具体设计和运行演示,可以...

    Android实战项目-电子书阅读(MD设计)

    RecyclerView简化框架 BaseRecyclerViewAdapterHelper MD风格Dialog material-dialogs TabLaout选择 NavigationTabStrip 数据加载动画 Android-SpinKit 展开折叠TextView ExpandTextView 流式标签 FlowLayout 数据库...

    Android代码-WeYueReader

    RecyclerView简化框架 BaseRecyclerViewAdapterHelper MD风格Dialog material-dialogs TabLaout选择 NavigationTabStrip 数据加载动画 Android-SpinKit 展开折叠TextView ExpandTextView 流式标签 FlowLayout 数据库...

    ThinkAndroid是简易的、遵循Apache2开源协议发布的Android开发框架.zip

    其开发宗旨是简单、快速的进行 Android应用程序的开发,包含Android mvc、简易sqlite orm、ioc模块、封装Android httpcliten… 开发工具在软件开发生命周期中扮演着至关重要的角色,它们旨在简化和加速从概念设计...

    android下载封装案例

    最简单的方式,甚至不需要你去写数据库!楼主也是在别人的demo上面略经改造得来的。下载过程也是在服务中 这里把它简化了 只要根据自己的需要多加改造 单线程多线程显得轻而易举 本demo 也是用了第三方的框架 xUtils,...

    shujvcaozuo.java

    对数据库SQLite进行了封装,此类可以对SQLite数据库进行数据库的创建以及对表的增、删、改、查的操作,简化操作

    一个简化通用APP开发过程的综合库

    网络操作封装了 LiteHttp ,缓存方面使用了 ACache,可以方便结合界面元素进行缓存加载 ,封装了 SharePreference,封装了常用的 Login 操作等。初衷是希望独立 APP 开发者能够快速实现核心功能,而不再纠结各种界面...

    Android应用orm和ioc开发框架

    KJFrameForAndroid的设计思想是通过封装Android原生SDK中复杂的复杂操作而达到简化Android应用级开发,最终实现快速而又安全的开发APP。我们提倡用最少的代码,完成最多的操作,用最高的效率,完成最复杂的功能。...

    okhttp封装的HTTP请求工具,实际开发直接使用即可.zip

    数据库客户端工具用于连接、查询、更新数据库,ORM(对象关系映射)工具简化了数据操作和持久化层的开发工作。 总之,开发工具极大地提升了软件工程师的工作效率,保证了开发过程中的准确性与一致性,同时也促进了...

    轻量级,高性能,少依赖,低级封装的服务器开发工具和项目搭建模板,可以开发游戏服务器和小型中间件等.zip

    数据库客户端工具用于连接、查询、更新数据库,ORM(对象关系映射)工具简化了数据操作和持久化层的开发工作。 总之,开发工具极大地提升了软件工程师的工作效率,保证了开发过程中的准确性与一致性,同时也促进了...

    指纹识别算法练习,基于FVC2004数据库,Qt平台开发,核心C语言实现.zip

    它支持多种操作系统,包括但不限于Windows、macOS、Linux、Android和iOS。通过Qt,开发者可以使用同一套源代码,在不同平台上编译并生成原生外观与体验的应用程序,极大地提高了开发效率和产品一致性。 图形用户...

    这是一款特别适用于中小企业应用的JavaEE快速开发框架.zip

    它是居于Spring容器之上,封装了DAO(含Hibernate和MongoDB)操作、多模块统一管理、统一配置管理、统一日志管理等优雅的工程管理开发模型,并提供大量工具包、Json操作、分页辅助工具。 开发工具在软件开发生命...

Global site tag (gtag.js) - Google Analytics