2012-04-11 54 views
0

我对Android编程相当陌生,想知道如何从我的Android应用中的SQL数据库中获取数据。从JAVA的PHP脚本中获取数据

我目前有一个PHP脚本,它从SQL表中抽取我想要的数据,但我不确定如何将数据从PHP脚本中抽取到Java中。我该怎么做呢?我读了一些关于SOAP的内容。这是我想使用的协议吗?

感谢

回答

0

您可以使用下面的函数从PHP脚本

public static String get(String from) { 
     try { 
      HttpClient client = new DefaultHttpClient(); 
      HttpGet get = new HttpGet(from); 
      HttpResponse responseGet = client.execute(get); 
      HttpEntity resEntityGet = responseGet.getEntity(); 
      if (resEntityGet != null) return EntityUtils.toString(resEntityGet); 
     } catch (Exception e) { 
      Log.e("", e.toString()); 
     } 
     return null; 
    } 
+0

这使得他很多关于他没有指定的架构的假设! – 2012-04-11 04:41:23

1

这取决于获取内容。数据库在设备上还是在服务器上?如果它在服务器上,PHP代码已经是一个Web应用程序,还是只是一个脚本?

通常,如果数据库位于设备上,请抛出PHP并使用JDBC直接从Java获取数据。如果数据位于服务器上,则将PHP脚本转换为Web应用程序,然后从Java访问该Web应用程序。 SOAP当然是一个可以用于此的协议,尽管这是一个复杂的协议,通常都是过度的。 JSON或纯文本是更好的选择。

+0

数据库在服务器上。 PHP不是一个Web应用程序,只是我为了从SQL数据库获取一些数据而编写的脚本。 – moesef 2012-04-11 04:50:23

+0

好的,所以你需要将PHP脚本作为服务以某种方式暴露给网络。它可能只是一个典型的PHP网页,它返回一个纯文本文件,或一个XML文件,或任何其他有意义的表示。 SOAP基本上只是返回XML的一个子选项 - 一个复杂的选项。然后,您编写Java代码来获取URL内容(NguyễnHoàngGia的答案显示了一种方法),然后解析表格数据。 – 2012-04-11 04:53:27

+0

是否可以将数据作为数组或JSON对象发回?如果我这样做,我如何使用'HTTPEntity'来获取所述对象或数组? – moesef 2012-04-11 05:01:56