Room 数据库
Video
package com.example.week_12_14.room;
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.PrimaryKey;
@Entity(tableName = "videoTab")
public class Video {
@PrimaryKey(autoGenerate = true)
public int id;
@ColumnInfo
public String caption;
@ColumnInfo
public String videomainimg;
@ColumnInfo
public String videopath;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCaption() {
return caption;
}
public void setCaption(String caption) {
this.caption = caption;
}
public String getVideomainimg() {
return videomainimg;
}
public void setVideomainimg(String videomainimg) {
this.videomainimg = videomainimg;
}
public String getVideopath() {
return videopath;
}
public void setVideopath(String videopath) {
this.videopath = videopath;
}
@Override
public String toString() {
return "Video{" +
"id=" + id +
", caption='" + caption + '\'' +
", videomainimg='" + videomainimg + '\'' +
", videopath='" + videopath + '\'' +
'}';
}
}
DBUtils
package com.example.week_12_14.room;
import androidx.room.Room;
import androidx.room.RoomDatabase;
import com.example.week_12_14.App;
public class DBUtils {
public static AppDataBase appDataBase;
public static AppDataBase getAppDataBase() {
if(appDataBase == null) {
appDataBase = Room.databaseBuilder(App.mContext,AppDataBase.class,"DouYin").build();
}
return appDataBase;
}
}
VideoDao
package com.example.week_12_14.room;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.Update;
import java.util.List;
@Dao
public interface VideoDao {
@Insert
void insert(Video...videos);
@Delete
void delete(Video...videos);
@Update
void update(Video...videos);
@Query("select * from videoTab")
List<Video> getAllVideo();
}
AppDataBase
package com.example.week_12_14.room;
import androidx.room.Database;
import androidx.room.RoomDatabase;
@Database(entities = {Video.class},version = 1,exportSchema = false)
public abstract class AppDataBase extends RoomDatabase {
public abstract VideoDao videoDao();
}
view
private void shouCang(int position) {
VideoEntity.DataDTO dataDTO = adapter.getData().get(position);
Video video = new Video();
video.setCaption(dataDTO.getCaption()+"");
video.setVideomainimg(dataDTO.getVideomainimg());
video.setVideopath(dataDTO.getVideopath());
new InsertAsyncTask(DBUtils.getAppDataBase().videoDao()).execute(video);
Log.i("TAG","存入成功"+video.caption);
}