我正在使用房间。我需要使用 SELETC、INSERT、DELETE 全部。
这就是我实现的:
@Dao
interface UserDao {
@Query("SELECT * FROM user WHERE m_id IN (:m_id)")
fun loadAllByIds(userSeqs: IntArray?): List<User?>?
@Query("SELECT * FROM user")
val all: List<User?>?
}
Run Code Online (Sandbox Code Playgroud)
@Entity(tableName = "user")
data class User (
@PrimaryKey(autoGenerate = true) val seq: Long,
// this name is used in dao as column name
@ColumnInfo(name = "m_id") val mId: String?,
@ColumnInfo(name = "k_id") var kId: String?,
@ColumnInfo(name = "created_at") var createdAt: String?
)
Run Code Online (Sandbox Code Playgroud)
@Database(entities = {User.class}, version = 1, exportSchema = false)
public …
Run Code Online (Sandbox Code Playgroud) 我试图在房间数据库 android 中添加一些数据。但是在添加时只有 50 行可见或输入到数据库中。数据库中无法添加更多数据。我还检查了我的日志,但没有错误或异常。我打印日志中的每个数据,它在日志中可见,但在数据库中不可用。创建我放置的房间数据库时没有任何限制。如果有人知道出了什么问题,请帮助我
database android android-studio android-room android-room-relation
我是 Kotlin 和 Android Studio 的新手,现在尝试使用 ViewModel 实现 Room 数据库,但我面临问题“kotlin.UninitializedPropertyAccessException:lateinit 属性habitViewModel 尚未初始化”
我认为这是由于视图模型的早期初始化造成的,但我找不到修复它的方法。
这是我下面的代码。
创建代码时的活动
class HabitActivity : AppCompatActivity() {
lateinit var binding : ActivityHabitBinding
lateinit var habitViewModel : HabitViewModel
lateinit var habitAdapter: HabitAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityHabitBinding.inflate(layoutInflater)
habitViewModel = ViewModelProvider(this)[habitViewModel::class.java]
setContentView(binding.root)
// view model
habitViewModel.habitList.observe(this) {
habitAdapter.update(it)
}
// adapter
habitAdapter = HabitAdapter(this)
binding.rvHabitList.layoutManager = LinearLayoutManager(this)
binding.rvHabitList.adapter = habitAdapter
}
Run Code Online (Sandbox Code Playgroud)
视图模型代码
class HabitViewModel: ViewModel() {
val habitList: LiveData<MutableList<HabitDTO>>
private var habitRepository: HabitRepo = …
Run Code Online (Sandbox Code Playgroud) 1.当尝试使用tablename作为参数使用方法访问数据时,使用android中的Room Library获取下面提到的错误.
- >查询有问题:ERROR] SQL错误或缺少数据库(没有这样的表:表名)
MainActivity.class
userData1= userSampleDatabase.daoAccessForUser().getItembyIdvalue("UserData","1");
Run Code Online (Sandbox Code Playgroud)
DaoAccessForUser.class
@Query("select * from 'tableName' where id = :id")
List<UserData> getItembyIdvalue(String tableName,String id);
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我有一个像下面这样的对象,
class LocationData{
String time;
String name;
String address;
}
Run Code Online (Sandbox Code Playgroud)
对于这个对象,我创建了 getter setter。
通过使用服务,我填写了上述模型并保存到房间数据库中。每当用户打开我的应用程序时,我只是使用 API 将房间数据库数据更新到服务器。现在有时会发生时间重复。如何根据时间从数组中删除对象。时间应该是唯一的。
我们在android中使用Room数据库来存储数据。
现在,在 Dao 类中,我们都执行各种查询,如插入、选择、删除、更新等。
我想知道我们如何知道这些查询执行成功?
即如果我这样做:
appDatabase.userDao().insert(userData)
Run Code Online (Sandbox Code Playgroud)
如何通知用户数据已插入特定表并且操作成功?
是的,有没有可用的工具或插件可以让我们看到 Room 数据库的数据?(我已经用谷歌搜索过它,但对于设备监视器有点困惑)
请指导。
我正在使用room
库android
.当我在数据库中插入内容时,我获取当前正在运行的应用程序的数据,但是当我重新启动应用程序时,屏幕上没有任何内容.如何获取以前存储的数据without using LiveData
?
android ×7
android-room ×7
kotlin ×2
android-architecture-components ×1
dao ×1
database ×1
duplicates ×1
sqlite ×1
viewmodel ×1