我使用Mono For Android创建我的Android应用程序。
我的解决方案是这样构建的:
核心包含我的实体(即Student
)。我的Student
类有一个属性IEnumerable<Schedule> Schedules
。此属性由Web服务(GetAllSchedules()
)填充。为了节省资源,从服务下载的数据被缓存到本地SQLite数据库(缓存逻辑驻留在Core.AndroidLib中)。每当请求调度数据时,它首先检查缓存,只有在需要其他数据时才转到Web服务。
到目前为止,Core仍然是一个纯粹的.Net类库。
在阅读了Cursors之后,我意识到Cursor在查询方面更有效率,因为数据被提取了#34;仅在需要时(而不是一次预先填充我的IEnumerable<Schedule> Schedules
并将其存储在列表中)。
我没有将Schedule数据存储在List中,而是考虑将其存储在Cursor中(即ICursor Schedule
),但是,这种方法会使我的Core库无法互操作,因为它将使用来自Android库。
我应该只在列表中保留计划数据,只是预先填充SQL(Select * from Schedules
)中的数据,还是应该公开ICursor?暴露ICursor会更有效地获取所有数据并将其存储在列表中吗?