当前位置: 首页 > 面试题库 >

为Android项目选择ORM(最低API级别7)

刘泰
2023-03-14
问题内容

我目前有一个应用程序,其主要性能问题是使用由JSON响应组成的基于文件的数据库。

我想重写我的应用程序以使用SQLite数据库功能。
由于我很懒,所以我想使用某种ORM。

到目前为止,我只发现了两个大型ORM库:

  • ORMLite
  • greendao-ORM
  • DB4O
  • ActiveAndroid

我的主要目标是尽可能 提高数据处理性能

但是我发现这些库有两个可能的问题。

  • ORMLite使用 批注 ,由于此错误,这是 蜂巢前的性能问题

  • GreenDAO正在使用某种代码生成器,这会降低我的开发速度,因为我必须编写生成器,然后使用生成的代码。而且我不太喜欢这个主意。

  • DB4O是JPA,我一直认为它很慢且占用大量内存,因此不适合低端设备(请记住Android API v7)

ad @ChenKinnrot
估计的负载应足以考虑使用ORM。
在我的情况下, 大约有25-30个唯一表,并且至少有10个表联接(一次2-4个表)。 大约300-500个唯一字段(列)

所以我的问题是:

  1. 我应该在Android应用程序中使用ORM / JPA层吗?
  2. 如果是这样,您会建议我使用哪个库? (并且也请添加一些参数)

问题答案:

我使用过ORMLite,并在掌握了它之后(几个小时)就发现它很简单,功能强大并且没有引起任何性能问题(在Gingerbread中对HTC欲望和HTCHero进行了应用测试)。

我将在需要使用数据库的任何项目中再次使用它。



 类似资料:
  • 蓝牙支持有什么问题吗? 你还知道什么问题吗?

  • 我有搭载Android7.1.1的中兴Axon 7 但是我不能执行“即时运行”--在菜单运行中,我看到应用更改:目标设备API级别(API1)太低,无法即时运行

  • These are advanced, low-level API features that should, for most people not be necessary to worry about. They are lightly documented here, and in the future will have more documentation, but the empha

  • 问题内容: 假设我有一个会议实体。每个会议都有一个与会者和一个会议日期。在我的会议表中,我可能会为每个与会者召开多个会议,每个会议的日期都不同。我需要一个JPA查询,该查询将仅为所有与会者选择最新的会议。例如,如果我的桌子看起来像这样 我的结果应该是 针对postgres使用JPA 2。会议有1-1个出席者和一个简单的时间戳记日期。我怀疑我需要和max(blah)做一个小组,也许还需要加入我自己的

  • 我有一个列表视图,当我的活动开始时,我想要第一个项目将有背景,其他项目没有任何背景。之后,如果用户选择任何其他项目,则该特定项目的背景现在将为蓝色,其余部分将没有任何背景。请帮帮我。 My layout_effect.xml 设置默认背景的GetView代码 listview的任何我的onclickListner 我的列表视图xml 请帮帮我,我怎么才能解决这个问题,我从昨天开始就被困在里面了。

  • 我需要在加载时选择组合框的第一个项目。 XAML: 我希望在打开窗口时在组合框中最初选择。 我使用< code>SelectedItem属性在所选项目发生更改时触发一个事件。