开发一个共享的Android / iOSnetworking库

我一直主要开发iOS应用程序,但现在我正在为iOS和Android开发应用程序。 尽可能地,我试图编写尽可能平台无关的代码。

人们做了什么networkingfunction? 我似乎无法find在Android中进行GET / POST HTTP请求的任何资源。

你将如何处理为iOS和Android开发共享networking库的问题。

编辑:我会做我所有的Androidnetworking编程在C / C + +而不是Java!

有没有任何Android的C / C + +networking库(随后可以用于iOS)?

Related of "开发一个共享的Android / iOSnetworking库"

我不认为这是不可能的,因为这里的大多数人听起来像这样。 我采访了一个最近在大型手机游戏开发公司工作过的人,他提到他们在C / C ++库中做了很多工作,以便在包括Android和iOS在内的多个平台上重复使用这些代码。 我自己也没有尝试过,但是我听过这么多次。

作为一个例子,看看这个博客文章: http : //thesoftwarerogue.blogspot.com/2010/05/porting-of-libcurl-to-android-os-using.html

如果可以在Android上使用cURL库,我不明白为什么你的networking库不能。 由于您无法从您的C / C ++代码库访问平台SDK,因此这些困难很可能与与GUI进行交互有关。 但是对于一个networking库,这是完全正确的。 这是我的build议:

  1. 写一些概念代码的certificate,看看你如何可以从这两个平台的lib链接。 考虑一下库的devise中的局限性。
  2. 使用testing驱动开发方法,将您的networking库作为独立项目开发。 也就是说,编写unit testing来驱动你的代码来testing它正在开发的代码。
  3. 在Android和iOS项目中用本地代码编写包装类来隔离库代码。

另外,正如之前提到的,只要用XCode完成,Apple就可以在C / C ++中开发应用程序。 去年他们甚至放松了这个要求。

祝你好运

如果你能忍受一个语言的可怕借口,使用Javascript。

考虑到差异,这是不可能的。 编写黑莓/ Android共享库是一件痛苦的事情,他们都使用“Java”。

如果你真的想做跨平台的话,那么你将会用javascript编写网页,然后在设备的web-views上传递它们。

你不能在Objective C和Java中共享代码,这是不可能的,你不能在iPhone上运行Java,也不能在Android上运行ObjectiveC。 所以有没有可能的理智的方式与本机代码做到这一点。

编辑:就networking而言,不要以为你会发现许多地方,你可以统一访问跨平台的低级networking。

我想你是在谈论本地(而不是基于Web)的应用程序。 要在Android中进行GET / POST HTTP请求,您应该查看HTTPClient 。 这个Java库附带Android,它允许开发你需要的function:

HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(url); try { HttpResponse response = client.execute(request); ... } catch(Exception ex) { // handle } 

关于如何为iOS和Android开发一个共享的networking库,这是一个有趣的问题,我找不出任何解决scheme,因为平台有太多的差异(Java vs Objective C最明显),但是这将是伟大的。

我可以说Android支持通过NDK的 C / C ++代码,但我不确定这是否适用于iOS。

你可以试试Titanium ,源代码在JS中,然后交叉编译到iOS或Android。

正如其他人所说,如果可能的话,这并不容易。 如果您决定尝试,我会build议使用C / C ++,因为这两种平台都可以处理该语言。 (iOS是Objective-C,正如你所知道的,Android可以通过NDK处理C)。不要试图让Java在iOS上运行…