HttpParams params = new BasicHttpParams();
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(params, "utf-8");
SchemeRegistry registry = new SchemeRegistry();
registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
ThreadSafeClientConnManager manager = new ThreadSafeClientConnManager(params,
registry);
DefaultHttpClient client = new DefaultHttpClient(manager, params);
client.getCredentialsProvider().setCredentials(new AuthScope("stream.twitter.com", 80),
new UsernamePasswordCredentials("username", "password"));
HttpGet get = new HttpGet("http://stream.twitter.com/spritzer.xml");
try {
HttpResponse resp = client.execute(get);
int statusCode = resp.getStatusLine().getStatusCode();
if (statusCode == 200) {
InputStream stream = resp.getEntity().getContent();
XmlPullParserFactory factory;
factory = XmlPullParserFactory.newInstance();
XmlPullParser parser = factory.newPullParser();
parser.setInput(stream, "utf-8");
while (true) {
int event = parser.next();
if (event == XmlPullParser.START_TAG) {
String name = parser.getName();
if (name.equals("status")) {
String text = null;
String screenName = null;
while (true) {
event = parser.next();
if (event == XmlPullParser.START_TAG) {
name = parser.getName();
if (name.equals("text")) {
text = parser.nextText();
} else if (name.equals("user")) {
String userName;
while (true) {
int eventUser;
eventUser = parser.next();
userName = parser.getName();
if (eventUser == XmlPullParser.START_TAG) {
if (userName.equals("screen_name")) {
screenName = parser.nextText();
}
} else if (eventUser == XmlPullParser.END_TAG
&& userName.equals(("user"))) {
break;
}
}
}
} else if (event == XmlPullParser.END_TAG
&& parser.getName().equals("status")){
break;
}
}
System.out.println(screenName + ": " + text);
//have to reset the parser input after every status parse
parser.setInput(stream, "utf-8");
}
} else if (event == XmlPullParser.END_TAG
&& parser.getName().equals("statuses"))
break;
}
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
}