3

いくつかのドロップダウン ボックスがある Web サイトがあります。サイトから値を取得する Android アプリを作成しました。ウェブサイトに検索ボックスがあり、ウェブサイトでボックスからオプションを選択して送信を押すと、選択したオプションに基づいて結果が表示されます。アプリで同じことをする必要があります。助けが必要です。ありがとう

4

1 に答える 1

4

Web サイトにデータを投稿するには、HTTP POST 要求を Web サイトに送信します。送信したいデータを配列に入れてphpスクリプトに送信できます。

String がサーバーに送信される ID を特定する必要があります。私の例では、your_1 と your_2 です。これは、各 Web サイトによって異なります。すべての新しいブラウザーは、開発者コンソールなどでこれを読み取ることができます。

public void postData() {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php");

try {
    // Add your data
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
    nameValuePairs.add(new BasicNameValuePair("your_1", "data 1"));
    nameValuePairs.add(new BasicNameValuePair("your_2", "data 2"));
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

    // Execute HTTP Post Request
    HttpResponse response = httpclient.execute(httppost);

} catch (ClientProtocolException e) {
    // TODO Auto-generated catch block
} catch (IOException e) {
    // TODO Auto-generated catch block
}

これを送信した後、StringBuilder で読み取ることができる応答を取得する必要があります。

private StringBuilder inputStreamToString(InputStream is) {
String line = "";
StringBuilder total = new StringBuilder();

// Wrap a BufferedReader around the InputStream
BufferedReader rd = new BufferedReader(new InputStreamReader(is));

// Read response until the end
while ((line = rd.readLine()) != null) { 
    total.append(line); 
}

// Return full string
return total;
}

これで応答が得られ、正規表現を使用して特別なテキストを強調できます。これは少しトリッキーですが、これが役に立ちます。

于 2013-03-14T18:17:22.750 に答える