4

Androidアプリケーションからサーバー上の特定のphp関数を呼び出し、いくつかのパラメーターを送信したいと思います。これまで、HttpClientを使用してphpファイルを開き、Jsonへのデータ転送を実行して、それをアプリに表示できることを達成しました。だから、今私は特定の関数を呼び出してそれにパラメータを送信できるようにしたいのですが、どうすればそれを行うことができますか?ありがとう。

4

3 に答える 3

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'];

それはあなたの場合に役立つはずです:)

乾杯!

于 2012-04-25T09:55:49.903 に答える
1

これらの特定のphp関数を必要なパラメーターとともにWebサービスで提示またはラップアップし、Androidからの入力パラメーターを含むそのWebサービスを呼び出して、物事を成し遂げます。

于 2012-04-25T09:23:51.410 に答える
1

この作業には WebServices を使用する必要があります。 http://www.php.net/manual/en/book.soap.php

于 2012-04-25T09:25:05.367 に答える