2011-05-25 31 views
0

我想知道是否有可能從網站加載一個框架,填充一個文本框,按下提交按鈕,並採取從該頁面的結果?我需要做的這個背景,所以我Webview是一直沒有露面,只有一個EditText和一個TextView的顯示...的Android的WebView點擊模擬

回答

-1

你就不能使用HTTP請求你所提到的東西嗎? 你需要什麼WebView?

+0

還有一些頁面,其中用戶輸入的數據進行了一些計算。並在服務器進行計算後在該頁面中顯示結果。我可以使用所有頁面的http請求嗎? – 2011-05-25 20:40:41

+0

給我確切的頁面,我可以看看。 – FiDo 2011-05-25 20:53:43

+0

一頁的一個例子進行甚至http://www.md5.cz/這可以從Java很容易地計算,這是一個例子。我的網頁尚不存在,但即將推出。 – 2011-05-25 20:58:38

-1

您可以使用HTTPGET得到的頁面和httpPost當用戶按下提交後的結果。您所要做的就是確保該文章能夠傳輸網頁期望的數據,並且使用它期望的格式。

檢查需要什麼的好方法是使用Firefox Live HHTP頭添加(https://addons.mozilla.org/en-US/firefox/addon/live-http-headers/)。

例如,GET可能是

URI uri = new URI(<your URL here>); 
HttpGet request = new HttpGet(uri); 
HttpResponse response = defaultHttpClient.execute(request); 
HttpEntity entity = response.getEntity(); 
String content = EntityUtils.toString(entity); 

然後你把你與編輯文本框和按鈕等Android的視圖當用戶按下提交,你得到的文本形式編輯的文本框,然後如下構建一個POST。

URI uri = new URI(<your URL here - without a host>); 
HttpPost request = new HttpPost(urri); 
request.setHeader("Content-type", "application/x-www-form-urlencoded"); 

List<NameValuePair> bodyParams = new ArrayList<NameValuePair>(); 
bodyParams.add(new BasicNameValuePair(<parameter name string>, <parameter value string>); 
// repeat additional bodyParams.add() as necessary for further parameters 
request.setEntity(new UrlEncodedFormEntity(bodyParams, HTTP.UTF_8)); 
HttpHost httpHost = new HttpHost(<your host here>); 
HttpResponse response = defaultHttpClient.execute(httpHost, request); 
HttpEntity entity = response.getEntity(); 
String content = EntityUtils.toString(entity); 
+0

,但用戶不會按網頁上的提交按鈕,他會按標準的android按鈕...我需要填寫數據到網頁形式並提交它,並得到迴應...但我不知道如何做到這一點...... – 2011-05-25 21:03:28

+0

我的答案中的代碼是當用戶在Android視圖中按下按鈕(例如提交)時需要發送數據的代碼。我只是建議你在瀏覽器中使用Firefox Live HHTP Headers來檢查Web服務器期望的數據 - 這就是bodyParams中的內容。 – Torid 2011-12-17 00:53:44