2012-02-14 68 views
1

我試圖從發展方式的AppEngine服務器獲取的圖像,使用該代碼here如何從AppEngine上服務器圖像到Android的活動

HttpGet httpRequest = new HttpGet(URI.create(url)); 
HttpClient httpclient = new DefaultHttpClient(); 
HttpResponse resp = (HttpResponse) httpclient.execute(httpRequest); 
HttpEntity entity = resp.getEntity(); 
BufferedHttpEntity bufHttpEntity = new BufferedHttpEntity(entity); 
InputStream instream = bufHttpEntity.getContent(); 
bmp = BitmapFactory.decodeStream(instream); 

執行3號線(HttpClient的當。執行(..))我得到的錯誤:

W/System.err(508): org.apache.http.conn.HttpHostConnectException: Connection to http://0.0.0.0:8888 refused

此URL http://0.0.0.0:8888是正確的,我相信,因爲在這個應用程序引擎連接的Android項目,我能夠與在瀏覽器客戶端這個地址來獲取圖像的項目。 (同樣,我處於本地開發模式)

爲什麼此連接被拒絕?謝謝。

回答

4

http://0.0.0.0:8888肯定是不正確的。您需要使用運行App引擎開發服務器的計算機的IP地址。如果你在一個本地網絡上,就像192.168.x.xxx。在Windows上輸入ipconfig或在終端的Linux上輸入/sbin/ifconfig以查找開發計算機的地址。然後使用它從Android訪問它。

+0

如果我把http://0.0.0.0:8888/...直接放到我的瀏覽器中,它會顯示我想要在android應用程序中獲取的圖像。此外,該應用程序的GWT客戶端使用相同的地址用於獲取圖像相同的目的,它也在那裏工作,所以地址在某些方面至少是正確的。不知道爲什麼它不能在Android端工作。 – aez 2012-02-14 12:10:22

+0

但是,當我在應用程序的Android端使用192.168 ....時,它實際上能夠獲取圖像。任何想法,爲什麼它在GWT方面,但不是Android方面? – aez 2012-02-14 12:20:59

+0

'0.0.0.0'不是可以從另一臺機器連接的地址,它與127.0.0.1(localhost,loopback)地址類似。它意味着'本地機器上的所有地址'。這就是它在桌面上運行的原因。但是,如果你想從另一臺機器連接,在這種情況下你的Android設備,你需要使用一個真實的接口地址。使用上面的命令找出你的是什麼。 – 2012-02-14 12:24:04

相關問題