利用SQLite在android上创建数据库
利用SQLite在android上创建数据库

方法:
1、创建我们的数据库类继承SQLiteOpenHelper类
完成相关函数的重写和数据库对象的初始化
public MySQLiteOpenHelper(Context context,int version)
super(context, "fanfan2.db", null, version);
helper.getReadableDatabase();
重写onCreate和onUpgrade
2、创建数据库对象并获取数据库对象
MySQLiteOpenHelper helper=new MySQLiteOpenHelper(getContext(), 1);
helper.getReadableDatabase();
3、要创建新表的话,就在oncreate里面敲execSQL
这样就是创建一个新的学生表
public void onCreate(SQLiteDatabase db) {
Log.d("fanfan", "onCreate");
db.execSQL("CREATE TABLE student(id INTEGER,name TEXT)");
}
4、oncreate在创建新的数据库的时候才会被调用,如果你之前创建了,现在是不会被调用的。
onUpgrade是在数据库的版本更新之后才会被调用。
代码:
com.fry.MySQLiteOpenHelper
package com.fry; import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log; public class MySQLiteOpenHelper extends SQLiteOpenHelper{ /*
* 1、context 上下文
* 2、那么数据库名称
* 3、factory
* 4、version 数据库文件的版本
*/ public MySQLiteOpenHelper(Context context,int version) {
super(context, "fanfan2.db", null, version);
// TODO Auto-generated constructor stub
} /* 数据库文件创建成功后调用
* (non-Javadoc)
* @see android.database.sqlite.SQLiteOpenHelper#onCreate(android.database.sqlite.SQLiteDatabase)
*/
@Override
public void onCreate(SQLiteDatabase arg0) {
Log.d("fanfan", "onCreate");
} /* 数据库文件更新后调用
* (non-Javadoc)
* @see android.database.sqlite.SQLiteOpenHelper#onUpgrade(android.database.sqlite.SQLiteDatabase, int, int)
*/
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
Log.d("fanfan", "onUpgrade");
} }
数据库类
com.fanfan.test.Test
package com.fanfan.test; import com.fry.Activity01;
import com.fry.MySQLiteOpenHelper; import android.annotation.SuppressLint;
import android.test.AndroidTestCase;
import android.util.Log; public class Test extends AndroidTestCase{
@SuppressLint("NewApi") public void test1(){
MySQLiteOpenHelper helper=new MySQLiteOpenHelper(getContext(), 1);
helper.getReadableDatabase();
String name=helper.getDatabaseName();
Log.d("test1", name);
} }
Java Unit测试
/createDatabase2/AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.createDatabase_2"
android:versionCode="1"
android:versionName="1.0" > <uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" /> <application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" > <uses-library android:name="android.test.runner"/> <activity
android:name="com.fry.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.fry.Activity01" android:exported="true"></activity>
</application>
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.example.createDatabase_2" android:label="Test for My app"
></instrumentation> </manifest>
配置文件
利用SQLite在android上创建数据库的更多相关文章
- 利用SQLite在android上实现增删改查
利用SQLite在android上实现增删改查 方法: 一.直接利用database.execSQL()方法输入完整sql语句进行操作 这种方法适用于复杂的sql语句,比如多表查询等等 这里适合于增删 ...
- Android 数据库管理— — —创建数据库
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" ...
- SQLite使用教程4 创建数据库
http://www.runoob.com/sqlite/sqlite-create-database.html SQLite 创建数据库 SQLite 的 sqlite3 命令被用来创建新的 SQL ...
- sqlite在Android上的一个bug:SQLiteCantOpenDatabaseException when nativeExecuteForCursorWindow
更多内容在这里查看 https://ahangchen.gitbooks.io/windy-afternoon/content/ ::-/com.company.product W/System.er ...
- 【SQLite】教程05-SQLite创建数据库、附加、分离数据库
创建数据库 .quit命令 退出sqlite 提示符 .quit .dump 命令 使用 SQLite .dump 点命令来导出完整的数据库在一个文本文件中,如下所示: sqlite3 Test.db ...
- 使用SQL语句在SQL server2017上创建数据库
软件基础:在电脑上提前安装好SQL server2017,并且安装好其中的SSMS(SQL server Management Studio) 创建方式:SQL语句 操作内容:创建零件供应数据库系统 ...
- 使用交互式方式在SQL server2017上创建数据库
软件基础:在电脑上提前安装好SQL server2017,并且安装好其中的SSMS(SQL server Management Studio) 创建方式:交互式 操作内容:创建学生课程数据库系统 步骤 ...
- PC端利用Xshell连接Android上的Termux
需要准备的工具 Android端:Termux.RE管理器 PC端:Xshell 开始操作 1. 启动Termux,安装openssh pkg install openssh 2. 安装好后,启动ss ...
- Android——SQLite数据库(一)创建数据库、创建表、初始化数据
xml <Button android:layout_width="match_parent" android:layout_height="wrap_conten ...
随机推荐
- Get 和 Post
理论: Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而 ...
- 【Linux】swap分区简介及空间增加方式
swap分区简介 Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存 ...
- Electron结合React开发环境遇到的问题
链接 将create-react-app与electron集成在了一个项目中.但是在React中无法使用electron 当在React中使用require('electron')时就会报TypeEr ...
- 学习廖雪峰的Python教程之Python基础
一.缩进 编译器或者解释器就是负责把符合语法的程序代码转换成CPU能够执行的机器码,然后执行. 以#开头的语句是注释,注释是给人看的,可以是任意内容,解释器会忽略掉注释.其他每一行都是一个语句,当语句 ...
- Android读写文件
1.从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写) String res = ""; try{ InputStream in = getResour ...
- 读书笔记之:C++ Primer (第4版)及习题(ch01-ch11) [++++]
读书笔记之:C++ Primer (第4版)及习题(ch01-ch11) [++++] 第2章 数据和基本类型 1. 整型 2. 习题:左值和右值 3. C++关键字/保留字和操作符替代值 4. 声明 ...
- PAT_A1087#All Roads Lead to Rome
Source: PAT A1087 All Roads Lead to Rome (30 分) Description: Indeed there are many different tourist ...
- Layui 行点击追加元素效果
/** * 单击事件 * @param obj */var dom;var state;WarningIllegalIntime.onRowClick=function(obj) { console. ...
- js:重复输出字符串中字符
复习了 重复输出一个字符串后, 重复输出一个字符串是 比如给定 str:abc num:3 要求输出 abcabcabc 文章链接:https://www.cnblogs.com/mobu/p/98 ...
- node对称加密(转载)
https://www.cnblogs.com/laogai/p/4664917.html