将Android SQLite移植到iOS

时间:2014-03-18 22:57:46

标签: android ios sqlite cross-platform

我有编写Android代码的经验,但我对iOS完全不熟悉。我决定了一个很好的方法来学习它是通过创建一个Android应用程序,然后将其移植到iOS。而不是拥有一个完整的Android应用程序并且学习它不会轻易移植,我决定在写它时移植每个部分。

我开始创建Android SQLite数据库之后,我知道iOS也有SQLite,认为这将是一个容易受到影响的地方。

我一直在寻找如何移植我编写的Android代码,但是我写的很少。从另一个方向移动似乎更常见。更糟糕的是,似乎缺乏关于SQLite的iOS文档,因为在我转向的任何地方都会出现一些名为CoreData的内容。

我已经拥有contract中的所有SQL语句,包括所有SQL表定义和索引,并将它们移植到C.但是,我没有找到任何关于在iOS上使用合同的示例。

是否有关于此或示例的文档?如果没有,我是否误解了什么?

再次,这里有iOS新手,所以只是一个简单的方向会有所帮助。

THX。

3 个答案:

答案 0 :(得分:1)

查看FMDB。它是SQLite的Objective-C包装器。它具有简单的语法,类似于Android中的SQLiteDatabase。据我所知,没有类似于Android开发的Android合约。 尝试使用FMDB中的FMDatabaseQueue。它允许以线程安全的方式访问数据库。

P.S。 CoreData是适用于iOS和OS X的ORM。如果你有Android合约,使用FMDB将它们移植到iOS要容易得多。

答案 1 :(得分:0)

核心数据有自己的数据结构,您可以查看它,您将看到如下内容:

在此输入图片说明

模型中的表格以Z为前缀,因此您可以在Android中使用SQL查询完美地查询此SQLite数据库。

注意:您可以在文件夹中使用Simulator运行应用程序后找到此SQLite文件:

/Users/<you_name>/Library/Application Support/iPhone Simulator/<ios_version>/Applications/<app_id>/Documents/<app_name>.sqlite

答案 2 :(得分:0)

如果您已经有一个SQLite 3数据库文件,您可以直接拖放(或通过网络下载)所述数据库到您的iOS应用程序并使用LabQLite控制它,它可以充当ORM之间的ORM Objective-C / Swift和SQLite。

您也可以找到associated model class generator便利。

使用LabQLite设置您的iOS应用程序和生成器中的模型应该相当快。

免责声明:我开发了这两种产品。