android中sqlite能否动态创建数据表

android中sqlite能否动态创建数据表?... android中sqlite能否动态创建数据表? 展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏15(财富值+成长值)
sunny天壤之别
2018-12-05
知道答主
回答量:1
采纳率:0%
帮助的人:834
展开全部

答案是肯定的,我是个小白刚刚接触android studio,在这个问题上卡了一段时间

背景:比如当前我有一个 user.db 里面有一个表,想再添加一个或者更多个。

  1. 首先我们要明白 继承SQLiteOpenHelper 里面必须重写的两个方法onCreate,onUpgrade。onCreate 只有在第一次安装app启动的时候才会调用,之后只要不卸载软件都不会执行(这里是个坑),至于onUpgrade,个人暂时没有使用过,这里先不回答。

  2. 明白第一条之后接下来就容易多了,在上面自己封装的类重新写一个方法,基于user.db再建立表,比如我写了一个,以后这个方法就可以随叫随到啦!

    public void dynamicCreateTable(){

    SQLiteDatabase db = getWritableDatabase();
    String createTab_sql = "建立表格语句..."; //这里想要丰富灵活一些可以从上面传参数实现动态创建

    db.execSQL(createTab_sql );

    }

  3. 可以插入数据进行验证(我之前就字段写错了导致浪费了好多时间...)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
逍遥才子121
2015-02-21 · TA获得超过514个赞
知道小有建树答主
回答量:563
采纳率:58%
帮助的人:169万
展开全部
什么是动态创建数据表。。。不懂
表建了就是建了,删了就是删了,建完了表就删那还建它干啥,你是想实现什么功能啊
追问
就是我想根据需要在一个数据库中建立不同的表。 比方说我今天建立了一个名称为20150221的表,明天想建立一个名称为20150222的表等等, 但是我不想再去打开程序的源代码在那建表 而是通过一个edittext输入表的名称,点击一个建表的按钮就能立刻在此数据库添加一个表 就是这个样子 呵呵 不知道您懂我的意思了么?
追答
懂了,就是你想表的名字是变化的啊,表的名称就是edittext.getText();吧,在数据库建立的时候

执行建表命令的时候把固定的表明改为edittext.getText();吧,但是在前面你要用findviewbyid的方法获取edittext对象,判断一下edittext.getText();是否为空,为空就用固定的名字,不为空就用edittext.getText();的名字,还有一些细节你自己掌握
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式