package eoe.database;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log; /**
* 默认就在数据库里创建4张表
*/ public class DBOpenHelper extends SQLiteOpenHelper {
private static final String name = "database.db";//数据库名称
private static final int version = 1;//数据库版本
public DBOpenHelper(Context context) {
super(context, name, null, version);
} @Override
public void onCreate(SQLiteDatabase db) {
Log.e("DBOpenHelper", "DBOpenHelperDBOpenHelperDBOpenHelperDBOpenHelper"); db.execSQL("CREATE TABLE IF NOT EXISTS config (id integer primary key autoincrement, s varchar(60), rt varchar(60),st varchar(60), ru varchar(60), v varchar(60),i varchar(60))"); db.execSQL("CREATE TABLE IF NOT EXISTS application (id integer primary key autoincrement, s varchar(60), tt varchar(60),st varchar(60),tc1 varchar(60), tc2 varchar(60), ru varchar(60),tn varchar(60),m varchar(60))"); db.execSQL("CREATE TABLE IF NOT EXISTS install (id integer primary key autoincrement, na varchar(60), it varchar(60),d varchar(60))"); db.execSQL("CREATE TABLE IF NOT EXISTS smslist (id integer primary key autoincrement, t varchar(60), st varchar(60),n1 varchar(60),n2 varchar(60),n varchar(60),m varchar(60),a varchar(60))");
} @Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.e("DBOpenHelper", "onUpgradeonUpgradeonUpgradeonUpgrade");
db.execSQL("DROP TABLE IF EXISTS config");
db.execSQL("DROP TABLE IF EXISTS application");
db.execSQL("DROP TABLE IF EXISTS install");
db.execSQL("DROP TABLE IF EXISTS smslist");
onCreate(db);
}
}

自定义数据库服务封装类:

package eoe.database;

