1.引入依赖
//数据库
def room_version = "2.2.6"
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
// optional - RxJava support for Room
implementation "androidx.room:room-rxjava2:$room_version"
// optional - Guava support for Room, including Optional and ListenableFuture
implementation "androidx.room:room-guava:$room_version"
// optional - Test helpers
testImplementation "androidx.room:room-testing:$room_version"
2.编写实体类
import androidx.annotation.NonNull;
import androidx.room.Entity;
import androidx.room.PrimaryKey;
@Entity
public class Img {
@PrimaryKey(autoGenerate = true)
@NonNull
private int id;
private String path;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
}
3编写表操作的Dao接口
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.Update;
import com.example.demo2.pojo.Img;
import java.util.List;
@Dao
public interface ImgDao {
@Insert
void addImg(Img img);
@Update
void updateImg(Img img);
@Delete
void deleteImg(Img img);
@Query("select * from Img")
List queryImg();
}
4.定义操作数据库操作接口
import androidx.room.Database;
import androidx.room.RoomDatabase;
import androidx.room.TypeConverters;
import com.example.demo2.dao.AipInsurancePolicyDao;
import com.example.demo2.dao.ImgDao;
import com.example.demo2.pojo.AipInsurancePolicy;
import com.example.demo2.pojo.Img;
@Database(entities = {AipInsurancePolicy.class, Img.class}, version = 2, exportSchema = false)
@TypeConverters({Converters.class})
public abstract class baseDatabase extends RoomDatabase {
public abstract AipInsurancePolicyDao AipInsurancePolicyDao();
public abstract ImgDao ImgDao();
}
5.调用
baseDatabase = Room.databaseBuilder(this, baseDatabase.class, "word")
//数据库操作比较耗时主要目的是熟悉数据库Room这句话代替了切换线程问题
.allowMainThreadQueries()
.build();
aipInsurancePolicyDao = baseDatabase.AipInsurancePolicyDao();
imgDao = baseDatabase.ImgDao();
@JavascriptInterface
public String addImg(String path) {
Img img = new Img();
img.setPath(path);
Log.d("img",path);
imgDao.addImg(img);
return "添加成功";
}
Vue
立即创建 本地存储 上传
实现效果



