Android oncreate onupgrade什么时候被调用
在学习Android数据库SQLite之前,必须意识到这一点,目前在Android系统中集成的是SQLite3 版本,SQLite是一个开源的嵌入式数据库,他支持NULL、INTEGER、REAL、TEXT和BLOB数据类型,不支持静态数据类型,而是使用列 关系。可以把SQLite数据库近似看成是一种无数据类型的数据库,你可以把任何类型的资料存放在飞Integer类型的主键之外的其他字段上去,另外字 段的长度也是没有限度的。不过建议一定要在编写SQL语句的时候,按照标准的SQL语法,因为这样在别人看你的代码时候,便于更好的理解。
SQLite可以解析大部分的标准SQL语句:
建表语句:create table 表名(主键名 integer primary key
autoincrement,其他列名及属性) 查询语句:select * from 表名 where 条件子句 group by 分组子句
having…order by 排序子句。 分页语句:select * from 表名 limit 记录数 offset 开始位置 或者
select * from 表名 limit 开始位置,记录数 插入语句:insert into 表名(字段列表) values (值列表)
更新语句:update 表名 set 字段名=值 where 条件子句 删除语句:delete from 表名 where 条件子句
删表语句:drop table if exists 表名
而为了方便对数据库进行版本管理,建议在开发项目的时候使用SQLiteOpenHelper类,它提供了两个重要的方法,分别是
onCreate(SQLiteDatabase db)和onUpgrade(SQLiteDatabase db,int
oldVersion,int
vewVersion),前者用于初次使用软件时生成数据库,后者用于升级软件时更新数据库表结构。提示一下,在软件升级前,最好对原有数据进行备份,在
新表建好后把数据导入新表中。实现了这两个方法,就可以用他的getWritableDatabase()和getReadableDatabase()
来获得数据库。这里提醒一句,在使用SQLite的进行查询时最好用占位符“?”来代替各值,例如:
java代码:
- SQLiteDatabase db=databaseHelper.getWritableDatabase();
- db.execSQL(“update person set name=?,age=? where personid=?”,new Obect{person.getName(),person.getAge(),person.getId()});
复制代码
execSQL()方法是用来执行除查找语句外的sql语句,查找语句用rawQuery()来执行它会放回一个Cursor。当然,他还提供了封装好的Java类方法供我们操作。具体方法不介绍了,可以直接查看文档中SQLiteDatabase类的用法。
那要查看数据库中的内容怎么办呢?一种方法是把数据库文件导出到电脑中,然后用SQLite
Developer这个软件即可打开查看其中的结构和内容。另一种是直接用命令行查看(推荐),可以通过adb
shell进入模拟器的Linux控制台,找到数据库文件,用#sqlite3 数据库名 的方式进入数据库,如此即可查看数据库中的内容。
Android oncreate onupgrade什么时候被调用的更多相关文章
- Android——onCreate( )方法详解(转)
android开发之onCreate( )方法详解 onCreate( )方法是android应用程序中最常见的方法之一,那么,我们在使用onCreate()方法的时候应该注意哪些问题呢? 先看看Go ...
- 有关ViewPager的使用及解决Android下ViewPager和PagerAdapter中调用notifyDataSetChanged失效的问题
ViewPager是android-support-v4.jar包中的一个系统控件,继承自ViewGroup,专门用以实现左右滑动切换View的效果,使用时需要首先在Project->prope ...
- 解析android framework下利用app_process来调用java写的命令及示例
解析android framework下利用app_process来调用java写的命令及示例 在android SDK的framework/base/cmds目录下了,有不少目录,这些目的最终都是b ...
- Android学习---如何创建数据库,SQLite(onCreate,onUpgrade方法)和SQLiteStudio的使用
一.android中使用什么数据库? SQLite是遵守ACID的关系数据库管理系统,它包含在一个相对小的C程式庫中.它是D.RichardHipp建立的公有领域项目.SQLite 是一个软件库,实现 ...
- Android数据库升级、降级、创建(onCreate() onUpgrade() onDowngrade())[4]
数据库版本升级对软件的管理操作. 我们手机经常会收到xxx软件升级什么的提醒,你的软件版本更新,同时你的数据库对应的版本也要相应的更新. 数据库版本更新需要主要的问题: 软件的1.0版本升级到1.1版 ...
- Android数据库升级、降级、创建(onCreate() onUpgrade() onDowngrade())的注意点
以下内容可以作为面试官在面试的时候的问题,感觉比较好,是比较常用的知识点,可以用来考察基础是否扎实. 也可以程序猿学习.开发中的注意点.因为稍微不注意,就有可能导致数据库不能用. DBAdapter. ...
- Android横竖屏切换不重新调用onCreate()
再次感叹Android的碎片化!!!! 设置AndroidManifest.xml中Activity的android:configChanges=”keyboardHidden|orientation ...
- Android入门篇2-activity调用跟数据传递
一.activity调用 假设ActivityTest调用SecondActivity 1.显示调用 button1.setOnClickListener(new View.OnClickListen ...
- onConfigurationChanged与OnCreate,究竟谁被调用的问题
在以前的版本中只要在AndroidManifest.xml文件中对activity指定android:configChanges="keyboardHidden|orientation&qu ...
随机推荐
- System.Net.Http.Formatting的nuget版本冲突问题
已经添加了nuget Microsoft.AspNet.WebApi.Client 调用System.Net.Http.HttpClient.PostAsJsonAsync的时候报如下的错误: C ...
- OAuth 2.0 RFC 框架 中文
Internet Engineering Task Force (IETF) D. Hardt, Ed.Request for Comments: 6749 MicrosoftObsoletes: 5 ...
- [Node.js]32. Level 7: Working with Lists -- Redis
As we saw in the video, redis can do more than just simple key-value pairs. We are going to be using ...
- 让你看不懂的swift语法
一.Swift杂谈 Swift语法出来时间不长,网络上的各种教程已经铺天盖地,可是基本上全部的教程都是来自官方翻译. 从Swift出来到如今.每天都在学习Swift.以下给出个人感受 Swift中的非 ...
- 策略模式(Strategy)简介
一.策略模式(Strategy)简介 策略模式是行为模式. 行为模式:规定了各个对象应该具备的职责以及对象间的通信模式,它很好的规范了对象间调用和数据传递方式 策略模式适合于算法经常变化的情况 算法的 ...
- 【CMS】DedeCMS Error: (PHP 5.3 and above) Please set 'request_order' ini value to include C,G and P (recommended: 'CGP') in php.ini
DedeCMS Error: (PHP 5.3 and above) Please set 'request_order' ini value to include C,G and P (recomm ...
- vue单文件(sfc)编译为js的流程
1.流程 2.参考文章地址 https://segmentfault.com/a/1190000012336392 3.Vue框架的parseComponent https://github.com/ ...
- Maven的settings.xml文件结构之mirrors
Maven的远程库提供大量构件,供Maven项目直接下载使用.对于一个Maven项目,如果没有特别声明,默认使用Maven的central库,url如下: http://repo.maven.apac ...
- javaweb项目打成war包
进入项目文件 jar -cvf newsisAP.war *
- Linux不用使用软件把纯文本文档转换成PDF文件的方法
当你有一大堆文本文件要维护的时候,把它们转换成PDF文档会好一些.比如,PDF更适合打印,因为PDF文档有预定义布局.除此之外,还可以减少文档被意外修改的风险. 要将文本文件转换成PDF格式,你要按照 ...