I'm new to android development and am trying to start learning the
basics by decoding a RSS feed. I want to store the appropriate info
(title, link, etc) into
the appropriate corresponding strings. I have the below, which will
search for anything that starts with <t (for title), and store the
corresponding values into a char array. I then search for the end
bracket ('</") and stop storing the information. I then convert the
char array into a string, and toast the string when I press button 1.
My problem is, when I press the button, it toasts a blank box, meaning
that the string is empty. Does anyone have any idea on how to fix
this? Thanks!
My Code:
package rssread.withoutinernet;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class RssReaderNoInternetActivity extends Activity {
Button button1;
Button button2;
Button button3;
String RSS_String = "<?xml version='1.0' encoding='UTF-8'?><rss
xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://
a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/
georss' xmlns:thr='http://purl.org/syndication/thread/1.0'
version='2.0'>"
+
"<channel><atom:id>tag:blogger.com,1999:blog-7784086607297621793</
atom:id><lastBuildDate>Thu, 01 Dec 2011 20:42:16 +0000</
lastBuildDate><title>Bird's eye view</title>"
+
"<description></description><link>http://blogname.blogspot.com/</
link><managingEditor>[email protected] (blonde ambition)</
managingEditor>"
+
"<generator>Blogger</generator><openSearch:totalResults>0</
openSearch:totalResults><openSearch:startIndex>1</
openSearch:startIndex><openSearch:itemsPerPage>25</
openSearch:itemsPerPage></channel></rss>";
int counter = 0;
int title_counter = 0;
int bounce;
char[] rss = RSS_String.toCharArray();
char[] title;
String Title_String;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
RSSDecode();
test();
Listeners();
}
public void Listeners() {
// Title
button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(getApplicationContext(),
RSS_String,
Toast.LENGTH_SHORT).show();
}
});
// Description
button2 = (Button) findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(getApplicationContext(),
Title_String,
Toast.LENGTH_SHORT).show();
}
});
// Link
button3 = (Button) findViewById(R.id.button3);
button3.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(getApplicationContext(),
"Var3Goeshere",
Toast.LENGTH_SHORT).show();
}
});
}
public void test(){
title[1]= 'c';
title[2]= 'o';
Title_String = title.toString();
}
public void RSSDecode() {
try {
while (counter <= 500) {
if (RSS_String.charAt(counter) == '<') {
if (RSS_String.charAt(counter + 1) ==
't') {
counter = counter + 8;
bounce = 0;
while (bounce == 0) {
// Test if its the end
if
(RSS_String.charAt(counter) == '<') {
if
(RSS_String.charAt(counter + 1) == '/') {
bounce
= 1;
}
}
//Store values into
char array and convert into string
title[title_counter] =
(RSS_String.charAt(counter));
counter = counter + 1;
title_counter =
title_counter + 1;
}
}
}
Title_String = title.toString();
counter = counter + 1;
}
} catch (Exception e) {
Toast.makeText(getApplicationContext(), e.toString(),
Toast.LENGTH_SHORT);
}
}
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en