Android开发之Sqliteopenhelper用法实例分析
本文实例讲述了Android开发之Sqliteopenhelper用法。分享给大家供大家参考。具体分析如下:
如果在安卓开发中,直接使用Activity中的openOrCreateDatabase(name, mode, factory)会有一系列跟随的问题。比如说数据库升级、更新等。
最好是使用其封装版本:SQLiteOpenHelper
继承和扩展SQLiteOpenHelper类主要做的工作就是重写以下两个 方法。
onCreate(SQLiteDatabase db) : 当数据库被首次创建时执行该方法,一般将创建表等初始化操作在该方法中执行。
onUpgrade(SQLiteDatabse dv, int oldVersion,int new Version):当打开数据库时传入的版本号与当前的版本号不同时会调用该方法。
除了上述两个必须要实现的方法外,还可以选择性地实现onOpen 方法,该方法会在每次打开数据库时被调用。
自己在业务中重写这些函数,然后通过helper的getWritableDatabase和getReadableDatabase来得到想要操作的数据库。再进行操作就可以了。
另外,判断一个表在sqlite中是否存在,可以使用如下方法:
String sql = "SELECT count(*) FROM sqlite_master WHERE type='table' AND name='items'"; Cursor cur = db.rawQuery(sql, null); int count = -1; while (cur.moveToNext()) { count = cur.getInt(0); } if (count <= 0) { // 表不存在 } else { }
希望本文所述对大家的Android程序设计有所帮助。
相关推荐
-
Android提高之Activity+Intent用法示例
一般来说.熟悉Android程序设计的人都知道Android有三个基础组件Activity,Service和BroadcastReceiver,他们都是依赖Intent来启动.本文所要介绍的是Activity的生命周期以及针对Activity的Intent使用. 之前的例子一直都是使用Activity,在一个Layout XML与一个Activity捆绑的情况下可以视为一个Form,多个Layout XML与一个Activity捆绑的话那就是个Application本身了.Intent可以分为显
-
Android开发之Service用法实例
本文实例讲述了Android开发之Service用法.分享给大家供大家参考.具体分析如下: Service是一个生命周期较长而且没有界面的程序. 下面通过一个播放mp3的例子来学习. 先看MainActivity.java package com.example.servicetest; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view
-
Android提高之SurfaceView的基本用法实例分析
前文介绍了Android中MediaPlayer用法的时候稍微介绍了SurfaceView,SurfaceView由于可以直接从内存或者DMA等硬件接口取得图像数据,因此是个非常重要的绘图容器,这次我就来较为详细的介绍SurfaceView的用法.网上介绍SurfaceView的用法有很多,写法也层出不同,例如继承SurfaceView类,或者继承SurfaceHolder.Callback类等,这个可以根据功能实际需要自己选择,本文所述方法就直接在普通的用户界面调用SurfaceHolder的
-
Android提高之Service用法实例解析
前面文章介绍了Activity以及Intent的使用,本文就来介绍Service.如果把Activity比喻为前台程序,那么Service就是后台程序,Service的整个生命周期都只会在后台执行.Service跟Activity一样也由Intent调用.在工程里想要添加一个Service,先新建继承Service的类,然后到AndroidManifest.xml -> Application ->Application Nodes中的Service标签中添加. Service要由Activi
-
Android中ExpandableListView的用法实例
本文实例讲述了Android中ExpandableListView的用法,ExpandableListView是android中可以实现下拉list的一个控件,具体的实现方法如下: 首先:在layout的xml文件中定义一个ExpandableListView 复制代码 代码如下: <LinearLayout android:id="@+id/linearLayout" android:layout_width="fill_parent"
-
Android开发之BroadcastReceiver用法实例分析
本文实例讲述了Android开发中BroadcastReceiver用法.分享给大家供大家参考.具体分析如下: 在Android系统中,广播(Broadcast)是在组件之间传播数据(Intent)的一种机制. Braodcast Receiver顾名思义就是广播接收器,它和事件处理机制类似,但是事件处理机制是程序组件级别的(比如:按钮的单击事件),而广播事件处理机制是系统级别的.我们可以用Intent来启动一个组件,也可以用sendBroadcast()方法发起一个系统级别的事件广播来传递消息
-
Android定时器和Handler用法实例分析
本文实例讲述了Android定时器和Handler用法.分享给大家供大家参考.具体分析如下: 一.环境: 主机:WIN8 开发环境:Android Studio 二.定时器使用示例: 初始化: //定时器 private Timer Timer_Work = new Timer(); //工作间隔,单位:ms private final int INTERVAL_WORK = 5000; 创建定时器线程: /** * 构造函数 */ public Config() { //生成配置信息 gene
-
Android中ContextMenu用法实例
本文实例讲述了Android中ContextMenu用法.分享给大家供大家参考.具体如下: main.xml文件如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android" Android:orientation="vertical" And
-
Android开发之Sqliteopenhelper用法实例分析
本文实例讲述了Android开发之Sqliteopenhelper用法.分享给大家供大家参考.具体分析如下: 如果在安卓开发中,直接使用Activity中的openOrCreateDatabase(name, mode, factory)会有一系列跟随的问题.比如说数据库升级.更新等. 最好是使用其封装版本:SQLiteOpenHelper 继承和扩展SQLiteOpenHelper类主要做的工作就是重写以下两个 方法. onCreate(SQLiteDatabase db) : 当数据库被首次
-
Android开发之Location用法实例分析
本文实例讲述了Android开发中Location用法.分享给大家供大家参考,具体如下: Location 在Android 开发中还是经常用到的,如通过经纬度获取天气,根据Location 获取所在地区详细Address (比如Google Map 开发)等.而在Android 中通过LocationManager来获取Location .通常获取Location 有GPS 获取,WIFI 获取. 这边介绍一个简单的小Demo ,来教大家如何获取Location ,从而获取经纬度. 第一步:创
-
Android开发之ViewSwitcher用法实例
本文实例讲述了Android开发之ViewSwitcher用法.分享给大家供大家参考,具体如下: android.widget.ViewSwitcher是ViewAnimator的子类,用于在两个View之间切换,但每次只能显示一个View. ViewSwitcher的addView函数的代码如下: /** * {@inheritDoc} * * @throws IllegalStateException if this switcher already contains two childre
-
Android开发之TabActivity用法实例详解
本文实例讲述了Android开发之TabActivity用法.分享给大家供大家参考,具体如下: 一.简介 TabActivity继承自Activity,目的是让同一界面容纳更多的内容.TabActivity实现标签页的功能,通过导航栏对各个页面进行管理. 二.XML布局文件 注意: 1.TabActivity的布局文件要求以TabHost作为XML布局文件的根. 2.通常我们采用线性布局,所以<TabHost> 的子元素是 <LinearLayout>. 3.<TabWidg
-
Android开发之DialogFragment用法实例总结
本文实例讲述了Android开发之DialogFragment用法.分享给大家供大家参考,具体如下: 背景 Android 官方推荐使用 DialogFragment 来代替 Dialog ,可以让它具有更高的可复用性(降低耦合)和更好的便利性(很好的处理屏幕翻转的情况). 而创建 DialogFragment 有两种方式: 1. 覆写其 onCreateDialog 方法 - ① 2. 覆写其 onCreateView 方法 - ② 虽然这两种方式都能实现相同的效果,但是它们各有自己适合的应用
-
Android开发之Parcel机制实例分析
本文实例讲述了Android开发之Parcel机制.分享给大家供大家参考.具体分析如下: 在java中,有序列化机制.但是在安卓设备上,由于内存有限,所以设计了新的序列化机制. Container for a message (data and object references) that can be sent through an IBinder. A Parcel can contain both flattened data that will be unflattened on t
-
Android编程开发之RadioGroup用法实例
本文实例讲述了Android编程开发之RadioGroup用法.分享给大家供大家参考,具体如下: RadioGroup 有时候比较有用.主要特征是给用户提供多选一机制. MainActivity.java package com.example.lesson16_radio; import android.app.Activity; import android.os.Bundle; import android.widget.RadioButton; import android.widget
-
python开发之list操作实例分析
本文实例分析了python开发之list操作.分享给大家供大家参考,具体如下: 对python中list的操作,大家可以参考<Python list操作用法总结> 以下是我个人的笔记: #python list ''' 创建list有很多方法: 1.使用一对方括号创建一个空的list:[] 2.使用一对方括号,用','隔开里面的元素:[a, b, c], [a] 3.Using a list comprehension:[x for x in iterable] 4.Using the typ
随机推荐
- Vue的百度地图插件尝试使用
- 批处理(bat)实现全盘搜索指定文件获取其完整路径方法大全
- java web中图片验证码功能的简单实现方法
- ASP开发中数据库文件调用的捷径
- Android批量插入数据到SQLite数据库的方法
- PHP 第二节 数据类型之数值型
- js 处理数组重复元素示例代码
- 让PHP显示Facebook的粉丝数量方法
- JQuery.ajax传递中文参数的解决方法 推荐
- javascript实现可改变滚动方向的无缝滚动实例
- 在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
- 远程镜像与备份SVN服务器的方法小结第1/2页
- 利用Session欺骗构造最隐蔽的WebShell
- C++中实现矩阵的加法和乘法实例
- 关于Django显示时间你应该知道的一些问题
- js实现页面多个日期时间倒计时效果
- Nginx代理axios请求以及注意事项详解
- layui 上传插件 带预览 非自动上传功能的实例(非常实用)
- layui 地区三级联动 form select 渲染的实例
- JS实现简单tab选项卡切换