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定时器和Handler用法实例分析
本文实例讲述了Android定时器和Handler用法.分享给大家供大家参考.具体分析如下: 一.环境: 主机:WIN8 开发环境:Android Studio 二.定时器使用示例: 初始化: //定时器 private Timer Timer_Work = new Timer(); //工作间隔,单位:ms private final int INTERVAL_WORK = 5000; 创建定时器线程: /** * 构造函数 */ public Config() { //生成配置信息 gene
-
Android提高之Service用法实例解析
前面文章介绍了Activity以及Intent的使用,本文就来介绍Service.如果把Activity比喻为前台程序,那么Service就是后台程序,Service的整个生命周期都只会在后台执行.Service跟Activity一样也由Intent调用.在工程里想要添加一个Service,先新建继承Service的类,然后到AndroidManifest.xml -> Application ->Application Nodes中的Service标签中添加. Service要由Activi
-
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开发之BroadcastReceiver用法实例分析
本文实例讲述了Android开发中BroadcastReceiver用法.分享给大家供大家参考.具体分析如下: 在Android系统中,广播(Broadcast)是在组件之间传播数据(Intent)的一种机制. Braodcast Receiver顾名思义就是广播接收器,它和事件处理机制类似,但是事件处理机制是程序组件级别的(比如:按钮的单击事件),而广播事件处理机制是系统级别的.我们可以用Intent来启动一个组件,也可以用sendBroadcast()方法发起一个系统级别的事件广播来传递消息
-
Android提高之SurfaceView的基本用法实例分析
前文介绍了Android中MediaPlayer用法的时候稍微介绍了SurfaceView,SurfaceView由于可以直接从内存或者DMA等硬件接口取得图像数据,因此是个非常重要的绘图容器,这次我就来较为详细的介绍SurfaceView的用法.网上介绍SurfaceView的用法有很多,写法也层出不同,例如继承SurfaceView类,或者继承SurfaceHolder.Callback类等,这个可以根据功能实际需要自己选择,本文所述方法就直接在普通的用户界面调用SurfaceHolder的
-
Android提高之Activity+Intent用法示例
一般来说.熟悉Android程序设计的人都知道Android有三个基础组件Activity,Service和BroadcastReceiver,他们都是依赖Intent来启动.本文所要介绍的是Activity的生命周期以及针对Activity的Intent使用. 之前的例子一直都是使用Activity,在一个Layout XML与一个Activity捆绑的情况下可以视为一个Form,多个Layout XML与一个Activity捆绑的话那就是个Application本身了.Intent可以分为显
-
Android中ExpandableListView的用法实例
本文实例讲述了Android中ExpandableListView的用法,ExpandableListView是android中可以实现下拉list的一个控件,具体的实现方法如下: 首先:在layout的xml文件中定义一个ExpandableListView 复制代码 代码如下: <LinearLayout android:id="@+id/linearLayout" android:layout_width="fill_parent"
-
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
随机推荐
- 图解Eclipse在线安装ADT插件过程
- Java instanceof用法详解及实例代码
- Oracle ORA-22908(NULL表值的参考)异常分析与解决方法
- 使用python实现递归版汉诺塔示例(汉诺塔递归算法)
- 对于input 框限定输入值为浮点型的js代码
- Ajax PHP简单入门教程代码
- PHP处理Ajax请求与Ajax跨域问题
- Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
- 安装ElasticSearch搜索工具并配置Python驱动的方法
- 基于Python实现对PDF文件的OCR识别
- 利用Python的Flask框架来构建一个简单的数字商品支付解决方案
- php发送邮件的问题详解
- javascript hashtable 修正版 下载
- javascript下有关dom以及xml节点访问兼容问题
- SQL Server 监控磁盘IO错误,msdb.dbo.suspect_pages
- jQuery仿Flash上下翻动的中英文导航菜单实例
- webpack开发跨域问题解决办法
- js实现根据身份证号自动生成出生日期
- Linux NFS服务器安装与配置思路分析
- JS无法捕获滚动条上的mouse up事件的原因猜想