我被要求创建一个小巧的Android应用程序。
在日常工作中我使用.NET代码并且我没有与Android相关的经验,但因为它是一个非常小的应用程序,我想这将是一个很好的体验,而不是一些困难。
应用程序的核心是一个小型数据库(可能是XML
,除非有人建议更好的解决方案),其中包含categories
,names of the institutions
分配给每个category
和该机构logo
(分辨率不是很高,我估计单个文件的数量不会超过100kB)。
数据库也不会很大 - 我预计总共不会超过1000条记录。数据库必须完全脱机并且是本地的,操作时不需要访问Internet。
我假设的模型是在数据库发生变化时发布新版本的应用程序(这不会非常频繁)。
处理这些要求的最佳方法是什么?
SQLite
并将图像存储在BLOB
中。总的来说,我已经读过将图像直接存储在数据库中并不是一个好主意,我担心是否有可能满足上述所有要求。 大多数情况下,我不知道如何轻松更新数据库并将其附加到新版本的应用程序。
有什么建议吗?
如果有任何回应,我将不胜感激。
答案 0 :(得分:1)
我不会使用XML
来保存您的数据,也不会压缩任何内容。
我认为你的思维方式还可以,但你为自己制造的东西真的很复杂。
看到你已经习惯了.NET我认为你对SQL非常有信心,所以我建议你看一下如何使用built-in SQLite database in Android。< / p>
如果您要使用XML路由,则必须反复序列化和反序列化XML文件,然后解析XML。好的,你没有很多数据,但是在一个至少有1000个节点的XML文件中搜索与数据库的性能相比会很慢。
同样升级现有的SQLite数据库也不是那么难 - Android有方法(onUpgrade
来自SQLiteOpenHelper
)。
至于保存图片我假设你不能从互联网上获取新图片,所以最好将它们存储在你应用的drawable
文件夹中(注意不同的屏幕尺寸)然后在需要时将它们读入ImageView
。要弄清楚什么样的图像,我会在SQLite数据库中存储每个图像的图像名称,或者为数据库中的每个图像存储resource id
- 例如R.drawable.myawesomepictureformyinstitution
。
我知道我的回答有点过于肤浅&#34;,但你的问题也有些广泛和#34;没有我实际编写大部分代码而且很难回答,而且这不是我的意图; - )
希望这有帮助 - 如果有任何不清楚的地方,请告诉我。