我跟安卓开发基础视频做的数据库,无法对数据库进行操作,也无法做测试类
package com.example.databasedemo;
public class Constants {
    public static final String DATABASE_NAME = "sunofbeaches.db";
    public static  final int VERSION_CODE = 3;
    public static final String TABLE_NAME = "employee";
}
package com.example.databasedemo;
import android.content.Context;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.nfc.Tag;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
public class DatabaseHelper extends SQLiteOpenHelper {
    private static final String TAG = "DatabaseHelper";
    /*
    * context 上下文
    * name     数据库名称
    * factory  游标工厂
    * version  版本号*/
    public DatabaseHelper( Context context) {
        super(context, Constants.DATABASE_NAME,null,Constants.VERSION_CODE);
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        //创建时的反馈
        Log.d(TAG,"创建数据库");
        String sql = "create table "+Constants.TABLE_NAME+"(_id integer,name varchar,age integer,salary integer)";
        db.execSQL(sql);
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        //升级时的反馈
        Log.d(TAG,"升级数据库...");
        String sql;
        switch (oldVersion){
            case 1:
                //添加address和这个phone字段
                sql = "alter table "+ Constants.TABLE_NAME + " add phone integer";
                sql = "alter table "+ Constants.TABLE_NAME + " add address varchar";
                db.execSQL(sql);
                break;
            case 2:
                sql = "alter table "+ Constants.TABLE_NAME + " add address varchar";
                db.execSQL(sql);
                break;
            case 3:
                //
                break;
        }
    }
}
package com.example.databasedemo;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
public class Dao {
    private final DatabaseHelper mHelper;
    private static  final String TAG = "Dao";
    public Dao(Context context){
        //创建数据库
         mHelper = new DatabaseHelper(context);
    }
    public void insert(){
        SQLiteDatabase db = mHelper.getWritableDatabase();
       /* String sql = "insert into " + Constants.TABLE_NAME + "(_id,name,age,salary,phone,address) values(?,?,?,?,?,?)";
        db.execSQL(sql,new Object[]{1,"liuliu",60,1,110,"USA"});*/
        ContentValues values = new ContentValues();
        //添加数据
        values.put("_id",2);
        values.put("name","larrypage");
        values.put("salary",1);
        values.put("age",44);
        values.put("address","USA");
        db.insert(Constants.TABLE_NAME,null,values);
        db.close();
    }
    public void delete(){
        SQLiteDatabase db = mHelper.getWritableDatabase();
        /*String sql = "delete from " + Constants.TABLE_NAME + " where age = 60";
        db.execSQL(sql);*/
        int delete = db.delete(Constants.TABLE_NAME, null, null);
        Log.d(TAG,"delete_delete === " + delete);
        db.close();
    }
    public void update(){
        SQLiteDatabase db = mHelper.getWritableDatabase();
        /*String sql = "update " + Constants.TABLE_NAME + " set salary = 2 where age = 60";
        db.execSQL(sql);*/
        ContentValues values = new ContentValues();
        values.put("age",78);
        db.update(Constants.TABLE_NAME,values,null,null);
        db.close();
    }
    public void query(){
        SQLiteDatabase db = mHelper.getWritableDatabase();
      /*  String sql = "select * from " + Constants.TABLE_NAME;
        Cursor cursor = db.rawQuery(sql, null);
        while (cursor.moveToNext()){
            int index = cursor.getColumnIndex("name");
            String name = cursor.getString(index);
            Log.d(TAG,"name ==" + name );
        }
        cursor.close();*/
        Cursor cursor = db.query(Constants.TABLE_NAME, null, null, null, null, null, null);
        while (cursor.moveToNext()){
            int id = cursor.getInt(0);
            String name = cursor.getString(1);
            Log.d(TAG,"id == " + id + " name = " + name);
        }
        cursor.close();
        db.close();
    }
}
package com.example.databasedemo;
import android.content.Context;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(AndroidJUnit4.class)
public class TestDatabase {
    @Test
    public void testCreate(){
    }
    @Test
    public void testInsert(){
        Context getContext = InstrumentationRegistry.getInstrumentation().getContext();
        Dao dao = new Dao(getContext);
        dao.insert();
    }
    @Test
    public void testDelete(){
        Context getContext = InstrumentationRegistry.getInstrumentation().getContext();
        Dao dao = new Dao(getContext);
        dao.delete();
    }
    @Test
    public void testUpdate(){
        Context getContext = InstrumentationRegistry.getInstrumentation().getContext();
        Dao dao = new Dao(getContext);
        dao.update();
    }
    @Test
    public void testQuery(){
        Context getContext = InstrumentationRegistry.getInstrumentation().getContext();
        Dao dao = new Dao(getContext);
        dao.query();
    }
}
package com.example.databasedemo;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //创建数据库
        DatabaseHelper helper = new DatabaseHelper(this);
        helper.getWritableDatabase();
    }
}


log不给全