使用PhoneGap和PHP的IPhone Native App

时间:2010-12-08 08:07:29

标签: iphone cordova

我想开发一个与远程数据库同步的iPhone原生应用程序。是否可以使用PhoneGap开发此应用程序。如果我使用PhoneGap,如何从外部数据库获取数据?我可以在PhoneGap上使用PHP吗?

3 个答案:

答案 0 :(得分:24)

PhoneGap允许您在iPhone上运行JavaScript和HTML应用程序。所有PHP代码都必须驻留在远程服务器中。

要从服务器获取数据,您必须使用XMLHttpRequest对象或更友好的用户,例如jquery的$.get()$.post()函数。

答案 1 :(得分:22)

我刚刚使用Ajax编译了一个带有PHP的PhoneGap应用程序来获取内容。

首先,在index.html头部加载jQuery库。在函数onBodyLoad()中,对PHP文件进行Ajax调用:

$('#content').load('http://www.example.com/test.php');

在HTML会话中,将div id =“content”放在要显示内容的位置。

PHP:

for($i=1; $i<=10; $i++) {
    echo '<p>I\'m a PHP Loop! Value: ' . $i . ' of 10.</p>';
}

HTML将打印:

<p>I'm a PHP Loop! Value: 1 of 10.</p>
<p>I'm a PHP Loop! Value: 2 of 10.</p>
<p>I'm a PHP Loop! Value: 3 of 10.</p>
<p>I'm a PHP Loop! Value: 4 of 10.</p>
<p>I'm a PHP Loop! Value: 5 of 10.</p>
<p>I'm a PHP Loop! Value: 6 of 10.</p>
<p>I'm a PHP Loop! Value: 7 of 10.</p>
<p>I'm a PHP Loop! Value: 8 of 10.</p>
<p>I'm a PHP Loop! Value: 9 of 10.</p>
<p>I'm a PHP Loop! Value: 10 of 10.</p>

您也可以使用

$.get('test.php?name', function(data) {
    $('#content').html(data);
});

你的test.php可能有类似的内容:

if (isset($_GET['name'])) {
    echo "Asked for name!";
}

有了这个,你可以继续做一些好东西。我对这个问题有一个疑问:我可以托管外部PHP文件并在app store上部署应用程序吗?对此有任何限制吗?

答案 2 :(得分:9)

wm_eddie是对的。

另外,我想评论一下你的“我想建立一个原生的iPhone应用程序”的引用。为PhoneGap编写的应用程序是不是本机应用程序。虽然它们可以看起来像大多数情况一样, act 就像本机应用程序一样,但更好的比喻是将它们视为预打包,本地安装的Web应用程序,可以使用PhoneGap api,可以访问有限的本机功能子集。值得注意的是,此功能包括传感器(加速度计,gps等)和相机操作等。

这可能与您的使用无关,但只是想澄清一点......;)

(PhoneGap仍然是一个非常漂亮的工具,我在我的一些项目中使用它。但是,如果你需要一个完全原生的应用程序,除了必须在运行时间,但是使用大多数1-1语言依赖的符号预编译,然后我推荐我正在利用的Titanium。两种不错的工具,但它们提供截然不同的产品,具有不同的利弊。这是一个问题确定最终产品的要求,然后选择最有意义的平台。)