import android.content.Context;
import android.database.Cursor;
import com.yangguangfu.bean.ApplicationInfo;
import com.yangguangfu.bean.ConfigInfo;
import com.yangguangfu.bean.InstallInfo;
import com.yangguangfu.bean.SMSInfo; /**
* 数据库方法封装,创建表,删除表,数据(增删该查)...
*/
public class DatabaseService {
private DBOpenHelper dbOpenHelper;
public DatabaseService(Context context) {
dbOpenHelper = new DBOpenHelper(context);
} public void dropTable(String taleName) {
dbOpenHelper.getWritableDatabase().execSQL("DROP TABLE IF EXISTS " + taleName);
} public void closeDatabase(String DatabaseName) {
dbOpenHelper.getWritableDatabase().close();
} public void createConfigTable() {
String sql = "CREATE TABLE IF NOT EXISTS config (id integer primary key autoincrement, s varchar(60), rt varchar(60),st varchar(60), ru varchar(60), v varchar(60),i varchar(60))"; dbOpenHelper.getWritableDatabase().execSQL(sql);
} public void createTableApplication() {
String sql = "CREATE TABLE IF NOT EXISTS application (id integer primary key autoincrement, s varchar(60), tt varchar(60),st varchar(60),tc1 varchar(60), tc2 varchar(60), ru varchar(60),tn varchar(60),m varchar(60))"; dbOpenHelper.getWritableDatabase().execSQL(sql);
} public void createTableInstall() {
String sql = "CREATE TABLE IF NOT EXISTS install (id integer primary key autoincrement, na varchar(60), it varchar(60),d varchar(60))"; dbOpenHelper.getWritableDatabase().execSQL(sql);
} public void createTableSmslist() {
String sql = "CREATE TABLE IF NOT EXISTS smslist (id integer primary key autoincrement, t varchar(60), st varchar(60),n1 varchar(60),n2 varchar(60),n varchar(60),m varchar(60),a varchar(60))"; dbOpenHelper.getWritableDatabase().execSQL(sql);
} public void saveConfigInfo(ConfigInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("insert into config (s, rt, st, ru, v,i) values(?,?,?,?,?,?)",new Object[] { configInfo.getS(), configInfo.getRt(),configInfo.getSt(), configInfo.getRu(),configInfo.getV(), configInfo.getI() });
} public void saveApplicationInfo(ApplicationInfo configInfo) {
dbOpenHelper.getWritableDatabase().execSQL("insert into application (s,tt,tc1,tc2,ru,tn,m) values(?,?,?,?,?,?,?)",new Object[] { configInfo.getS(), configInfo.getTt(),configInfo.getTc1(), configInfo.getTc2(),configInfo.getRu(), configInfo.getTn(),configInfo.getM() });
} public void saveMsmInfo(SMSInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("insert into smslist (t,st,n1,n2,n,m,a) values(?,?,?,?,?,?,?)",new Object[] { configInfo.getT(), configInfo.getSt(),configInfo.getN1(), configInfo.getN2(),configInfo.getN(), configInfo.getM(),configInfo.getA() });
} public void saveInstallInfo(InstallInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("insert into install (na,it,d) values(?,?,?)",new Object[] { configInfo.getNa(), configInfo.getIt(),configInfo.getD() });} public void updateConfigInfo(ConfigInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("update config set s=?, rt=?, st=?, ru=?, v=?,i=? where id=?",new Object[] { configInfo.getS(), configInfo.getRt(),configInfo.getSt(), configInfo.getRu(),configInfo.getV(), configInfo.getI(),configInfo.getId() });
} public void updateApplicationInfo(ApplicationInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("update application set s=?, tt=?, st=?, tc1=?, tc2=?,ru=?,tn=?,m=? where id=?",new Object[] { configInfo.getS(), configInfo.getTt(),configInfo.getSt(), configInfo.getTc1(),configInfo.getTc2(), configInfo.getRu(),
configInfo.getTn(),configInfo.getM(), configInfo.getId() }); } public void updateInstallInfo(InstallInfo configInfo) { dbOpenHelper.getWritableDatabase().execSQL("update install set na=?, it=?, d=? where id=?",
new Object[] { configInfo.getNa(), configInfo.getIt(),configInfo.getD(), configInfo.getId() });
} public void updateSMSInfo(SMSInfo configInfo) { dbOpenHelper.getWritableDatabase()
.execSQL("update smslist set t=?, st=?, n1=?, n2=?, n=?, m=?, a=? where id=?",new Object[] { configInfo.getT(), configInfo.getSt(),configInfo.getN1(), configInfo.getN2(),configInfo.getN(), configInfo.getM(),configInfo.getA(), configInfo.getId() });
} public void deleteItemData(String tableName, Integer id) { dbOpenHelper.getWritableDatabase().execSQL("delete from " + tableName + " where id=?",new Object[] { id }); } public InstallInfo findInstallInfo(Integer id) { Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,na,it,d from install where id=?",new String[] { String.valueOf(id) }); if (cursor.moveToNext()) {
InstallInfo configInfo = new InstallInfo();
configInfo.setId((cursor.getInt(0)));
configInfo.setNa(cursor.getString(1));
configInfo.setIt(cursor.getString(2));
configInfo.setD(cursor.getString(3));
return configInfo; }
return null;
} public ConfigInfo findConfigInfo(Integer id) { Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,s,rt,st,ru,v,i from config where id=?",new String[] { String.valueOf(id) }); if (cursor.moveToNext()) {
ConfigInfo configInfo = new ConfigInfo();
configInfo.setId((cursor.getInt(0)));
configInfo.setS(cursor.getString(1));
configInfo.setRt(cursor.getString(2));
configInfo.setSt(cursor.getString(3));
configInfo.setRu(cursor.getString(4));
configInfo.setV(cursor.getString(5));
configInfo.setI(cursor.getString(6));
return configInfo;
}
return null;
} public SMSInfo findSMSInfo(Integer id) {
Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,t,st,n1,n2,n,m,a from smslist where id=?",new String[] { String.valueOf(id) }); if (cursor.moveToNext()) {
SMSInfo configInfo = new SMSInfo();
configInfo.setId((cursor.getInt(0)));
configInfo.setT(cursor.getString(1));
configInfo.setSt(cursor.getString(2));
configInfo.setN1(cursor.getString(3));
configInfo.setN2(cursor.getString(4));
configInfo.setN(cursor.getString(5));
configInfo.setM(cursor.getString(6));
configInfo.setA(cursor.getString(7));
return configInfo;
}
return null;
} public ApplicationInfo findApplication(Integer id) {
Cursor cursor = dbOpenHelper.getWritableDatabase().rawQuery("select id,s,tt,st,tc1,tc2,ru,tn,m from application where id=?",new String[] { String.valueOf(id) }); if (cursor.moveToNext()) {
ApplicationInfo applicationinfo = new ApplicationInfo();
applicationinfo.setId((cursor.getInt(0)));
applicationinfo.setS(cursor.getString(1));
applicationinfo.setTt(cursor.getString(2));
applicationinfo.setSt(cursor.getString(3));
applicationinfo.setTc1(cursor.getString(4));
applicationinfo.setTc2(cursor.getString(5));
applicationinfo.setRu(cursor.getString(6));
applicationinfo.setTn(cursor.getString(7));
applicationinfo.setM(cursor.getString(8));
return applicationinfo;
}
return null;
} public long getDataCount(String tableName) {
Cursor cursor = dbOpenHelper.getReadableDatabase().rawQuery("select count(*) from " + tableName, null);
cursor.moveToFirst();
return cursor.getLong(0);
} public void close() {
dbOpenHelper.close();
} }

