0

私はAndroidアプリケーションを開発していますが、サーバー側にアクセスする必要があります。これはasp.netのWebページとして実行されます。

以下はウェブページのURLです:

theWebPageURL?action=methodName&email=theEmail

このURLにアクセスし、それに電子メールパラメータを送信して応答を取得するためにどの方法を使用すればよいかわかりません。

私はたくさん検索しましたが、どれも機能しませんでした

誰か助けてくれませんか?

4

2 に答える 2

1

http getrequestHttpGetを使用する必要があります

この行をマニフェストファイルに追加します

<uses-permission android:name="android.permission.INTERNET" />

また、このリンクを確認してください

于 2012-08-26T13:09:40.753 に答える
1

これらの2つの類似した質問を確認することをお勧めします。

androidでHTTPリクエストを作成する

AndroidでHTTPGETリクエストにパラメータを追加するにはどうすればよいですか?


アップデート

以下のコードは、上記の2つのリンクの回答に基づいてまとめた実用的なサンプルです。これがあなたを助けるならば、彼らに感謝することを忘れないでください。

デモンストレーションのために、このサンプルのURIはhttp://www.google.com/search?q=androidに組み込まれています。

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Construct the URI
        String uri = "http://www.google.com/search?";       
        List<NameValuePair> params = new LinkedList<NameValuePair>();       
        params.add(new BasicNameValuePair("q", "android"));             
        uri += URLEncodedUtils.format(params, "utf-8");

        // Run the HTTP request asynchronously
        new RequestTask().execute(uri);    
    }

    class RequestTask extends AsyncTask<String, String, String>{

        @Override
        protected String doInBackground(String... uri) {
            HttpClient httpclient = new DefaultHttpClient();
            HttpResponse response;
            String responseString = null;
            try {
                response = httpclient.execute(new HttpGet(uri[0]));
                StatusLine statusLine = response.getStatusLine();
                if(statusLine.getStatusCode() == HttpStatus.SC_OK){
                    ByteArrayOutputStream out = new ByteArrayOutputStream();
                    response.getEntity().writeTo(out);
                    out.close();
                    responseString = out.toString();
                } else{
                    //Closes the connection.
                    response.getEntity().getContent().close();
                    throw new IOException(statusLine.getReasonPhrase());
                }
            } catch (ClientProtocolException e) {
                //TODO Handle problems..
            } catch (IOException e) {
                //TODO Handle problems..
            }
            return responseString;
        }

        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);                
            // result contains the response string.    
        }
    }
}

そしてもちろん、これをマニフェストに追加することを忘れないでください。

<uses-permission android:name="android.permission.INTERNET" />
于 2012-08-26T13:18:36.900 に答える