Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android JSON解析,can';无法连接到服务_Android_Json_Url_Youtube_Connection - Fatal编程技术网

Android JSON解析,can';无法连接到服务

Android JSON解析,can';无法连接到服务,android,json,url,youtube,connection,Android,Json,Url,Youtube,Connection,我正在尝试编写一个调用服务并在Android应用程序中获取JSON数据的方法。假设已经声明了所有必需的gloable变量 以下是我正在使用的库: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConne

我正在尝试编写一个调用服务并在Android应用程序中获取JSON数据的方法。假设已经声明了所有必需的gloable变量

以下是我正在使用的库:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
这是我的密码:

public class JSONParser {

String url = "http://gdata.youtube.com/feeds/api/users/eon/uploads?&v=2&max-   results=50&alt=jsonc"; 

JSONObject jObj = null;
JSONArray ja = null;
String json = "";

// constructor
public JSONParser() {

 }



  public JSONObject getJSONFromUrl(String url){
    try {
          URL urlGetter = new URL(url);
        URLConnection tc = urlGetter.openConnection();
        BufferedReader in = new BufferedReader(new InputStreamReader(
                tc.getInputStream(), "iso-8859-1"), 8);

          StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = in.readLine()) != null) {
            sb.append(line + "\n");
        }


         json = sb.toString();
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

      //parse the string to a JSON object
    try {
        jObj = new JSONObject(json);
    } catch (JSONException e) {
        Log.e("JSON Parser", "Error parsing data " + e.toString());
    }
    return jObj;
   }
它只是不起作用,我试着在调试模式下运行,当它运行到这一行时:

BufferedReader in = new BufferedReader(new InputStreamReader(
            tc.getInputStream(), "iso-8859-1"), 8);
它抱怨:java.net.UnknownHostException:gdata.youtube.com 我不知道如何解决这个问题。。。有什么建议吗? 谢谢

顺便说一句,在我的android清单中,我已经允许互联网:


如果您在浏览器中查找url,您可以看到ti的json格式…它可以连接…但我的代码只是抱怨unknowhostexception…”http://gdata.youtube.com/feeds/api/users/eon/uploads?&v=2&max-结果=50&alt=jsonc”

我猜您需要使用..对url进行编码,因为url包含需要用%20替换的空间..请检查请将权限放在您的androidManifest.xml中

<uses-permission android:name="android.permission.INTERNET"/>

您是否通过手机/wifi连接到互联网?