アプリからhttp://studentssp.wit.ie/Timetables/POSTT.aspxそのページにデータを送信したいのですが、その方法がわかりません。私がatmを試したのは、フォームの値のいくつかをURLに追加して、それが何かを変えるかどうかを確認することだけですが、そうではありません. たとえば、cboSchool=EP (select の name の値は cboSchool で、School of Adult Education の値は EP) を URL に入力して、その学校に関する情報のみが読み込まれるかどうかを確認します。http://studentssp.wit.ie/Timetables/POSTT.aspx?cboSchool=EP 私はアンドロイドに精通しており、aspx については何も知りません。
2 に答える
1- Webベースのモバイルアプリケーションについて話しているので、サーバー側と対話する必要がある場合は、Webサービスが必要です。
必要なサイトと統合するために必要なWebサービスを確認してください。
2-ほとんどのWebサービスは(Restful形式、SOAP)になります。Restfulの方が簡単です。任意のオープンソース解析SAX、XML形式のDOM、またはjsonのJsonパーサーを使用してデータを解析できます。
私はあなたに簡単な例をあげます:
これは通貨コンバータAPIであり、URLでパラメータを送信します。これはhttp Get requestのようになります: http ://www.google.com/ig/calculator?hl = en&q = 100GBP =?USD
「?hl = en&q = 1GBP =?USD」があります。2つの部分を持つパラメータは1キー2値です。h1はキー、enは値です。qはキー、1GEP =?USDは値です。
応答はjson形式になります{lhs: "100英国ポンド"、rhs: "161.47米ドル"、エラー: ""、icc:true}これはjsonを解析するためのリンクであることがわかります。
これがお役に立てば幸いです。
これで始められるはずです:
HttpClient httpClient = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(httpClient.getParams(), TIMEOUT_MS);
HttpConnectionParams.setSoTimeout(httpClient.getParams(), TIMEOUT_MS);
HttpPost httpPost = new HttpPost(url);
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("name1", "value1"));
nameValuePairs.add(new BasicNameValuePair("name2", "value2"));
nameValuePairs.add(new BasicNameValuePair("name3", "value3"));
// etc...
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpClient.execute(httpPost);
それはあなたがやろうとしていることでうまくいくはずだと思います。TIMEOUT_MS を 10000 (つまり、10 秒) に設定しています。
次に、次のようなものを使用してサーバーの応答を読み取ることができます。
BufferedReader br = new BufferedReader(new InputStreamReader(response.getEntity().getContent