Android 数据库一次创建多个表

安卓微信本地数据库解密 安卓微信数据库解密 阅读详情

Android 数据库一次创建多个表

时间:2012-11-21 11:25来源:未知 作者:Eric*Market 点击:335次
  Android 数据库一次创建多个表
我们今天来说的就是android培训中的数据库(sqlite)一次性多建立几个表,这样我们就可以不会在用的时候在建立一张表,一次性我们建立多表以后,我们就省去很多的事情,那么我们还等什么,就来看看代码吧:
 
01packageeoe.database; 
02  
03importandroid.content.Context; 
04importandroid.database.sqlite.SQLiteDatabase; 
05importandroid.database.sqlite.SQLiteOpenHelper; 
06importandroid.util.Log; 
07  
08/** 
09* 默认就在数据库里创建4张表 
10*/ 
11  
12publicclassDBOpenHelperextendsSQLiteOpenHelper { 
13privatestaticfinalString name ="database.db";//数据库名称 
14privatestaticfinalintversion =1;//数据库版本 
15publicDBOpenHelper(Context context) { 
16super(context, name,null, version); 
17} 
18  
19  
20@Override 
21publicvoidonCreate(SQLiteDatabase db) { 
22Log.e("DBOpenHelper","DBOpenHelperDBOpenHelperDBOpenHelperDBOpenHelper"); 
23  
24db.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))");
25  
26db.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))");
27  
28db.execSQL("CREATE TABLE IF NOT EXISTS install (id integer primary key autoincrement, na varchar(60), it varchar(60),d varchar(60))");
29  
30db.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))");
31} 
32  
33@Override 
34publicvoidonUpgrade(SQLiteDatabase db,intoldVersion,intnewVersion) { 
35Log.e("DBOpenHelper","onUpgradeonUpgradeonUpgradeonUpgrade"); 
36db.execSQL("DROP TABLE IF EXISTS config"); 
37db.execSQL("DROP TABLE IF EXISTS application"); 
38db.execSQL("DROP TABLE IF EXISTS install"); 
39db.execSQL("DROP TABLE IF EXISTS smslist"); 
40onCreate(db); 
41} 
42}



              数据库服务 
