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. JavaScript(四)---- 函数

    函数主要用来封装具体的功能代码. 函数是由这样的方式进行声明的:关键字 function.函数名.一组参数,以及置于括号中的待执行代码. 格式: function 函数名(形参列表){         ...

  2. Android MediaScanner 详尽分析

    [Innost]: http://blog.csdn.net/Innost/article/details/6083467 ====================================== ...

  3. xshell 图形化连接ubuntu

    原文: http://jingyan.baidu.com/article/d45ad148967fcd69552b80f6.html Xmanager4系列软件是一套非常好的liunx远程操作,尤其是 ...

  4. map转换成list

    Java代码如下: package Test01; import java.util.ArrayList; import java.util.HashMap; import java.util.Ite ...

  5. C/C++ strtok函数

    一.头文件:#include <string.h> 二.函数原型:char * strtok (char *str, const char * delimiters); 三.参数:str, ...

  6. 实现免密码输入 ssh 登录

    实现免密码输入 ssh 登录假设 A 为客户机器, B 为目标机:要达到的目的:A 机器 ssh 登录 B 机器无需输入密码:加密方式选 rsa|dsa 均可以,默认 dsa做法:1.登录 A 机器2 ...

  7. HDU 1896 Stones(优先队列)

    还是优先队列 #include<iostream> #include<cstdio> #include<cstring> #include<queue> ...

  8. fragment 数据传递,传值,通信

    [原][Fragment精深系列4]Fragment与Activity之间的数据交互 2015-5-26阅读389 评论0   以下内容来自于自己的实践和网络资料的整理,希望对你有帮助. 一.Acti ...

  9. Mysql用户相关操作

    MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL 命令行模式下输入如下命 ...

  10. Android---Parcelable包装类的作用

    android提供了一种新的类型:Parcel.本类被用作封装数据的容器,封装后的数据可以通过Intent或IPC传递. 除了基本类型以外,只有实现了Parcelable接口的类才能被放入Parcel ...