1

我正在使用 Mono For Android 来创建我的 Android 应用程序。

我的解决方案结构如下:

  • 核心 -> 包含我的业务逻辑的 .Net 类库。没有安卓代码。需要可互操作。
  • Core.AndroidLib -> 一个 Android 类库。包含 Android 特定代码
  • MyApp -> Android 应用程序项目。包含布局、活动等。

核心包含我的实体(即Student)。我的Student班级有一个财产IEnumerable<Schedule> Schedules。此属性由 Web 服务 ( GetAllSchedules()) 填充。为了节省资源,从服务下载的数据缓存到本地 SQLite 数据库(缓存逻辑位于 Core.AndroidLib 中)。每当请求调度数据时,它首先检查缓存,并且仅在需要其他数据时才转到 Web 服务。

到目前为止,Core 仍然是一个纯 .Net 类库。

在阅读了 Cursors 之后,我意识到 Cursor 在查询方面更有效,因为只有在需要时才“获取”数据(而不是IEnumerable<Schedule> Schedules一次性预先填充我的所有数据并将其存储在列表中)。

我没有将 Schedule 数据存储在 List 中,而是考虑将其存储在 Cursor(即ICursor Schedule)中,但是,这种方法会使我的 Core 库无法互操作,因为它将使用 Android 库中的类。

我应该只将 Schedule 数据保留在列表中并从 SQL ( ) 中预填充数据,Select * from Schedules还是应该公开一个 ICursor?公开 ICursor 会比获取所有数据并将其存储在列表中更有效吗?

4

0 回答 0