私はAndroidアプリケーションからサーバー上の特定のPHP関数を呼び出し、いくつかのパラメータを送信したいと思います。これまで私は、HttpClientを使ってPHPファイルを開き、Jsonにデータ転送を実行し、それを私のアプリで表示できることを達成しました。だから、私は特定の関数を呼び出してそれにパラメータを送ることができるようになりたい、どうすればいいのですか?おかげさまで アンドロイドから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));
をあなたはパラメータを送信することができます。
このメソッドは単にUserとPasswordをregister.phpに送信します。 ユーザーが既に使用されている場合は、「N」が戻されます。それ以外の場合はUserを作成して 'Y'を返します。
サーバ側では、そのように、POST情報として扱う:
$user = $_POST['User'];
それはあなたのケースのために行う必要があります:)
乾杯を!
1
1
この作業にはWebServicesを使用する必要があります。ここで http://www.php.net/manual/en/book.soap.php
関連する問題
- 1. 関数呼び出しから関数呼び出し名を抽出する
- 2. PHP関数から関数を呼び出す
- 3. jquery関数からphp関数を呼び出す方法
- 4. 関数内から関数を呼び出しますか?
- 5. アンドロイドはフラグメントからMainActivity関数を呼び出す
- 6. フォーム提出後にPHPからjavascript関数を呼び出す
- 7. 呼び出された関数から(元の関数で)javascript関数を呼び出していますか?
- 8. PHP関数の呼び出しスコープを取得しますか?
- 9. (PHP/Postgresql)voidを返す関数を呼び出しますか?
- 10. PHP内部の関数からJSONデータを呼び出していますか?
- 11. 画像のonclickからphp関数を呼び出しますか?
- 12. 親からの呼び出し関数
- 13. 関数呼び出しからのシーケンスポイント?
- 14. JNAからC関数呼び出し
- 15. アングルウォッチから関数を呼び出す
- 16. .innerHTMLから関数を呼び出す
- 17. プロンプトボックスから関数を呼び出す
- 18. クラスから関数を呼び出す
- 19. モジュールから関数を呼び出す
- 20. PHP PDO:メンバー関数prepare()&listを呼び出しますか?
- 21. Python:setterが呼び出されたら関数を呼び出しますか?
- 22. PHP関数file_put_contentsを呼び出す内部JQueryから
- 23. php - 拡張クラスから静的関数を呼び出す
- 24. PHPファイルからjs関数を呼び出す
- 25. 別のPHPファイルから関数を呼び出す方法は?
- 26. PHPからJavaScript関数を呼び出す方法は?
- 27. phpループからJavaスクリプト関数を呼び出す
- 28. phpからjavascript関数を呼び出す
- 29. PHPからJS関数を呼び出す
- 30. 別のファイルからphp関数を呼び出す方法は?
からウェブサービスへのパラメータとして都市名を送信するだけで、PHPが必要な場合は教えてください;) – N3sh
ありがとうございました! ちょうどもう1つの質問ですが、例えば、関数getSettings($ value) "を呼び出すことができます。これはAndroidに何かを送り返しますか?なぜなら、私は同じPHPファイル内にいくつかの関数を必要とし、必要なときにそれらを別々に呼び出すからです。 そのコマンドはありますか? もう一度ありがとうございます。 – Wolf87
そこに表示されている場合は、既に何かが返されています( 'Y'または 'N'のいずれか)。 それは、char、文字列などのような単純なものであれば、バッファを読み込んでレスポンスをビルドし、それに従って使用することができます。それ以外の場合は余分なことをする必要があります:私のこの質問をチェックしてください、それは参考になります;)http://stackoverflow.com/questions/10186266/android-json-mysql-query-gives-networkonmiththreadexception – N3sh