适用于 Android 和 iOS 的跨平台开发

Posted

技术标签:

【中文标题】适用于 Android 和 iOS 的跨平台开发【英文标题】:Cross-platform development for Android & iOS 【发布时间】:2012-02-05 17:19:23 【问题描述】:

我在 Apple App Store 中有一个 ios 应用程序。对于下一次重大更新,我正在考虑创建我的应用程序的 android 版本。为了节省开发时间,我想到在 C++ 中进行业务逻辑和数据库访问,以便在两个平台上都使用这一层,并且只使用相应平台的 API(即 Objective-C/Cocoa适用于 iOS 的 touch 和适用于 Android 的 Java/Android SDK)。

从 Android 的角度来看,您如何看待这种方法? Android下可以用C++访问SQLite数据库吗?

感谢和问候, 托马斯

【问题讨论】:

【参考方案1】:

请记住,您将需要使用 NDK 来运行 C++ 代码。此外,可以使用 NDK 编译 SQLite,但这需要一些工作,甚至可能需要一些移植。

您还必须用 Java 编写包装器,这也是一些额外的工作,尽管 Android 提供了帮助器。

并且原生代码和应用程​​序之间的编组并不是最有效的过程。

【讨论】:

【参考方案2】:

在 NDK 中没有公开 SQLLite API(至少列出了我查看的时间),但您应该能够将 SQLLite 作为源包并将其包含到您的应用程序中。如果您的所有数据库逻辑都将使用 C++,那么您不必担心与 Java API 的互操作。

【讨论】:

以上是关于适用于 Android 和 iOS 的跨平台开发的主要内容,如果未能解决你的问题,请参考以下文章

适用于 Android/iOS/WinPhone 的 Xamarin 通用层

寻找适用于 iOS 和 Android 的基本 2D/3D 图形的跨平台方法

适用于 android、ios 和 blackberry 的 Codenameone 应用内计费

适用于 Android、iOS 和 PC 的通用跨平台应用程序 - 理论上 [关闭]

如何在适用于 Android 和 iOS 的 C++ 跨平台库中正确链接 OpenCV?

AirtestIDE 游戏自动化(unity3d跨 WindowsMacIOSAndroid)