C ++编程,最终是Mobile

时间:2012-04-13 19:47:40

标签: c++ android-ndk

我想构建最终完全原生的Android C ++应用程序,可以转移到iOS,我应该从哪里开始

首先让我更容易回答这个问题,我认为我自己几乎是一个中级C ++程序员我还没有完成命令行程序,但我理解了Vector,数组,指针,OOP和我的基础知识还不是100%,这就是我提出这个问题的原因。

我在java中用sdk编写了一些android应用程序,但我的老板现在想要iOS应用程序而且他不想给我买一台mac,(这就是为什么我坚持用c ++完全原生的android而不是去iOS)

1)首先,我对于要购买哪本书会让我从初级C ++编程到下一步感到困惑,...我应该专注于学习Windows API,如果是这样,我应该获得哪些书籍和教程,因为我我已经厌倦了购买高级书籍或者有我已经理解的东西的书籍(我找不到中间的人来挑战我继续使用我的c ++)所以,你们有什么建议我应该直接进入用c ++学习android,或者我应该尝试去其他地方并在C ++中更好地学习

2)如果我应该进入android,或ndk,是否有任何好书实际上支持android ndk,而不是一本名为“ANDROID NDK”(lol)的kindle书。那本书我能够理解,但整个设置eclipse很混乱,因为它告诉我我需要设置cygwin,但后来它告诉我我不需要设置cygwin因为ndk r7支持命令行,所以我对eclipse设置感到困惑,我已经使用eclipse进行java,但从来没有使用C ++,我必须在项目菜单中将我的代码转换为C ++,所以有没有比那本书更好的android ndk教程。

如果你们能回答这两个问题,我会非常感激,是的,我知道我可能应该从iOS开始而不是Android,但我没有mac,因此我不打算从iOS开始,(如果我错在这里,请纠正我,但是!))我想如果我能编写android原生C ++代码,那么如果我用Xcode 4在iOS上用C ++编写代码那么转换到iOS并不会那么难。

再次书我应该阅读教程我也应该去,非常有帮助,非常感谢你。

4 个答案:

答案 0 :(得分:0)

我不确定你是否还在构建iOS应用程序。我不明白学习android C ++将如何帮助iOS应用程序。你仍然需要一个mac来编译并将你的应用程序提交到应用程序商店(至少你可能需要借用一个mac来构建和提交)。

另外,我建议采用不同的方法解决您的问题(也与c ++解决方案无关,但仍然可以帮到您)。

您可以使用phonegap(将html,css,javascript转换为本机iOS / Android /等应用程序的库)。您可以使用html,css和javascript(也是jquerymobile)中的简单代码,并且可以轻松地将应用程序转移到不同的平台。

注意:Phonegap的新名​​称是Cordova。

您可以在此处找到更多信息:http://www.phonegap.com

希望这有帮助! -c0d3

答案 1 :(得分:0)

好吧,我该怎么说呢?

1)关于C ++的书籍:您是否尝试过参考书?

http://www.amazon.com/Programming-Principles-Practice-Using-C/dp/0321543726/ref=sr_1_2?s=books&ie=UTF8&qid=1334347108&sr=1-2

你也可以得到这个。它涵盖了基础知识,并通过了语言的更多实际用法:

http://www.amazon.com/Programming-Principles-Practice-Using-C/dp/0321543726/ref=sr_1_2?s=books&ie=UTF8&qid=1334347108&sr=1-2

Herbert Shildt有一本很棒的C ++书:

http://www.amazon.com/Beginners-Guide-Second-Edition/dp/0072232153/ref=sr_1_3?s=books&ie=UTF8&qid=1334347407&sr=1-3

请记住,所有这些书都不包括 C ++新标准,C ++ 0x(或C ++ 11)。

2)由于您计划进行多平台开发,我建议使用移动框架。为两个系统(iOS和Android)编写多平台C ++代码是非常重要的。此外,iOS主要语言是Objective C,这对于寻找C ++(甚至是Java)开发人员BTW来说可能非常尴尬。 不幸的是,大多数移动框架都是基于网络的。如果您的应用程序需要低级访问权限,那么您可能会失去运气。

答案 2 :(得分:0)

最好的办法是在实现通用接口的本机库中隐藏所有特定于平台的代码。您的代码将仅通过公开的接口使用库,并且实现在编译时通过特定于平台的标志绑定到接口

我不知道任何android-iOS原生跨平台开发库,也许应该有一个?

答案 3 :(得分:0)

我发誓Marmalade。我把它用于视频游戏开发。你可以从visual studio做整个ios dev,android dev。

你需要itunes来部署ios,但这就是它。