private String singerCount="5";
public List<String> getSongerFromSongName(String songName) throws Exception
{
List<String> songers = null;
XmlPullParser parser = Xml.newPullParser();
parser.setInput(getXml(songName) , "UTF-8");
int event = parser.getEventType();
while (event != XmlPullParser.END_DOCUMENT)
{
switch (event)
{
case XmlPullParser.START_DOCUMENT:
songers = new ArrayList<String>();
break;
case XmlPullParser.START_TAG:
if ("name".equals(parser.getName()))
{
songers.add(parser.nextText());
}
break;
case XmlPullParser.END_TAG:
break;
}
event = parser.next();
}
return songers;
}
public InputStream getXml(String songName) throws Exception
{
String strUrl = "http://api.douban.com/music/subjects?tag=" + songName
+ "&start-index=1&max-results="+singerCount+"&apikey=0da34e8146d71dd228e9eb83d4855976";
ByteArrayInputStream stream = null;
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(strUrl);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String content = httpclient.execute(httpget , responseHandler);
stream = new ByteArrayInputStream(content.getBytes());
return stream;
}
httpGet 通信方式
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);
if (response.getStatusLine().getStatusCode() == 200)
{
Log.i("ss" , EntityUtils.toString(response.getEntity()));
}