import com.tistory.croute17.xmlparser.adapter.*;
import java.net.URL;
import java.util.ArrayList;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.ListView;
import android.widget.TextView;
public class XMLParser extends Activity {
ArrayList<TitleList> titleList = new ArrayList<TitleList>();
ListView lv = null;
TitleList title_text = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
startParsing();
}
public void startParsing()
{
lv = (ListView)findViewById(R.id.title_list);
try{
URL text = new URL( "http://croute17.tistory.com/rss" );
XmlPullParserFactory parserCreator = XmlPullParserFactory.newInstance();
XmlPullParser parser = parserCreator.newPullParser();
parser.setInput( text.openStream(), null );
TextView topText = (TextView) findViewById( R.id.topText );
topText.setText("http://croute17.tistory.com/rss parsing");
int parserEvent = parser.getEventType();
String tag;
boolean inTitle = false;
while (parserEvent != XmlPullParser.END_DOCUMENT )
{
switch(parserEvent)
{
case XmlPullParser.TEXT:
tag = parser.getName();
if (inTitle)
{
String gText = parser.getText();
title_text = new TitleList(gText);
titleList.add(title_text);
Log.i("Parser Information", "title : " + gText );
}
break;
case XmlPullParser.END_TAG:
tag = parser.getName();
if (tag.compareTo("title") == 0)
{
inTitle = false;
}
break;
case XmlPullParser.START_TAG:
tag = parser.getName();
if (tag.compareTo("title") == 0)
{
inTitle = true;
}
break;
}
parserEvent = parser.next();
}
}
catch( Exception e )
{
Log.e("INTERNET ERROR", "Error in network call", e);
}
TitleAdapter ta = new TitleAdapter(this, R.layout.row, titleList);
lv.setAdapter(ta);
}
}