你能在Android上使用AJAX调用吗?

3
我是一名C# web开发人员。在日常工作中,我非常熟练地使用jQuery,并进行数据的AJAX调用(我很喜欢这个)。然而,我对Android完全不了解。我的阅读显示,Android使用REST'ful服务进行数据交换。
所以我的问题是...
Android可以使用jQuery mobile吗? Android可以进行普通的AJAX调用吗? 在Android中只能进行REST'ful调用吗?
5个回答

10

经典的Android开发是用Java完成的。在这里,jQuery基本上是无用的,因为jQuery是针对JavaScript而不是Java的。

然而,通过像PhoneGap这样的工具,可以创建使用HTML、CSS和JavaScript编写的Android应用程序。在这种情况下,您可以使用jQuery Mobile、Sencha Touch或任何其他移动风格的库。

有了这个想法:

Android能使用jQuery Mobile吗?

只有在创建通过市场分发的PhoneGap应用程序或创建普通的HTML5 Web应用程序时才可以。

在Android中可以进行普通的AJAX调用吗?

由于AJAX本质上是一个浏览器概念,所以答案与上面相同。

在Android中是否只能进行REST'ful调用?

只要找到支持它的Java库(或者对于PhoneGap/HTML5来说是JavaScript库),你可以做任何你想做的事情。Android倾向于使用纯HTTP请求而不是SOAP或XML-RPC,仅仅因为大多数有趣的在线内容都是通过纯HTTP请求访问的。


2

如果您想使用jQuery,可以使用WebView。浏览器是调用JavaScript(jQuery)的工具,而Android不是浏览器,它是一个操作系统。


在Android市场上销售的应用程序中可以使用WebView吗? - Prisoner ZERO
但是如果你想编写Android应用程序,你需要学习Java。在谷歌上搜索“commonsware”并购买他的书籍。它们非常优秀。 - dotty
感谢您的推荐。您可以使用MonoDroid开发C#。 - Prisoner ZERO
为什么?Android 是用 Java 写的,学习它会在长远的未来有所帮助! - dotty
这只是一个 FYI(供参考)的意思。 - Prisoner ZERO
抱歉,我不应该像个蠢货一样反应。我道歉了。 - dotty

1
你可以尝试使用AQuery,这是一个类似于jQuery的Android扩展,支持异步任务和ajax回调。

0

我假设你指的是浏览器代码。我有一个使用Sencha Touch和PHP调用的移动Web应用程序。一切似乎都很顺利,但如果你不小心发送太多数据,JSON有时会使事情变得非常缓慢。请注意,Android设备的性能差异很大,从524 MHz到2+ GHz,遍历所有这些内容可能会很费力。

如果你指的是本地代码,我曾经找到过一个库,可以在Java中进行GET和POST。但我对Android开发的软件方面了解不够,无法给你任何确定的答案。


0

这并不完全是一个关于你是否可以在Android上实现的问题。这仍然是一个浏览器的问题。然而,任何现代手机浏览器都将支持JavaScript以及AJAX。因此,只要这是一个站点,你就可以使用AJAX和jQuery Mobile。

但是,对于应用程序来说,情况就不同了。


好的,我想要创建一个安卓应用。如果这是一个不同的故事,你能否请扩展一下这个想法? - Prisoner ZERO
正如dotty所说,您需要在应用程序中使用Webview,然后从那里加载HTML页面。Android有自己的API可用于通过HTTP进行调用。我以前从未使用过它,因此除此之外我无法提供更多帮助。一种解决方案是托管网站,然后只需拥有一个指向您网站的Webview的应用程序即可。但是,我建议使用Android开发API的本机功能。 - dennmat
我可能没有表达清楚。在Android市场购买的应用和通过Android浏览器使用的应用有什么区别吗?我问这个问题是因为我想学习如何创建Android市场上的应用程序。 - Prisoner ZERO
有的,针对应用程序开发(在市场上可用的应用程序)请参见:http://developer.android.com/index.html。我相信API是为Java编写的。jQuery对你来说没什么用处。 - dennmat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接