是的,关于此主题在SO上有很多问题,但我找不到令人满意的答案。
我正和一些人一起做一个小项目。我们的想法是将一些数据添加到数据库中,以后可以在应用程序中使用。数据库只能在设备上读取(选择语句),而不会被用户编辑。
其中两个人应该为数据库提供食物。我创建了一个他们可以登录的网页,并根据需要添加/更新/删除数据。网页用php编写,数据使用sqlite存储在数据库中。
应该可以在应用中进行搜索即搜索。
数据库将每隔一段时间更新一次。当发生这种情况时,我想更新设备上的本地数据库,但只更新已更改的部分。这是首选方法,但只需下载完整的数据库即可。这取决于数据库以后的大小。
我需要一些关于下一步的指导。一些重要问题:
那么..这里最好的方法是什么?我完全不确定接下来要做什么。我们将非常感谢对有用资源的一些解释和/或参考。
答案 0 :(得分:0)
答案 1 :(得分:0)
关于这个项目,我认为你在谈论服务器数据库,如果我错了,请纠正我。我更喜欢在服务器上使用MySQL,因为它比SQLite更强大。
您可以直接在设备上使用SQLite或使用CoreData。在这两种方式中,您将在设备上拥有SQLite数据库。不同之处在于您访问它的方式。要直接访问SQLite,您可以使用SQLite C API(libsqlite3.0.dylib)。 CoreData也非常好,但它需要比SQLite C API更多的学习时间。
使用JSON与您的Web服务进行通信非常容易。 PHP有一个非常好的JSON支持,在设备上你可以使用TouchJSON(https://github.com/TouchCode/TouchJSON)
我不知道。 :)
希望它有所帮助。
答案 2 :(得分:0)
1. Is sqlite the best choice of database for this? I could change it to mysql without too much work, if that's preferred. Or is there another, better solution?
是的Sqlite更好
1. How do I save the data to the device, and how do I use it? Are there any good frameworks for this? I only need to do some simple select-statements on the device.
NSFileManager是您需要使用的,首先,您需要从服务器请求sqlite数据库,将整个数据库下载到App中的文档文件夹
1. Should I use any of these in my solution?
• Core Data: I'm not familiar with it yet, but it seems like it is a lot of work to use it. (?)
在概念上它有点宽泛,虽然它使用sqlite,你不需要将数据从设备添加到数据库,这对你来说是不可取的。
• JSON/REST: Should I send data as JSON/REST? I've seen the RESTkit, but I haven't used it.
您可以使用JSON下载数据。
1. Is there anything else I should know about?
您在服务器中准备的sqlite数据库应该具有相同的表名和结构,以便可以执行您的设备查询,