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数据库的封装,简化了各种操作,值得学习
一个简单的面向对象的轻量级数据库框架,简化了Android开发中操作数据库的繁琐过程,将面向过程的业务逻辑封装,完全的零Sql语句。
基于Android中原生SDK操作SQLite的封装,大大简化了实体对象与本地数据库间的交互操作,提升App的开发效率
该案例对android的数据日常操作进行了整合,使用了Java注解和反射机制实现sql语句的封装,大大简化了对数据库的增删改查操作。
SquiDB 是 Android 平台下 SQLite 数据库的封装层。简化了 SQlite 数据库的操作,合并了类型安全对象和面向对象 SQL 语句处理。示例代码:long ageCutoff = System.currentTimeMillis() - (DateUtil.YEAR_IN_...
同时也是是一个高通用性的游戏框架,作为支持Java桌面游戏以及网页游戏开发的全功能引擎,LGame无论对画面绘制、精灵碰撞、特效渲染、窗体组件,还是XML操作,文本数据库操作,HTTP操作,日志操作等都提供有完善的...
这一联盟将会支持 Google 发布的 Android 手机操作系统或者应用软件,共同开发名为 Android 的 开 放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了...
简化了播放逻辑,封装了项目结构。 解压我的压缩包之后,第一个是项目源代码,第二个是用到的Tomcat资源文件,将资源文件中的文件夹放到Tomcat的ROOT目录下,用AS运行项目源代码。 项目的具体设计和运行演示,可以...
RecyclerView简化框架 BaseRecyclerViewAdapterHelper MD风格Dialog material-dialogs TabLaout选择 NavigationTabStrip 数据加载动画 Android-SpinKit 展开折叠TextView ExpandTextView 流式标签 FlowLayout 数据库...
RecyclerView简化框架 BaseRecyclerViewAdapterHelper MD风格Dialog material-dialogs TabLaout选择 NavigationTabStrip 数据加载动画 Android-SpinKit 展开折叠TextView ExpandTextView 流式标签 FlowLayout 数据库...
其开发宗旨是简单、快速的进行 Android应用程序的开发,包含Android mvc、简易sqlite orm、ioc模块、封装Android httpcliten… 开发工具在软件开发生命周期中扮演着至关重要的角色,它们旨在简化和加速从概念设计...
最简单的方式,甚至不需要你去写数据库!楼主也是在别人的demo上面略经改造得来的。下载过程也是在服务中 这里把它简化了 只要根据自己的需要多加改造 单线程多线程显得轻而易举 本demo 也是用了第三方的框架 xUtils,...
对数据库SQLite进行了封装,此类可以对SQLite数据库进行数据库的创建以及对表的增、删、改、查的操作,简化操作
网络操作封装了 LiteHttp ,缓存方面使用了 ACache,可以方便结合界面元素进行缓存加载 ,封装了 SharePreference,封装了常用的 Login 操作等。初衷是希望独立 APP 开发者能够快速实现核心功能,而不再纠结各种界面...
KJFrameForAndroid的设计思想是通过封装Android原生SDK中复杂的复杂操作而达到简化Android应用级开发,最终实现快速而又安全的开发APP。我们提倡用最少的代码,完成最多的操作,用最高的效率,完成最复杂的功能。...
数据库客户端工具用于连接、查询、更新数据库,ORM(对象关系映射)工具简化了数据操作和持久化层的开发工作。 总之,开发工具极大地提升了软件工程师的工作效率,保证了开发过程中的准确性与一致性,同时也促进了...
数据库客户端工具用于连接、查询、更新数据库,ORM(对象关系映射)工具简化了数据操作和持久化层的开发工作。 总之,开发工具极大地提升了软件工程师的工作效率,保证了开发过程中的准确性与一致性,同时也促进了...
它支持多种操作系统,包括但不限于Windows、macOS、Linux、Android和iOS。通过Qt,开发者可以使用同一套源代码,在不同平台上编译并生成原生外观与体验的应用程序,极大地提高了开发效率和产品一致性。 图形用户...
它是居于Spring容器之上,封装了DAO(含Hibernate和MongoDB)操作、多模块统一管理、统一配置管理、统一日志管理等优雅的工程管理开发模型,并提供大量工具包、Json操作、分页辅助工具。 开发工具在软件开发生命...