[android] android下创建一个sqlite数据库详解手机开发
Sqlite数据库是开源的c语言写的数据库,android和iphone都使用的这个,首先需要创建数据库,然后创建表和字段,android提供了一个api叫SQLiteOpenHelper数据库的打开和创建类。
具体使用比如:创建一个class叫PersonSQLiteOpenHelper用户数据库类,继承SQLiteOpenHelper,父类是个抽象类要实现onCreate()和onUpgrate()方法,此时会报错要求创建构造方法,构造方法的参数:Context上下文作用是告诉程序数据库创建在哪个目录下,String name数据库文件的名字,factory游标工厂一般我们都写null系统默认的,version数据库的版本从1开始,构造方法完成数据库就可以被创建。
OnCreate(SQLiteDatabase db)方法是数据库第一次被创建时回掉,用来创建表以及初始化参数,参数就是我们创建的数据库。调用SQLiteDatabase对象的execSQL()方法执行sql语句,首先要创建表和mysql的基本一样,执行这条sql语句,create table person (id integer primary key autoincrement,name varchar(20) not null default “” ) varchar的数字实际没有意义,给程序员看的,超过了也无所谓。
当new出来helper对象的时候,数据库并不会被创建,只有当helper对象调用了getWritableDatabase()方法或者getReadableDatabase()时候才会被创建。使用测试用例来测试一下,但是helper类需要上下文对象,测试框架提供了一个方法叫getContext()来得到上下文对象,数据库文件的地址/data/data/包名/database/下面,是私有的权限
helper代码:
package com.tsh.database; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class PersonSQLiteOpenHelper extends SQLiteOpenHelper { /** * 构造方法 * @param context public PersonSQLiteOpenHelper(Context context) { super(context, "person.db", null, 1); /** * 数据库第一次创建完成的回调 @Override public void onCreate(SQLiteDatabase db) { String sql="create table person (id integer primary key autoincrement,name varchar(10) not null default )"; db.execSQL(sql); @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub }
测试用例:
package com.tsh.database.test; import com.tsh.database.PersonSQLiteOpenHelper; import android.test.AndroidTestCase; public class TestPersonDb extends AndroidTestCase { public void testPerson() throws Exception{ PersonSQLiteOpenHelper helper =new PersonSQLiteOpenHelper(getContext()); helper.getWritableDatabase(); }
5497.html
app程序应用开发手机开发无线开发移动端开发相关文章
- 聚焦 Android 11: 大功告成
- strictmode android,(十三)Android 性能优化 StrictMode
- delphixe5 android,Delphi XE5 Android手机端转换Ansi字符串
- Android–SQLite数据库实现增删改查
- 面向初学者的 Android 应用开发基础知识
- Android Studio 简单生成so文件并调用「建议收藏」
- android进程间通信的方式_Android进程注入
- 【Android 应用开发】Android 数据存储 之 SQLite数据库详解
- 【Android 组件化】路由组件 ( 注解处理器中使用 JavaPoet 生成代码 )
- 【错误记录】AS 编译报错 ( Android Support plugin 版本太高 | 升级 Android Studio 到最新版本 )
- 【Android 逆向】使用 DB Browser 查看并修改 SQLite 数据库 ( 从 Android 应用数据目录中拷贝数据库文件 | 使用 DB Browser 工具查看数据块文件 )
- 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 调试进程 ATTACH 附着目标进程 | 读取目标函数寄存器值并存档 )
- 【错误记录】未安装该应用 ( 在 Android 12 之后 组件设置 android:exported=“false“ 属性 )
- 【ijkplayer】编译 Android 版本的 ijkplayer ② ( 切换到 k0.8.8 分支 | 执行 init-android.sh 脚本进行初始化操作 )
- Android SDK 配置 monkeyrunner 遇到问题的解决办法
- Android中SQLite数据操作详解手机开发
- [android] 看博客学习Android常见的几种RuntimeException详解手机开发
- Android中的ProgressBar的android:indeterminate详解手机开发
- android操作SQLite增删改减实现代码
- Android系统自带样式(android:theme)
- 基于Android错误信息捕获发送至服务器的详解
- android中多线程下载实例
- android使用urlconnection示例(get和post数据获取返回数据)
- android开发教程之listview显示sqlite数据
- Android中的SQL查询语句LIKE绑定参数问题解决办法(sqlite数据库)