zoukankan      html  css  js  c++  java
  • android数据库SQLite简单测试

         SQLite是文本型的数据库,这里是简单的数据库创建和数据库升级。上班闲得无聊,突然想起昨天有人问android数据库的创建和升级,所以简单记录一下,高手没有必要看这个博文 O(∩_∩)O~

    一、首先看一下整个工程目录

    二、创建android工程名db_test,打开AndroidManifest.xml文件,添加单元测试

         点击instrumentation->add,然后再右边Name行处,点击Browser,添加InstrumentationTestRunner;在Target package行处,点击Browser添加自己应用包名(这里是com.bruce.db_test)

         注意:在完成上述操作后,要在<application></application>节点中添加<uses-library android:name="android.test.runner"/>节点,如图:

          

    三、创建DbOpenHelper类,继承SQLiteOpenHelper类,具体代码如下:

    package com.bruce.db_test.db;
    
    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 DbOpenHelper extends SQLiteOpenHelper {
        private String TAG = "MyTest";
        private static String name = "mydb.db";
        private static int version = 2;
        public DbOpenHelper(Context context) {
            super(context, name, null, version);
            Log.i(TAG, "111->DbOpenHelper");
        }
    
        @Override
        public void onCreate(SQLiteDatabase db) {
            Log.i(TAG,"222->onCreate begin");
            String sql = "create table person(id integer primary key autoincrement,name varchar(64),address varchar(64))";
            db.execSQL(sql);
            Log.i(TAG, "333->onCreate end");
        }
    
        @Override
        public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) {
            Log.i(TAG, "444->onUpgrade begin");
            String sql = "alter table person add sex varchar(8)";
            db.execSQL(sql);
            Log.i(TAG, "555->onUpgrade end");
        }
    
    }
    View Code

    四、创建MyTest类,继承AndroidTestCase类,具体代码如下:

    package com.bruce.db_test.test;
    
    import com.bruce.db_test.db.DbOpenHelper;
    
    import android.test.AndroidTestCase;
    import android.util.Log;
    
    public class MyTest extends AndroidTestCase {
        private String TAG = "MyTest";
        public void dbCreate(){
            Log.i(TAG, "test begin");
            DbOpenHelper helper = new DbOpenHelper(getContext());
            helper.getWritableDatabase();
            Log.i(TAG, "test end");
        }
        
    }
    View Code

    五、测试
       1.首先测试数据库的创建,先把DbOpenHelper类onUpgrade方法中的四行代码注释掉,变量名version值改为1,然后安装应用到模拟器,可以测试数据库的创建;

          当JUnit中显示条为绿色时,表示单元测试成功,这时可以从File Explorer中的data->data->com.bruce.db_test->databases->mydb.db导出数据库到电脑中,用SQLite Expert Professional 工具打开mydb.db查看,如图:

        

    2.测试数据库升级,把DbOpenHelper类onUpgrade方法中注释的代码打开,把version变量的值改为2,如果代码中所示,然后同样点击MyTest中dbCreate方法进行测试,显示测试成功后,在把mydb.db文件重新导出到电脑,用 SQLite可视化工具打开,这时可以看到新添加了一列sex,如图:

        

    当然方式方法还有很多,条条大路通罗马,可以自己多动手试试。

  • 相关阅读:
    button标签和input button
    获取select标签的值
    window.loaction和window.location.herf
    数组重复计数,对象方法
    js对象详解
    面试经典题型整理
    一些js小知识点整理
    事件委托能够优化js性能
    网页加载的一般顺序
    http状态码
  • 原文地址:https://www.cnblogs.com/kingshow123/p/sqlitecreate.html
Copyright © 2011-2022 走看看