利用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. 努比亚(nubia) M2青春版 NX573J 解锁BootLoader 并进入临时recovery ROOT

    努比亚(nubia) M2青春版 NX573J 解锁BootLoader 并进入临时recovery ROOT 工具下载链接:https://pan.baidu.com/s/1NfRTdXtdAZRi ...

  2. 查看SqlServer连接所使用的端口号

    最近一个项目里用到了一个插件,在配置时发现连接数据库使用的是JDBC,输入URL时用到了端口号.印象中在使用Sqlserver时貌似没有提到端口号,在网上查阅了一下,记录下来省的忘了 方法是通过内置的 ...

  3. asp.net 正则表达式 得到图片url 得到汉字

    //取图片            MatchCollection   matchs   =   Regex.Matches(AskText,@"<img\s[^> ]*src=( ...

  4. SLAM: Structure From Motion-移动中三维场景重建

    wiki链接:https://en.wikipedia.org/wiki/Structure_from_motion 三维重建: 三维物体建模总结 1. 视野内三维物体重建 : Kinect fusi ...

  5. IT狂人职场路:揭秘华为百度高管如何炼成?

    原文链接:http://www.hdeso.com/waibao/detail.asp?id=45660 原文链接:http://tech.hexun.com/2014-02-18/162264716 ...

  6. .NET 在序列化时使用全小写的属性名

    基于某些奇怪的需求,需要将一些对象序列化后输出,而且属性名又必须为小写形式. 解决过程 说到在 .NET 平台上序列化操作,那么第一个想到的应该就是 Json.NET 家的 Newtonsoft.Js ...

  7. HTML input 控件

    <input type="file" id="file1" onChange="test()"> function test() ...

  8. ASP.NET 页面验证cookie

    using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary ...

  9. crypto-js RC4和hash_hmac运用

    遇到一个问题,前端需要加密,可能用到一些算法,推荐这个库:crypto-js, RC4是一个可逆的加密,看下用法: import CryptoJS from 'crypto-js'; const RC ...

  10. webpack command not found 的意外的坑 - 原因是从node开始

    写给自己做个记录: 弄了半天 执行了下面操作 npm install webpack -g 因为小白不懂原理,所以执行了好遍,结果还是如题, webpack command not found 网上搜 ...