我想從Android應用程序調用服務器上的特定PHP函數,併發送一些參數。直到現在我已經實現了,我可以使用HttpClient打開php文件並執行數據傳輸到Json並在我的應用程序中顯示。所以,現在我想能夠調用特定的函數併發送參數給它,我該怎麼做? 謝謝。從android調用PHP函數?
3
A
回答
4
下面是一段代碼,我寫了註冊使用JSON一個新的用戶名:
public static boolean register(Context myContext, String name, String pwd) {
byte[] data;
HttpPost httppost;
StringBuffer buffer;
HttpResponse response;
HttpClient httpclient;
InputStream inputStream;
List<NameValuePair> nameValuePairs;
try {
httpclient = new DefaultHttpClient();
httppost = new HttpPost(
"http://X.X.X.X/register.php");
// Add your data
nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("User", name.trim()));
nameValuePairs.add(new BasicNameValuePair("Password", pwd.trim()));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
response = httpclient.execute(httppost);
inputStream = response.getEntity().getContent();
data = new byte[256];
buffer = new StringBuffer();
int len = 0;
while (-1 != (len = inputStream.read(data))) {
buffer.append(new String(data, 0, len));
}
inputStream.close();
}
catch (Exception e) {
Toast.makeText(myContext, "error" + e.toString(), Toast.LENGTH_LONG)
.show();
return false;
}
if (buffer.charAt(0) == 'Y') {
return true;
} else {
return false;
}
}
如果您發現:
nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("User", name.trim()));
nameValuePairs.add(new BasicNameValuePair("Password", pwd.trim()));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
在一塊,你可以發送參數。
該方法只是發送用戶名和密碼到register.php。 如果用戶已被使用,則返回'N';否則創建用戶並返回'Y'。
在服務器端,你把他們當作POST信息,所以:
$user = $_POST['User'];
應該對你的情況做:)
乾杯!
1
1
您需要使用WebServices進行此項工作。 http://www.php.net/manual/en/book.soap.php
相關問題
- 1. 如何從Android調用PHP函數?
- 2. 從PHP調用函數
- 3. 從jquery調用php函數?
- 4. 從Jquery調用PHP函數
- 5. 從jQuery調用PHP函數?
- 6. 從JavaScript調用php函數
- 7. 使用PHP調用PHP函數在後端調用PHP函數
- 8. 調用函數(PHP)
- 9. PHP函數 - 調用
- 10. 調用PHP函數
- 11. PHP函數調用
- 12. PHP調用函數
- 13. 調用函數android
- 14. 從PHP調用JavaScript函數的問題
- 15. 如何從PHP調用js函數?
- 16. PHP。從不同的類調用函數。
- 17. 從圖片onclick調用php函數?
- 18. 從不同域調用PHP函數
- 19. 從JavaScript調用公共PHP函數
- 20. 如何從PHP調用winapi函數?
- 21. 從HTML字符串調用php函數
- 22. PHP - 從IMG SRC調用一個函數
- 23. 無法從Javascript調用PHP函數
- 24. 從MySQL觸發器調用PHP函數
- 25. 如何從ajax調用php函數?
- 26. 如何從JavaScript調用PHP函數
- 27. 創建從PHP調用的Javascript函數
- 28. 從其他調用一個PHP函數?
- 29. 從AJAX調用Php函數不工作
- 30. 從html中調用php函數
的網絡服務,讓我知道是否也需要php;) – N3sh 2012-04-25 10:05:27
非常感謝! 只是還有一個問題,我可以調用例如PHP函數「函數getSettings($ value)」,它會將某些內容發回給Android?因爲我想在同一個php文件中使用一些函數,並在需要時單獨調用它們。 是否有命令? 再次感謝您。 – Wolf87 2012-04-25 10:11:29
如果你看到那裏,它已經返回一些東西('Y'或'N')。 所以,如果它像char,string等簡單的東西。你可以讀取緩衝區並'構建'響應並相應地使用它。否則,你需要做一些額外的:檢查我的這個問題,這將是有益的;)http://stackoverflow.com/questions/10186266/android-json-mysql-query-gives-networkonmainthreadexception – N3sh 2012-04-25 10:15:13