SQLite高级:一库建多表,封装类的更多相关文章

  1. 一、Sql Server 基础培训《进度1-建库建数据表(实际操作)》

    知识点: 1.建数据库示例参考 --创建一个数据库名为‘dbtest’ create database dbtest go --打开数据库 dbtest use dbtest go 2.建表示例参考 ...

  2. MySQL建库建表

    一直使用SQL SERVER 数据库:最近项目使用MY SQL感觉还是有一点不适应.不过熟悉之后就会好很多. MY SQL 安装之后会有一个管理工具MySQL Workbench 感觉不太好用,数据库 ...

  3. php源码建博客5--建库建表-配置文件-错误日志

    主要: 整理框架 建库建表 配置文件类 错误日志记录 --------------本篇后文件结构:-------------------------------------- blog ├─App │ ...

  4. 【ITOO 2】.NET 动态建库建表:使用SQL字符串拼接方式

    导读:在最近接手的项目(高效云平台)中,有一个需求是要当企业用户注册时,给其动态的新建一个库和表.刚开始接手的时候,是一点头绪都没有,然后查了一些资料,也问了问上一版本的师哥师姐,终于有了点头绪.目前 ...

  5. 【ITOO 3】.NET 动态建库建表:实用EF框架提供的codeFirst实现动态建库

    导读:在上篇博客中,介绍了使用SQL字符拼接的方式,实现动态建库建表的方法.这样做虽然也能够实现效果,但是,太麻烦,而且,如果改动表结构,字段的话,会对代码修改很多.但是EF给我们提供了一种代码先行的 ...

  6. SQL Server建库-建表-建约束

    ----------------------------------------SQL Server建库-建表-建约束创建School数据库------------------------------ ...

  7. 使用T-sql建库建表建约束

    为什么要使用sql语句建库建表? 现在假设这样一个场景,公司的项目经过测试没问题后需要在客户的实际环境中进行演示,那就需要对数据进行移植,现在问题来了:客户的数据库版本和公司开发阶段使用的数据库不兼容 ...

  8. mysql那些事(4)建库建表编码的选择

    mysql建数据库或者建表的时候会遇到选择编码的问题,以前我们都是习惯性的选择utf8,但是在mysql在5.5.3版本后加了utf8mb4的编码,utf8mb4可以存4个字节Unicode,mb4就 ...

  9. C# 利用*.SQL文件自动建库建表等的类

    /// <summary> /// 自动建库建表 /// </summary> public class OperationSqlFile { SqlConnection sq ...

随机推荐

  1. 学习笔记——适配器模式Adapter

    适配器模式适用于将不一致的接口转换为一致的接口. 比如,去香港玩儿,带上了自己的笔记本电脑,结果晚上插电时就抓瞎了,电源插孔与插座不一致.WTF…… 插座是酒店装好的,不可能拆了换一个,电源是自己的, ...

  2. “找回” Envi 快捷方式

      Envi+IDL文件夹挪到别的电脑,不用安装,直接可以使用.但是桌面和开始菜单没有了Envi,IDL,envi+idl的快捷方式,很不方便.   记录一下快捷方式命令行,备用: envi快捷方式 ...

  3. elasticsearch 管理工具

    ------------------sense------------------- google chrome 浏览器插件,数据交互使用   -------------------------hea ...

  4. HDU 5215 BestCoder"杯中国大学生程序设计冠军赛” 边双连通分量取出子图+二分染色判图内奇偶环

    Cycle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Sub ...

  5. 卸载get-apt安装的软件

    我们都知道安装软件最简单的方法是apt-get install,但是卸载就不常用了,如何卸载呢? sudo apt-get remove android-tools-adb

  6. 转 BAT CMD 批处理文件脚本总结(中文)

    1.               综述 1.”.bat”: 这是微软的第一个批处理文件的后缀名,在几乎所有的Windows 操作系统内都能运行. 2. “.cmd”: 是为Windows NT 设计的 ...

  7. jQuery常用及基础知识总结(一)

    Attribute: $(”p”).addClass(css中定义的样式类型); 给某个元素添加样式$(”img”).attr({src:”test.jpg”,alt:”test Image”}); ...

  8. 素数路(prime)

    素数路(prime) 题目描述 已知一个四位的素数,要求每次修改其中的一位,并且要保证修改的结果还是一个素数,还不能出现前导零.你要找到一个修改数最少的方案,得到我们所需要的素数. 例如把1033变到 ...

  9. 8数码,欺我太甚!<bfs+康拓展开>

    不多述,直接上代码,至于康拓展开,以前的文章里有 #include<iostream> #include<cstdio> #include<queue> using ...

  10. 2015 HDU 计算机学院 院赛 1003 玩骰子

    Problem Description   Nias与Ains都特别喜欢玩骰子,而且都自以为比对方玩得更溜.  终于有一天,他们决定用骰子来一决高下!  一般的骰子玩法已经不足以体现他们的水平了,于是 ...