01packageeoe.database; 
02  
03importandroid.content.Context; 
04importandroid.database.Cursor; 
05importcom.yangguangfu.bean.ApplicationInfo; 
06importcom.yangguangfu.bean.ConfigInfo; 
07importcom.yangguangfu.bean.InstallInfo; 
08importcom.yangguangfu.bean.SMSInfo; 
09  
10/** 
11* 数据库方法封装,创建表,删除表,数据(增删该查)... 
12*/ 
13publicclassDatabaseService { 
14privateDBOpenHelper dbOpenHelper; 
15publicDatabaseService(Context context) { 
16dbOpenHelper =newDBOpenHelper(context); 
17} 
18  
19publicvoiddropTable(String taleName) { 
20dbOpenHelper.getWritableDatabase().execSQL("DROP TABLE IF EXISTS "+ taleName); 
21} 
22  
23publicvoidcloseDatabase(String DatabaseName) { 
24dbOpenHelper.getWritableDatabase().close(); 
25} 
26  
27publicvoidcreateConfigTable() { 
28String 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))";
29  
30dbOpenHelper.getWritableDatabase().execSQL(sql); 
31} 
32  
33publicvoidcreateTableApplication() { 
34String 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))";
35  
36  
37dbOpenHelper.getWritableDatabase().execSQL(sql); 
38} 
39  
40publicvoidcreateTableInstall() { 
41String sql ="CREATE TABLE IF NOT EXISTS install (id integer primary key autoincrement, na varchar(60), it varchar(60),d varchar(60))";
42  
43  
44dbOpenHelper.getWritableDatabase().execSQL(sql); 
45} 
46  
47publicvoidcreateTableSmslist() { 
48String 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))";
49  
50dbOpenHelper.getWritableDatabase().execSQL(sql); 
51} 
52  
53publicvoidsaveConfigInfo(ConfigInfo configInfo) { 
54  
55dbOpenHelper.getWritableDatabase().execSQL("insert into config (s, rt, st, ru, v,i) values(?,?,?,?,?,?)",newObject[] { configInfo.getS(), configInfo.getRt(),configInfo.getSt(), configInfo.getRu(),configInfo.getV(), configInfo.getI() });
56} 
57  
58publicvoidsaveApplicationInfo(ApplicationInfo configInfo) { 
59dbOpenHelper.getWritableDatabase().execSQL("insert into application (s,tt,tc1,tc2,ru,tn,m) values(?,?,?,?,?,?,?)",newObject[] { configInfo.getS(), configInfo.getTt(),configInfo.getTc1(), configInfo.getTc2(),configInfo.getRu(), configInfo.getTn(),configInfo.getM() });
60} 
61  
62publicvoidsaveMsmInfo(SMSInfo configInfo) { 
63  
64dbOpenHelper.getWritableDatabase().execSQL("insert into smslist (t,st,n1,n2,n,m,a) values(?,?,?,?,?,?,?)",newObject[] { configInfo.getT(), configInfo.getSt(),configInfo.getN1(), configInfo.getN2(),configInfo.getN(), configInfo.getM(),configInfo.getA() });
65} 
66  
67publicvoidsaveInstallInfo(InstallInfo configInfo) { 
68  
69dbOpenHelper.getWritableDatabase().execSQL("insert into install (na,it,d) values(?,?,?)",newObject[] { configInfo.getNa(), configInfo.getIt(),configInfo.getD() });}
70  
71publicvoidupdateConfigInfo(ConfigInfo configInfo) { 
72  
73dbOpenHelper.getWritableDatabase().execSQL("update config set s=?, rt=?, st=?, ru=?, v=?,i=? where id=?",newObject[] { configInfo.getS(), configInfo.getRt(),configInfo.getSt(), configInfo.getRu(),configInfo.getV(), configInfo.getI(),configInfo.getId() });
74} 
75  
76publicvoidupdateApplicationInfo(ApplicationInfo configInfo) { 
77  
78dbOpenHelper.getWritableDatabase().execSQL("update application set s=?, tt=?, st=?, tc1=?, tc2=?,ru=?,tn=?,m=? where id=?",newObject[] { configInfo.getS(), configInfo.getTt(),configInfo.getSt(), configInfo.getTc1(),configInfo.getTc2(), configInfo.getRu(),
79configInfo.getTn(),configInfo.getM(), configInfo.getId() }); 
80  
81} 
82  
83publicvoidupdateInstallInfo(InstallInfo configInfo) { 
84  
85dbOpenHelper.getWritableDatabase().execSQL("update install set na=?, it=?, d=? where id=?",
86newObject[] { configInfo.getNa(), configInfo.getIt(),configInfo.getD(), configInfo.getId() }); 
87} 
88  
89publicvoidupdateSMSInfo(SMSInfo configInfo) { 
90  
91dbOpenHelper.getWritableDatabase() 
92.execSQL("update smslist set t=?, st=?, n1=?, n2=?, n=?, m=?, a=? where id=?",newObject[] { configInfo.getT(), configInfo.getSt(),configInfo.getN1(), configInfo.getN2(),configInfo.getN(), configInfo.getM(),configInfo.getA(), configInfo.getId() });
93} 
   



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();
    }
 
    }
 

android 玩转ContentProvider之二--实现多个ContentProvider对多张表进行操作 本人原创作品,谢绝转载!     上一篇android 玩转ContentProvider之一--实现ContentProvider操作数据库讲了ContentProvider基本用法,下面提高一下,实现两个ContentProvider分别对表进行操作。     其它地方跟一个ContentProvider操作一张表都是一样的,唯一区别是authority,在声明的时候要注意,因为要声明两个 阅读详情

相关推荐

安卓db数据库查看工具——快速管理与分析SQLite数据库

SQLite 是 Android 内置的轻量级关系型数据库管理系统,为 Android 应用提供了一种高效、便捷的数据持久化方案。与传统的关系型数据库不同,SQLite 将数据库存储在文件系统中的单一文件内,从而简化了数据库的部署和管理。SQLite 支持标准的 SQL 语言,允许在没有服务器进程的情况下进行数据库操作,这使得它非常适合于资源有限的移动设备环境。在 Android 应用开发中,SQLite 数据库常用于本地数据存储、用户个性化设置记录以及应用内缓存。

weixin_32869687的博客 1941

Android项目中,在一个数据库里建立多张表

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33694172的博客 1300

android SQLite 一个数据库创建多个表

android SQLite 一个数据库创建多个表,并对指定的表进行增删改查操作,具体使用SQLite数据库时,可以将这个作为模版,在此基础上增加或减少数据库及表,操作起来非常的方便。

android 数据库多个表,如何在Android studio数据库中创建多个表

