透過POST與網頁交換資料
發表人:
Seachaos
積分: 2432
積分: 2432
Android是可以透過Http交換資料的,不過必須先引入apache相關類別
[sea:javaCode]
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
[/sea]
以下是Android透過POST方法與網頁溝通的程式碼
[sea:javaCode]
vtext.setText("Runing...");
/* Post Http Data */
String SyncURL="http://localhost";
String response;
HttpPost hp = new HttpPost(SyncURL);
HttpResponse hr;
List <NameValuePair> params = new ArrayList <NameValuePair>();
//Add Post Data
params.add(new BasicNameValuePair("data","Send...@@"));
params.add(new BasicNameValuePair("text","中文"));
try {
UrlEncodedFormEntity urf = new UrlEncodedFormEntity(params,HTTP.UTF_8);
hp.setEntity(urf);
hr = new DefaultHttpClient().execute(hp);
if(hr.getStatusLine().getStatusCode()==200){
response=EntityUtils.toString(hr.getEntity());
vtext.setText(response);
}else{
vtext.setTag("Error State:"+hr.getStatusLine().toString());
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
vtext.setText("Error..."+e.toString());
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
vtext.setText("Error..."+e.toString());
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
vtext.setText("Error..."+e.toString());
e.printStackTrace();
}
[/sea]
[sea:javaCode]
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
[/sea]
以下是Android透過POST方法與網頁溝通的程式碼
[sea:javaCode]
vtext.setText("Runing...");
/* Post Http Data */
String SyncURL="http://localhost";
String response;
HttpPost hp = new HttpPost(SyncURL);
HttpResponse hr;
List <NameValuePair> params = new ArrayList <NameValuePair>();
//Add Post Data
params.add(new BasicNameValuePair("data","Send...@@"));
params.add(new BasicNameValuePair("text","中文"));
try {
UrlEncodedFormEntity urf = new UrlEncodedFormEntity(params,HTTP.UTF_8);
hp.setEntity(urf);
hr = new DefaultHttpClient().execute(hp);
if(hr.getStatusLine().getStatusCode()==200){
response=EntityUtils.toString(hr.getEntity());
vtext.setText(response);
}else{
vtext.setTag("Error State:"+hr.getStatusLine().toString());
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
vtext.setText("Error..."+e.toString());
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
vtext.setText("Error..."+e.toString());
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
vtext.setText("Error..."+e.toString());
e.printStackTrace();
}
[/sea]
發表人:
Seachaos
積分: 2432
積分: 2432
另外需要在AndroidManifest.xml申請權限
android.permission.INTERNET
android.permission.INTERNET
發表人:
訪客
謝謝分享,但是我可以請問一個問題嗎? 其實我爬文爬了兩天了,但是還是沒有找到可以將android連線到mysql的明確方法。我是使用xampp去架,可以用android的wifi,並用瀏覽器連線到我架的phpadmin網頁,但是我想要用的是程式直接讀取mysql裡面的資料庫,不知道該怎麼用? 或者是我的想法是把mysql轉出來的sql檔讓android可以讀取,但是我不知道該怎麼轉? 是要轉成db檔嗎?還是android也可以讀sql檔或csv檔?
發表人:
elephant
積分: 12
積分: 12
或者可以透過apache去溝通?還是要灌些connector driver 之類的?
發表人:
訪客
你好~我想請問一下~
android手機要怎麼從asp.net的網頁收到封包
(類似php的echo)
android手機要怎麼從asp.net的網頁收到封包
(類似php的echo)
發表人:
Seachaos
積分: 2432
積分: 2432
您好asp.net只要print出資料就ok
Android 收資料和ASP或PHP沒有關係,因為都是HTML
Android 收資料和ASP或PHP沒有關係,因為都是HTML
發表人:
訪客
請問一下
php的部分怎麼寫
我寫了一個範例它一直拒絕我連線
不然就是資料在手機端就丟不出去了
php的部分怎麼寫
我寫了一個範例它一直拒絕我連線
不然就是資料在手機端就丟不出去了
發表人:
Seachaos
積分: 2432
積分: 2432
您好:
你可以先透過php echo的方式來看手機與PHP Server是否有連接
如果沒有的話可能要檢查一下是否有防火牆擋住
或是如果方便的話可以貼上一些程式碼讓我看看
你可以先透過php echo的方式來看手機與PHP Server是否有連接
如果沒有的話可能要檢查一下是否有防火牆擋住
或是如果方便的話可以貼上一些程式碼讓我看看
發表人:
訪客
請問一下..vb架的主機端要如何和android接收和傳送字串
發表人:
訪客
你說VB端是說Socket?
還是ASP.NET?
還是ASP.NET?
發表人:
訪客
asp.net :)))
發表人:
Seachaos
積分: 2432
積分: 2432
ASP.NET做法也是一樣的
就是利用ASP.NET去做運算
然後show出html或xml格式給Android
他再去抓資料下來
就是利用ASP.NET去做運算
然後show出html或xml格式給Android
他再去抓資料下來
發表人:
訪客
請問一下...有沒有範例檔^^"(asp..net的vb)
發表人:
訪客
受益良多 謝謝學弟分享 XD
發表人:
Seachaos
積分: 2432
積分: 2432
[quote]訪客 提到:
請問一下...有沒有範例檔^^"(asp..net的vb)[/quote]
基本上來講,你把ASP.NET當作HTML來跑就對了
先讓Android可以Catch到資料為主
請問一下...有沒有範例檔^^"(asp..net的vb)[/quote]
基本上來講,你把ASP.NET當作HTML來跑就對了
先讓Android可以Catch到資料為主
發表人:
訪客
不好意思 我想知道如何抓取台北公車方面資料,我現在想先試看看讀取台北公車方面的系統資料而我也利用wireshark去抓看看5284文字版路線查詢的資料
我本是想試看看能不能找到台北公車的資料庫位置,這樣就能連到資料庫抓到公車資料。
但我似乎只能找到單筆公車的位置,無法直接連上他們的資料庫,這樣要收集全部資料庫似乎會有難度。
想請問你如何抓到台北方面的公車資料?
你又要如何從5284網站查詢得到資料傳到手機上的?
我本是想試看看能不能找到台北公車的資料庫位置,這樣就能連到資料庫抓到公車資料。
但我似乎只能找到單筆公車的位置,無法直接連上他們的資料庫,這樣要收集全部資料庫似乎會有難度。
想請問你如何抓到台北方面的公車資料?
你又要如何從5284網站查詢得到資料傳到手機上的?
發表人:
Seachaos
積分: 2432
積分: 2432
[quote]訪客 提到:
不好意思 我想知道如何抓取台北公車方面資料,我現在想先試看看讀取台北公車方面的系統資料而我也利用wireshark去...[/quote]
不用到wireshark這麼底層
5284只是單純的網頁
可以從這邊著手
http://e-bus.taipei.gov.tw/pda/route.aspx
行動版的網頁比較簡單
(我記得映象中有看過JSON版的,那會更好)
可以進行文字的截取
然後就可以取出各站的時間
如果要收集所有資料就要慢慢建表或利用官方的查詢係統來達成
參考看看
不好意思 我想知道如何抓取台北公車方面資料,我現在想先試看看讀取台北公車方面的系統資料而我也利用wireshark去...[/quote]
不用到wireshark這麼底層
5284只是單純的網頁
可以從這邊著手
http://e-bus.taipei.gov.tw/pda/route.aspx
行動版的網頁比較簡單
(我記得映象中有看過JSON版的,那會更好)
可以進行文字的截取
然後就可以取出各站的時間
如果要收集所有資料就要慢慢建表或利用官方的查詢係統來達成
參考看看
發表人:
訪客
請問若是使用IIS的話
前面APACHE引入的部分要如何更改??
前面APACHE引入的部分要如何更改??
發表人:
Seachaos
積分: 2432
積分: 2432
你好:
不太清楚你的意思
你是說IIS上的PHP?
還是Apache有問題??
不太清楚你的意思
你是說IIS上的PHP?
還是Apache有問題??
發表人:
訪客
[quote]Seachaos 提到:
你好:
不太清楚你的意思
你是說IIS上的PHP?
還是Apache有問題??[/quote]
[quote]Seachaos 提到:
你好:
不太清楚你的意思
你是說IIS上的PHP?
還是Apache有問題??[/quote]
噢 不好意思沒說清楚
我們專案電腦是使用IIS+ASP.NET
不過目前手上的書跟網路上所找到的幾乎都是Apache+Php
所以想請教一下語法該怎跟改 謝謝~
你好:
不太清楚你的意思
你是說IIS上的PHP?
還是Apache有問題??[/quote]
[quote]Seachaos 提到:
你好:
不太清楚你的意思
你是說IIS上的PHP?
還是Apache有問題??[/quote]
噢 不好意思沒說清楚
我們專案電腦是使用IIS+ASP.NET
不過目前手上的書跟網路上所找到的幾乎都是Apache+Php
所以想請教一下語法該怎跟改 謝謝~