我正在开发一个移动应用程序,我必须存储用户的数据,当应用程序关闭并重新打开时,数据会自动显示。我想知道哪个数据库对于初学者来说是理想的,当涉及iOS和Android时,比如在游戏开发中存储高分?
答案 0 :(得分:5)
Android和iOS都支持SQLite。
答案 1 :(得分:3)
对于ios使用核心数据,对于Android使用SQlite。
答案 2 :(得分:2)
查看sqlite。
它是一个嵌入式基于文件的SQL数据库,在iOS Coredata中使用,也可以在Android中使用。 例如developers.android.com docs
答案 3 :(得分:2)
对于iOS,有一种称为核心数据的内置数据模式,完全支持您要执行的操作。有很多文档和教程可用,这是一个正确方向的开始:
http://www.raywenderlich.com/115695/getting-started-with-core-data-tutorial
至于Android,SQLite是一个可比较且肯定是标准的平台:
http://developer.android.com/training/basics/data-storage/databases.html
答案 4 :(得分:2)
对于iOs很重要,不要使用NSUserDefaults,它是可编辑的(黑客),它会破坏用户使用GameCenter的体验,因为很快或后来意味着用户会破解它并设置最大值,你可以在许多游戏中看到它,在游戏中心,它们都有可笑的积分。
SQLite是一个不错的选择,但它也是可攻击/可编辑的,因为它几乎总是将数据存储在一个文本类似语法的文件中。
我推荐任何可以加密的内容。
答案 5 :(得分:2)
如果您只需要存储一个或几个分数,就可以将它们放在iOS Keychain中。
更多的是,使用密钥链中的加密密钥将数据保存在加密文件中,加密的一个很好的选择是RNCryptor,它可用于多种语言和平台,它可以完成所有必要的安全包装。 / p>
如果您需要数据库,可以使用几种版本的SQLite来提供加密。
另一种选择是计算保存时的哈希值,将哈希值保存在钥匙串中并再次读取时计算哈希值并与密钥链中的哈希值进行比较。如果散列不匹配,则分数已被操纵。
答案 6 :(得分:2)
答案 7 :(得分:-1)
如果您只想存储最新的高分,那么Core Data在iOS上是一种矫枉过正,我建议在NSUserDefaults中存储类似高分的值。
我确信Android开发有类似的选项。