Я пытаюсь прочитать более чем одну ссылку rss из файла txt источника xml в коде ниже. В качестве разделителя я использую ;
. От отладки, кажется, посылает все ссылки на RSS_LINK
, что явно не сработает.Использование stringbuilder и bufferedreader для чтения более чем одной ссылки
StringBuilder rsslink = new StringBuilder();
InputStream is = getResources().openRawResource(R.raw.xmlsource);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = null;
try {
while ((line = br.readLine()) != null)
{
rsslink.append(line) ;
}
String [] arr = rsslink.toString().split(";");
for (int i = 0; i < arr.length; i++)
{
}
}
catch (IOException e)
{
e.printStackTrace();
}
String RSS_LINK = rsslink.toString();
Log.d(Constants.TAG, "Service started");
List<RssItem> rssItems = null;
try
{
XMLRssParser parser = new XMLRssParser();
rssItems = parser.parse(getInputStream(RSS_LINK));
}
catch (XmlPullParserException e)
{
Log.w(e.getMessage(), e);
}
catch (IOException e)
{
Log.w(e.getMessage(), e);
}
Bundle bundle = new Bundle();
bundle.putSerializable(ITEMS, (Serializable) rssItems);
ResultReceiver receiver = intent.getParcelableExtra(RECEIVER);
receiver.send(0, bundle);
}
Новый код
protected void onHandleIntent(Intent intent)
{
StringBuilder rsslink = new StringBuilder();
InputStream is = getResources().openRawResource(R.raw.xmlsource);
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = null;
try {
while ((line = br.readLine()) != null)
{
rsslink.append(line) ;
}
String [] arr = rsslink.toString().split(";");
for (int i = 0; i < arr.length; i++)
{
String RssLink = arr[i];
Log.d(Constants.TAG, "Service started");
List<RssItem> rssItems = null;
try
{
XMLRssParser parser = new XMLRssParser();
rssItems = parser.parse(getInputStream(RssLink));
}
catch (XmlPullParserException e)
{
Log.w(e.getMessage(), e);
}
catch (IOException e)
{
Log.w(e.getMessage(), e);
}
Bundle bundle = new Bundle();
bundle.putSerializable(ITEMS, (Serializable) rssItems);
ResultReceiver receiver = intent.getParcelableExtra(RECEIVER);
receiver.send(0, bundle);
}
}
catch (IOException e)
{
e.printStackTrace();
}
Спасибо, я получил его на несколько работу, перемещая обработку части в течение цикла, а затем посылает 'RSS_LINK = обр [ i] 'Проблема, с которой сталкивается сейчас, состоит в том, что она циклически перемещается по ссылкам и избавляется от предыдущей ссылки, когда она возвращается в начало цикла, поэтому она отображает только содержимое ссылки, которая находится внутри цикла. –
Можете ли вы опубликовать новый код? – jboi
Отправленный новый код под старым –