Android: Trying to get data from youtube api

2019-01-23 21:40发布

问题:

I'm attempting to get data from http://gdata.youtube.com/feeds/api/standardfeeds/recently_featured?&start-index=1&max-results=15&v=2 and print the titles of the videos, but I get an exception in the line

            int responseCode = httpConnection.getResponseCode(); 

what's the problem? Any other way to get this data?

My code:

URL url;


    try {
                String featuredFeed = "http://gdata.youtube.com/feeds/api/standardfeeds/recently_featured?&start-index=1&max-results=15&v=2";

                url = new URL(featuredFeed);

                URLConnection connection;
                connection = url.openConnection();

                HttpURLConnection httpConnection = (HttpURLConnection)connection; 


                int responseCode = httpConnection.getResponseCode(); 


                if (responseCode == HttpURLConnection.HTTP_OK) { 
                  InputStream in = httpConnection.getInputStream(); 

                  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
                  DocumentBuilder db = dbf.newDocumentBuilder();

                  // Parse the earthquake feed.
                  Document dom = db.parse(in);      
                  Element docEle = dom.getDocumentElement();



                  // Get a list of each earthquake entry.
                  NodeList nl = docEle.getElementsByTagName("entry");
                  if (nl != null && nl.getLength() > 0) {
                    for (int i = 0 ; i < nl.getLength(); i++) {
                      Element entry = (Element)nl.item(i);
                      Element title = (Element)entry.getElementsByTagName("title").item(0);


                      String titleStr = title.getFirstChild().getNodeValue();


                      VideoCell cell = new VideoCell(titleStr);

                      // Process a newly found earthquake
                      addVideoCellToArray(cell);
                    }
                  }
                }
              } catch (MalformedURLException e) {
                e.printStackTrace();
              } catch (IOException e) {
                e.printStackTrace();
              } catch (ParserConfigurationException e) {
                e.printStackTrace();
              } catch (SAXException e) {
                e.printStackTrace();
              }
              finally {
              }

EDIT: Problem solved. Forgot to add internet permissions!

回答1:

Problem solved. Always remember to add internet permission!