当前位置: 首页 > 知识库问答 >
问题:

使用房间数据库中的同一类创建两个表

祁刚毅
2023-03-14

我正在使用Room作为应用程序的数据库。我正在用改型从服务器上获取数据。场景是,我有一个名为Photo的类,并用实体进行注释,以供room使用,我使用这个类使用retroft映射API的响应。我需要使用同一个类创建两个表,例如:最新的照片表和流行的照片表。我怎样才能做到这一点。

>

  • 我不想创建一个新的类并使它从另一个类扩展
  • 我有一个想法,通过插入一个新的列,表明照片是流行的或最新的,但我不知道如何有效地实现它使用一个单一的表。

    公共空白插入照片(最终列表照片){ioExecutor.execute(新的Runnable(){@覆盖公共空白运行(){PhotoDao.bulk插入(updateList(照片)); } }); }

    这里我插入照片列表(由20个照片对象组成)。如何向每个照片对象添加新字段。我曾尝试使用for loop,但这需要相当长的时间,因为我不会只收到20个项目,而是通过web服务器进行分页。

    • 有没有办法为改装响应添加新值并将其映射到Photo类
  • 共有1个答案

    太叔飞翰
    2023-03-14

    我已经插入了一个新的列,表明天气照片是流行的或最新的,但问题是服务器没有返回任何有用的数据来填充此列。

      private void processData(Response<ResponseBody> response) {
            if (response.isSuccessful()) {
                try {
    
                    JSONObject jsonObject = new JSONObject(response.body().string());
                    JSONArray hits = jsonObject.getJSONArray("hits");
                    List<Photo> photos = new ArrayList<>();
                    for (int i = 0; i < hits.length(); i++) {
                        JSONObject photoJSONObject = hits.getJSONObject(i);
    
                        photoJSONObject.put("order", order); // add new property
    
                        String json = photoJSONObject.toString();
    
                        Gson gson = new Gson();
    
                        Photo photo = gson.fromJson(json, Photo.class);
    
                        photos.add(photo);
    
    
                    }
    
     类似资料:
    • 我转换java代码到kotlin代码,我得到类型未解决的java类错误。 我的Java类是 已转换的Kotlin类 非常感谢。

    • 有没有更简单的方法可以查看Android Studio中使用Room Persistence Library创建的数据库的内容?

    • 问题内容: 我们正在多家商店中运行带有MySql后端的Java PoS(销售点)应用程序。我想保持商店中的数据库与主机服务器上的数据库同步。 商店中发生某些更改时,应在主机服务器上对其进行更新。我该如何实现? 问题答案: 复制不是很难创建。 这里有一些很好的教程: http://aciddrop.com/2008/01/10/step-by-step-how-to-setup-mysql-data

    • 我们的应用程序目前有两个独立的数据库/模式。我们遇到了与此设置数据不一致的情况,因此我们要么需要跨两个数据库的事务处理,要么需要合并数据库。我们不想使用JTA事务,因为我们使用的是普通的Tomcat。因此我们的方法是将两个数据库/模式合并为一个。 这两个数据库/模式目前都是通过Liquibase管理的,我们希望维护两个单独的变更日志,因为一组实体来自第三方工具,另一组由我们管理。除了liquiba

    • 这是一个自我回答的问题,我想在早些时候问这个问题,因为我的项目中存在代表曝光问题,但经过几个小时的研究,最终还是解决了这个问题。与其保持沉默,我想这可能会对将来的人有所帮助。本教程演示了如何创建Room数据库并在活动/片段中使用它。这里给出的示例用例是查询数据库的大小并更新片段中的视图。 注意:下面的代码中有一些 Dagger-Hilt 依赖项注入,但如果您手动执行自己的依赖项注入,则应应用相同的

    • Android.com 说要将这些依赖项添加到您的 gradle 文件中。我不断在以kapt和ksp开头的行上遇到错误,说找不到这些方法。有什么想法吗?对不起,我不聪明。 //下面是android说要放进去的 构建文件 'C:\Users\tanne\AndroidStudioProjects\LazyAlarm\app\build.gradle' 行: 51 评估项目时出现问题:应用程序。 在o