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. J2SE基本数据结构

    1.J2SE中的常用数据结构对象的继承关系如下图 Collection ........|--------List ........|..........|----------ArrayList .. ...

  2. leetcode371

    我这道题目真的是划水的,因为弄了很长时间发现,我可能对于位操作不是特别喜欢吧. 确实为了最求速度,位操作确实快一些. 单独从题目意思来说,用别的方式实现加法,我觉得吧,真的有点醉了...就这样. 下面 ...

  3. HDU1372,BFS象棋马走日

    简单的对于bfs的运用,但是还是写的太慢了写了TMD的1H,主要是不熟悉,以后慢慢熟悉就好了,模型基本已经能建立了,主要出现bug是在方向数组的运用上面,一定要记得是从0开始的,而不是从1开始的,导致 ...

  4. java打jar包

    一.打包jar文件 1      如果是class文件     jar cvf myjar.jar Foo.class Bar.class 如果是包     jar cvf myjar.jar pac ...

  5. 词链(link)

    词链(link) 题目描述 给定一个仅包含小写字母的英文单词表,其中每个单词最多包含50个字母.如果一张由一个词或多个词组成的表中,每个单词(除了最后一个)都是排在它后面的单词的前缀,则称此表为一个词 ...

  6. 介绍Angular的注入服务

    其实angular的注入服务是挺复杂的,目前看源码也只看懂了一半,为了不误导大家,我也不讲敢讲太复杂,怕自己都理解错了. 首先我们要知道angular的三种注入方式: 第一种:inference va ...

  7. CALayer --> UIView

    一.CALayer和UIView的关系 UIView显示在屏幕上归功于CALayer 可以说:UIView依赖CALayer,又高于CALayer 通过调用drawRect方法来渲染自身的内容,调节C ...

  8. 利用cookie实现“只弹出一次窗口”的JS代码

    弹出式窗口通常被用来做弹出广告(CPM),其实用弹出式窗口用来做消息通知也是最普遍而且是最有效的方法,但如果每次刷新页面特别是刷新首页都要弹出窗口的话,那绝对是让访问者厌烦的事情. 比如你将上面的脚本 ...

  9. exe打包发行哪家强

    exe打包发行哪家强,我推荐Advanced Installer11.0: 该有的都有了,这是网盘地址:http://pan.baidu.com/s/1geRDPIz

  10. CodeForces 609A USB Flash Drives

    水题 #include<cstdio> #include<cmath> #include<algorithm> using namespace std; +; in ...