对不起打扰你们所有人,但有时帮助就是我要求的.我是Android开发的新手,目前我正在通过ChannelKnowledge通道在youtube上关注android数据库创建教程,但是,它只适用于一个表,而我需要在数据库中有3个表,并且无法获得我的方式.任何帮助,将不胜感激.提前致谢!这是我目前的代码.公共类DatabaseHelper扩展SQLiteOpenHelper {//database n...

weixin_34712106的博客 2068

Android建立多表及多表查询demo

Android SQlite 多表建立 多表查询

基于AXI PCIE IP的FPGA PCIE卡示意图

如果在上图中的AXI互联IP上再连接一个带AXI Slave接口的BRAM控制器,这个BRAM控制器连接一个BRAM,Host PC在系统主存中分配了一些不连续的内存,Host PC可以将这些内存段的起始地址(当然要先转为PCIE总线地址)写到AXI总线上的BRAM中,这样AXI CDMA读取BRAM,将读取到的PCIE总线基地址写到AXIPCIE寄存器块中的AXIBAR2PCIEBAR_n寄存器中,这样就实现了SG DMA。通过动态改变AXIBAR2PCIEBAR_n寄存器的值,可以实现多通道DMA。

csdn_gddf102384398的博客 1621

android创建多个数据表,与数据库操作

---恢复内容开始--- 新做了一个小项目,多数地方用到数据库操作,在此记录。 android自带sqlite,新建一个类继承SQLiteOpenHelper,重写oncreate,onupgrade代码,如下。 public class SkbDbHelper extends SQLiteOpenHelper { // If you change the database s...

weixin_30502965的博客 585

FPGA实战:MIG IP核AXI接口DDR3读写优化指南

本文详细解析了FPGA中MIG IP核AXI接口的DDR3读写优化策略,涵盖关键参数配置、突发传输技巧及时序收敛方案。通过AXI接口优化和突发长度选择,可实现高达12.8GB/s的理论带宽,提升DDR3访问效率。文章还提供了Vivado配置实例和调试技巧,助力开发者解决FPGA内存控制中的实际问题。

weixin_29168393的博客 545

android 生成多个表单,android自定义表单

一、概述场景:如上图,注册时,需要获取填入的内容,并且判断是否为空,如果为空则提示。如果你有耐心,可以一个个获取editText,然后逐个获取值,逐个用if else判断是否为空。下面就是为解决这一个繁琐的问题提供方案。二、使用效果图1、引入库 compile 'com.wuwind.form:formlibrary:1.0.0'2、在你的布局文件最外层嵌套中间略去...3、代码3.1FormLa...

weixin_36204045的博客 426

台积电技术研发实力

台积电技术研发实力 台积电在半导体行业的地位毋庸置疑。他们究竟有多强大,大部分读者了解得可能非常片面。从最新公布的2019年财报里,看看台积电的真正实力。 一、台积电在市场上的地位 根据公司财报,台积公司在先进制程技术、特殊制程技术,以及先进封装技术的发展上持续领先全球集成电路制造服务领域,2019年的市场占有率为52%。台积公司总体营收以地区划分(主要依据客户营运总部所在地),来自北美市场的营收占台积公司总体营收的60%、日本与中国大陆以外的亚太市场占9%、中国大陆市场占20%、欧洲、中东及非洲市场占6

吴建明wujianming_110117 1900

Jupyter地铁数据分析预测地铁后7天小时客流量

地铁数据分析 基于八月地铁刷卡数据,以前23天的数据作为训练数据,预测后7天各个地铁站点在6点—23点每个小时的客流量。 import pandas as pd import time import numpy as np import matplotlib.pyplot as plt ...

qq_45868915的博客 1753

Android Studio 使用SQLite数据库来创建数据库+创建数据库表+更新表再次往表添加字段

我们在使用Android进行开发的时候不可避免的要使用到数据,那么就需要用到数据库,来对数据进行操作。而Android系统就内置了SQlite。SQLite是一款轻量级的关系型数据库,它运算速度快,占用资源少,在内存中只需要占用几百KB的存储空间。2.特点轻量级独立性隔离性跨平台安全性多语言接口SQLiteOpenHelper是Android中用于管理SQLite数据库的一个辅助类。

fjh_xx的博客 1万+

乌鸦搜索算法(CSA)详解:从鸟类智能到优化引擎

乌鸦搜索算法(Crow Search Algorithm,CSA)是2016年由Askarzadeh等人提出的一种新型元启发式优化算法,该算法灵感来源于自然界中乌鸦群体的智能觅食行为。这一创新性算法已成为群体智能优化算法家族中的重要成员,与粒子群优化、遗传算法等传统算法相比,CSA具有原理新颖、参数设置简单、全局搜索能力强等特点。

qq_42212808的博客 1278

Android studio 连接SQLite数据库 +创建数据库+创建数据库表

Android studio 连接使用数据库 SQLite 傻瓜式教程 详细教程 有图有解释 再说学不废 那就回家放牛吧(再提醒你别把牛放丢啦)

hjjshua的博客 7万+

智能车浅谈——手把手让车跑起来(电磁篇)

手把手让你的电磁车上路。

qq_41954556的博客 7万+

coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?

🏆本文收录于《优快云问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 2667

android sqlite 添加多个表,SQLite数据库android创建表

“我得到错误”没有这样的表“,并让我尽一切可能让它消失,现在它已经消失了,但我很困惑.这是我的情况我需要在应用程序中创建2个表.我为每个表放了一个类,它看起来像下面的代码.如果我按照这个,当我从“Table2”中提取数据时,它会打击“No Such Table”,所以我需要将DATABASE_NAME更改为其他值=“DB2”;然后“Table2”将成功创建并能够提取数据.所以我的问题是这是确保2个...

weixin_35976688的博客 1368

【腾讯小龙虾WorkBuddy专栏04】一文搞懂WorkBuddy的「专家」和「专家团」

WorkBuddy专家与专家团:专业级AI协作解决方案 WorkBuddy的专家(Expert)与专家团(Expert Team)功能颠覆了通用AI的局限性,提供角色化、可交付的专业服务。 核心优势 专家:深度垂直领域的AI顾问,具备人设、方法论、工具链,如全栈开发专家能直接交付完整项目,而非代码片段。 专家团:多智能体协作,自动拆解复杂任务(如竞品分析、全栈开发)并分发给对应角色,并行执行后整合输出,效率提升显著。 使用场景 单专家:解决专业问题(如SQL优化、UI设计)。

AI人人懂 2010

drop sqlite 多个表_android sqlite 一次创建多个表

package com.yangguangfu.database;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;/*** 默认就在数据库里创建4张表...

weixin_36436683的博客 246

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

查看安卓sqlite数据库工具:Android-Debug-Database

简要介绍 安卓开发过程中,有时需要查看sqlite数据库,核对数据.本文介绍Android-Debug-Database,非常好用. github地址:https://github.com/amitshekhariitbhu/Android-Debug-Database 功能: 支持查看手机该app的数据库和shared preference. 支持修改数据库和shared preferenc...

蓝不蓝编程 1521

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

安卓开发之数据库的创建与删除

安卓开发中数据库是很重要的模块,本文简单介绍数据库的创建与删除,并展示如何查找数据库的位置,这个位置,我一开始挺懵,后面看提示找到的。

qq_54122113的博客 1818

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

mysql 多个 android,如何在Android Studio数据库中创建多个表

Sorry to bother you all, but sometimes the help is what I have to ask for. I'm new to Android development, and currently I'm following tutorial for android database creation on youtube at channel Prog...

weixin_35587674的博客 323

android sqlite 创建数据库,表、增加数据、更新数据、删除数据

今天学习了android 中内嵌的数据库sqlite,sqlite的简单介绍: SQLite简介 Google为Andriod的较大的数据处理提供了SQLite,他在数据存储、管理、维护等各方面都相当出色,功能也非常的强大。SQLite具备下列特点:   1.轻量级 使用 SQLite 只需要带一个动态库,就可以享受它的全部功能,而且那个动态库的尺寸想当小。

sinat_29962405的博客 3万+

android 动态创建数据库表,Android数据库的创建,插入,查询等

1.一个新的数据库的创建及打开方式关于Android数据库的创建,官方文档里面推荐的是继承SQLiteOpenHelper创建子类,重写onCreate方法来创建一个新的SQLiteDatabase。在这里需要强调的几点有:1).数据库在第一次创建的时候,才调用onCreate方法,也就是说一旦某一个数据库已经被创建好了,那么就不用再调用onCreate方法了。2).在onCreate执行sql语...

weixin_42298068的博客 2003
上一篇: Eclipse常用插件推荐
下一篇: android 玩转ContentProvider之二--实现多个ContentProvider对多张表进行操作
thisiscx
博客等级 码龄26年 5粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值