Web サービス経由で mysql からデータを取得するクラスを実装しようとしています。以前は http 投稿を使用してテーブルから情報を取得していましたが、今回はユーザーが editText に文字列を入力し、検索を押してテキストビューを押してクエリを表示することを意図しています。たとえば、mysql テーブルに 2 つの列があるとします。 : 姓名; Firstname を検索して姓を取得できるようにしたい (EditText に Firstname を入力し、その人の姓を表示する) PHP スクリプトを開発しましたが、入力に基づいて HTTP get メソッドを使用することは可能ですか?ストリング?どうやって?PHPリンクに直接向かうチュートリアルしか見たことがありません
2644 次
2 に答える
1
GETを使用するには、値をURLにエンコードするだけです。
String url = "http://myserver.net/script.php?first=" + URLEncoder.encode(first) +
"&last=" + URLEncoder.encode(last);
次に、HttpClientでHttpGetオブジェクトを使用します。
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(new HttpGet(url));
応答の処理は、投稿した場合と同じです。
于 2012-04-12T16:45:58.587 に答える
1
これは、投稿リクエストを使用して php ファイルに渡すことができる NameValuePairs を使用してそれを行う方法の例です。
private void sendData(ArrayList<NameValuePair> data)
{
// 1) Connect via HTTP. 2) Encode data. 3) Send data.
try
{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new
HttpPost("http://www.blah.com/AddAccelerationData.php");
httppost.setEntity(new UrlEncodedFormEntity(data));
HttpResponse response = httpclient.execute(httppost);
Log.i("postData", response.getStatusLine().toString());
//Could do something better with response.
}
catch(Exception e)
{
Log.e("log_tag", "Error: "+e.toString());
}
}
ここで、このメソッドを使用して情報 (つまり、パラメーターを php ファイルに渡す) を使用するとします。
//Add data to be send.
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("parameter",editTextValue));
this.sendData(nameValuePairs);
PHP側では、次のように呼び出してこのパラメーター値を取得できます。
//Retrieve the data.
$parameter = $_POST['parameter'];
//Now call on your query or function or w/e it is using this parameter.
于 2012-04-12T16:41:02.310 に答える