Android:无法连接到服务器:主机未解析:https

时间:2014-02-21 11:16:00

标签: android facebook-graph-api https

我正在创建一个显示用户Facebook照片的Android应用程序。我以json格式从facebook获取照片,并获得了图像位置,并在MatrixCursor imageUrls的帮助下存储在ArrayList中。我试图在GridView中显示图像。 代码如下所示:

JSONArray jsonArray = new JSONArray(jString);
String temp = jsonArray.getJSONObject(0).get("data").toString();
JSONArray jsonAlbumsArray = new JSONArray(temp);

MatrixCursor mcImages = new MatrixCursor(new String[] {"source","id"}); // properties from the JSONObjects

for (int i = 0; i < jsonAlbumsArray.length(); i++) {
      JSONObject jo = jsonAlbumsArray.getJSONObject(i);
      JSONArray ja = jo.getJSONArray("images");
      JSONObject joImages = ja.getJSONObject(0);
      mcImages.addRow(new Object[] {joImages.get("source"),jo.get("id")});
}

this.imageUrls= new ArrayList<String>();
this.imageIds= new ArrayList<String>();

for(int i=0;i<mcImages.getCount();i++){
    mcImages.moveToPosition(i);
    Log.d("columnName",mcImages.getColumnName(0).toString());
    int dataColumnIndex = mcImages.getColumnIndex("source");
    imageUrls.add(mcImages.getString(dataColumnIndex));
    dataColumnIndex = mcImages.getColumnIndex("id");
    imageIds.add(mcImages.getString(dataColumnIndex));
    //System.out.println(":>> Array path => "+imageUrls.get(i));
}
mcImages.close();

options = new DisplayImageOptions.Builder()
        .showStubImage(R.drawable.stub_image)
        .showImageForEmptyUri(R.drawable.image_for_empty_url)
        .cacheInMemory()
        .cacheOnDisc()
        .build();

imageAdapter = new ImageAdapter(this, imageUrls);

GridView gridView = (GridView) findViewById(R.id.gridview);
gridView.setAdapter(imageAdapter);

一切都很顺利但是当它显示图像时会抛出像这样的错误

E/ImageLoader(5394): Unable to connect to server: Host is unresolved: https

图像位置或网址的示例是

https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/t1/226654_10200335941702035_1975023945_n.jpg

StackTrace是:

02-21 05:54:14.403: E/ImageLoader(5708): Unable to connect to server: Host is unresolved: https
02-21 05:54:14.403: E/ImageLoader(5708): java.io.IOException: Unable to connect to server: Host is unresolved: https
02-21 05:54:14.403: E/ImageLoader(5708):    at libcore.net.url.FtpURLConnection.connect(FtpURLConnection.java:203)
02-21 05:54:14.403: E/ImageLoader(5708):    at libcore.net.url.FtpURLConnection.getInputStream(FtpURLConnection.java:300)
02-21 05:54:14.403: E/ImageLoader(5708):    at java.net.URL.openStream(URL.java:470)
02-21 05:54:14.403: E/ImageLoader(5708):    at com.nostra13.universalimageloader.core.download.ImageDownloader.getStreamFromFile(ImageDownloader.java:46)
02-21 05:54:14.403: E/ImageLoader(5708):    at com.nostra13.universalimageloader.core.download.ImageDownloader.getStream(ImageDownloader.java:27)
02-21 05:54:14.403: E/ImageLoader(5708):    at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.saveImageOnDisc(LoadAndDisplayImageTask.java:231)
02-21 05:54:14.403: E/ImageLoader(5708):    at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryLoadBitmap(LoadAndDisplayImageTask.java:139)
02-21 05:54:14.403: E/ImageLoader(5708):    at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.run(LoadAndDisplayImageTask.java:72)
02-21 05:54:14.403: E/ImageLoader(5708):    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
02-21 05:54:14.403: E/ImageLoader(5708):    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
02-21 05:54:14.403: E/ImageLoader(5708):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
02-21 05:54:14.403: E/ImageLoader(5708):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
02-21 05:54:14.403: E/ImageLoader(5708):    at java.lang.Thread.run(Thread.java:841)

为什么会这样?同时我从这个URL获得JSON响应

String url = "https://graph.facebook.com/"+albumId+"/photos?fields=images&access_token="+session.getAccessToken();

请帮助......

0 个答案:

没有答案