我對Android編程相當陌生,想知道如何從我的Android應用中的SQL數據庫中獲取數據。從JAVA的PHP腳本中獲取數據
我目前有一個PHP腳本,它從SQL表中抽取我想要的數據,但我不確定如何將數據從PHP腳本中抽取到Java中。我該怎麼做呢?我讀了一些關於SOAP的內容。這是我想使用的協議嗎?
感謝
我對Android編程相當陌生,想知道如何從我的Android應用中的SQL數據庫中獲取數據。從JAVA的PHP腳本中獲取數據
我目前有一個PHP腳本,它從SQL表中抽取我想要的數據,但我不確定如何將數據從PHP腳本中抽取到Java中。我該怎麼做呢?我讀了一些關於SOAP的內容。這是我想使用的協議嗎?
感謝
您可以使用下面的函數從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;
}
這取決於獲取內容。數據庫在設備上還是在服務器上?如果它在服務器上,PHP代碼已經是一個Web應用程序,還是隻是一個腳本?
通常,如果數據庫位於設備上,請拋出PHP並使用JDBC直接從Java獲取數據。如果數據位於服務器上,則將PHP腳本轉換爲Web應用程序,然後從Java訪問該Web應用程序。 SOAP當然是一個可以用於此的協議,儘管這是一個複雜的協議,通常都是過度的。 JSON或純文本是更好的選擇。
數據庫在服務器上。 PHP不是一個Web應用程序,只是我爲了從SQL數據庫獲取一些數據而編寫的腳本。 – moesef 2012-04-11 04:50:23
好的,所以你需要將PHP腳本作爲服務以某種方式暴露給網絡。它可能只是一個典型的PHP網頁,它返回一個純文本文件,或一個XML文件,或任何其他有意義的表示。 SOAP基本上只是返回XML的一個子選項 - 一個複雜的選項。然後,您編寫Java代碼來獲取URL內容(NguyễnHoàngGia的答案顯示了一種方法),然後解析表格數據。 – 2012-04-11 04:53:27
是否可以將數據作爲數組或JSON對象發回?如果我這樣做,我如何使用'HTTPEntity'來獲取所述對象或數組? – moesef 2012-04-11 05:01:56
這使得他很多關於他沒有指定的架構的假設! – 2012-04-11 04:41:23