1.自定义Application extends Application
package com.example.chapter06;
import android.app.Application;
import android.content.res.Configuration;
import androidx.annotation.NonNull;
import androidx.room.Room;
import com.example.chapter06.dao.BookDao;
import com.example.chapter06.database.BookDatabase;
import java.util.HashMap;
public class MyApplication extends Application {
private static MyApplication mApp;
public static HashMap<String,String> infoMap=new HashMap<>();
//声明数据库对象
private static BookDatabase bookDatabase;
public static MyApplication getInstance()
{
return mApp;
}
@Override
public void onCreate() {
super.onCreate();
mApp=this;
bookDatabase= Room.databaseBuilder(this,BookDatabase.class,"book")
.addMigrations()
//允许在主线程中操作数据库(Room默认不能在主线程中操作数据库
.allowMainThreadQueries()
.build();
}
@Override
public void onTerminate()
{
super.onTerminate();
}
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
//获取数据库实例
public BookDatabase getBookDatabase()
{
return bookDatabase;
}
}
2.AndroidManifest配置