利用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上创建数据库的更多相关文章

  1. 利用SQLite在android上实现增删改查

    利用SQLite在android上实现增删改查 方法: 一.直接利用database.execSQL()方法输入完整sql语句进行操作 这种方法适用于复杂的sql语句,比如多表查询等等 这里适合于增删 ...

  2. Android 数据库管理— — —创建数据库

    <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" ...

  3. SQLite使用教程4 创建数据库

    http://www.runoob.com/sqlite/sqlite-create-database.html SQLite 创建数据库 SQLite 的 sqlite3 命令被用来创建新的 SQL ...

  4. sqlite在Android上的一个bug:SQLiteCantOpenDatabaseException when nativeExecuteForCursorWindow

    更多内容在这里查看 https://ahangchen.gitbooks.io/windy-afternoon/content/ ::-/com.company.product W/System.er ...

  5. 【SQLite】教程05-SQLite创建数据库、附加、分离数据库

    创建数据库 .quit命令 退出sqlite 提示符 .quit .dump 命令 使用 SQLite .dump 点命令来导出完整的数据库在一个文本文件中,如下所示: sqlite3 Test.db ...

  6. 使用SQL语句在SQL server2017上创建数据库

    软件基础:在电脑上提前安装好SQL server2017,并且安装好其中的SSMS(SQL server Management Studio) 创建方式:SQL语句 操作内容:创建零件供应数据库系统 ...

  7. 使用交互式方式在SQL server2017上创建数据库

    软件基础:在电脑上提前安装好SQL server2017,并且安装好其中的SSMS(SQL server Management Studio) 创建方式:交互式 操作内容:创建学生课程数据库系统 步骤 ...

  8. PC端利用Xshell连接Android上的Termux

    需要准备的工具 Android端:Termux.RE管理器 PC端:Xshell 开始操作 1. 启动Termux,安装openssh pkg install openssh 2. 安装好后,启动ss ...

  9. Android——SQLite数据库(一)创建数据库、创建表、初始化数据

    xml <Button android:layout_width="match_parent" android:layout_height="wrap_conten ...

随机推荐

  1. Oracle 生成数据字典

    SELECT ROWNUM 序号,A.COLUMN_NAME AS "字段名称",B.comments AS "字段描述", A.DATA_TYPE as 字段 ...

  2. Android使用charles抓包

    1.下载并安状软件,官网在此: 2.前题条件,电脑和手机必须在同一网段 3.在Charles界面选择菜单 proxy->proxy settings 勾选"Enable transpa ...

  3. Java数据的基本类型

    整数类型: byte:8位(1个字节) eg:byte x=2,y: 错误实例:byte b:b=b+3:   其中b=b+3是错误的,应该是b=(byte)(b+3)强制转换: short:16位( ...

  4. 解决:惠普HP LaserJet Pro M126a MFP 驱动 安装失败,及其它同类打印机失败问题

    注意:如果在 Windows XP 系统下安装出错,请先安装WindowsXP KB971276-v3补丁后再安装装驱动. 下载地址:http://www.dyjqd.com/soft/KB97127 ...

  5. QS之force(3)

    Example in project - First force signals in certain time and then noforce signals after some time. # ...

  6. 安卓使用JNI-NDK

    详细配置,参考链接:http://www.jb51.net/softjc/115204.html 一  .为什么使用NDK 1.代码的保护.由于apk的java层代码很容易被反编译,而C/C++库反汇 ...

  7. HDU_5690_快速幂,同余的性质

    All X Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Others) Problem D ...

  8. vue货币格式化组件、局部过滤功能以及全局过滤功能

    一.在这里介绍一个vue的时间格式化插件: moment 使用方法: .npm install moment --save. 2 定义时间格式化全局过滤器 在main.js中 导入组件 import ...

  9. 08 Django组件-Forms组件

    Django的Forms组件主要有以下几大功能: 页面初始化,生成HTML标签 校验用户数据(显示错误信息) HTML Form提交保留上次提交数据 一.小试牛刀 1.定义Form类 from dja ...

  10. Unity与Android通信的中间件

    2.1.1 Fragment和Activity都需要实现的接口——IBaseView/** * Description:Basic interface of all {@link Activity} ...