Java Android Sax解析器HttpClient与Url有什么区别
大家好,我是Android开发的新手 我想知道以这种方式将流传递给解析器是否有任何区别Java Android Sax解析器HttpClient与Url有什么区别,java,android,sax,saxparser,Java,Android,Sax,Saxparser,大家好,我是Android开发的新手 我想知道以这种方式将流传递给解析器是否有任何区别 SAXParserFactory saxPF = SAXParserFactory.newInstance(); SAXParser saxP = saxPF.newSAXParser(); XMLReader xmlR = saxP.getXMLReader(); URL url = new URL("http://www.xmlfiles.com/examples/cd_catal
SAXParserFactory saxPF = SAXParserFactory.newInstance();
SAXParser saxP = saxPF.newSAXParser();
XMLReader xmlR = saxP.getXMLReader();
URL url = new URL("http://www.xmlfiles.com/examples/cd_catalog.xml"); // URL
XMLHandler myXMLHandler = new XMLHandler();
xmlR.setContentHandler(myXMLHandler);
xmlR.parse(new InputSource(url.openStream()));
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet("http://www.xmlfiles.com/examples/cd_catalog.xml");
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
SAXParserFactory saxPF = SAXParserFactory.newInstance();
SAXParser saxP = saxPF.newSAXParser();
XMLReader xmlR = saxP.getXMLReader();
XMLHandler myXMLHandler = new XMLHandler();
xmlR.setContentHandler(myXMLHandler);
xmlR.parse(new InputSource(entity.getContent()));
还是这样
SAXParserFactory saxPF = SAXParserFactory.newInstance();
SAXParser saxP = saxPF.newSAXParser();
XMLReader xmlR = saxP.getXMLReader();
URL url = new URL("http://www.xmlfiles.com/examples/cd_catalog.xml"); // URL
XMLHandler myXMLHandler = new XMLHandler();
xmlR.setContentHandler(myXMLHandler);
xmlR.parse(new InputSource(url.openStream()));
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet("http://www.xmlfiles.com/examples/cd_catalog.xml");
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
SAXParserFactory saxPF = SAXParserFactory.newInstance();
SAXParser saxP = saxPF.newSAXParser();
XMLReader xmlR = saxP.getXMLReader();
XMLHandler myXMLHandler = new XMLHandler();
xmlR.setContentHandler(myXMLHandler);
xmlR.parse(new InputSource(entity.getContent()));
第二个有什么优势吗?这两个选项中哪一个使用更少的内存?根据此链接()Android开发团队更喜欢在执行http/https操作时使用JavaSE http/https选项,而不是使用Apache HttpClient库。这是因为ApacheHttpClient库功能丰富,因此比java.net包更重。但是JavaSE的后续版本包含http/https特性,这些特性仍然是轻量级和高效的
除此之外,我个人认为Android开发人员更愿意离开Apache库,因为Apache不断增加内容,并不断否定可能会给开发团队带来额外开销的功能
要回答您的问题,第一个选项是Android团队希望您使用的方式