2012-04-11 29 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