Rss Reader

  • 14 Antworten
  • Neuester Beitrag
Diskutiere Rss Reader im Android App Entwicklung im Bereich Betriebssysteme & Apps.
B

BärBalu

Neues Mitglied
Hallo ich bin der BärBalu :thumbsup:

Habt ne tolle Website!!!


Ich hab mal ne frage.
Ich bastel gerade an einer App bissl rum und nun würde ich gern Rss Feed anzeigen lassen.
Eigentlich war sowas gar nicht geplant aber nun wünschen es sich einige und ich würde gern Ihren wunsch erfüllen.

Ich habe mich an dem Tutorial von hier gehalten: Erstellen eines RSS Reader App für Android | Tutorial. Soweit so gut.

Nach diesem Tutorial liest er aber nicht den Feed der von uns kommt.

Hier mal die zwei Feeds:
- aus dem TUT: heise online Top-News
- die ich bräucht: SHG App

Der Besitzer dieser Seite hat mich nun drauf aufmerksam gemacht, das ich die Parser ändern muss.

Ich seh zwar den unterschied beider Rss Feeds aber keine Ahnung wo ich was wie ändern muss. Bin da auf dem Gebiet noch sehr unerfahren.

Könnte mir bitte einer helfen?

EDIT: falls es hier schon ein Thema drüber gibt, tut es mir leid das ich es nicht gefunden haben
 
Zuletzt bearbeitet:
StefMa

StefMa

Experte
Schonmal mit html bzw xhtml im generellen auseinander gesetzt?
Weist du was tags sind?

Nein? -> einlesen :)

Gesendet von meinem Nexus 10 mit der Android-Hilfe.de App
 
B

BärBalu

Neues Mitglied
Also hatte vor 3 Jahren oder so mit PHP zu tun und etwas HTML.

Sry das ich gefragt habe.
Es war ja eigentlich nicht geplant so was mit rein zu nehmen.

Edit: Na Tags sind doch sowas womit man etwas besser zuordnen kann.

PS: Ich möchte ja kein Code von euch, nur ein Tipp wonach ich suchen muss.
 
Zuletzt bearbeitet:
ChrisiBoy

ChrisiBoy

Erfahrenes Mitglied
Schaue dir beide RSS an und du wirst schon einen Unterschied finden ;)

Sent from my GT-I9100 using Android-Hilfe.de App
 
B

BärBalu

Neues Mitglied
Ja ich finde den Unterschied schon. Das eine ist mit entry usw aufgebaut der andere auf Item,....

Nur weis ich absolut nicht in welcher Datei uch suchen muss um das zu ändern?
Also vermuten tuh ich in der Handler aber weis halt nicht genau
 
ChrisiBoy

ChrisiBoy

Erfahrenes Mitglied
Oh du Hast also statt das Tutorial durchlesen den kompletten Code kopiert und gehofft es funktioniert einfach mal?

Na such mal im kompletten Code nach "entry"

Sent from my GT-I9100 using Android-Hilfe.de App
 
B

BärBalu

Neues Mitglied
Ich dachte derjenige hat den anderen Code von heise aber er hat sich umentschieden und nun sitze ich da wie ein Brot.

Ja auf der Datei bin ich ja.
Wo "entry" steckt weiß ich ja auch. Nur was ich dafür eingeben sollte. ich schätze da eher "item" oder so
 
ChrisiBoy

ChrisiBoy

Erfahrenes Mitglied
Probiers doch einfach mal ;)
Wenn es nicht funktioniert Frage wieder hier

Sent from my GT-I9100 using Android-Hilfe.de App
 
B

BärBalu

Neues Mitglied
Also die News wird schjon mal angezeigt.
Klicke ich drauf, stürzt es aber aber. :(

Den Code,
final private String LINK_ATTR_HREF = new String("href");

habe ich entfernt, da dieser ja nicht in der rss vorhanden ist.

Jetzt denke ich muss ich mir was mit dem content einfallen lassen, da der auch nicht da ist.
So sieht es gerade aus:
public class Handler extends DefaultHandler{



final private String ITEM = new String("item");

final private String TITLE = new String("title");

final private String LINK = new String("link");


private boolean itemBoolean;

private boolean titleBoolean;

private String contentTitle;

private Content myContent;


public Handler(Content content){
myContent = content;
}
 
Zuletzt bearbeitet:
ChrisiBoy

ChrisiBoy

Erfahrenes Mitglied
Wenn sie abstürzt --> LogCat postem

Sent from my GT-I9100 using Android-Hilfe.de App
 
B

BärBalu

Neues Mitglied
04-20 15:06:53.403: D/dalvikvm(124): GC_EXTERNAL_ALLOC freed 1468 objects / 79592 bytes in 54ms
04-20 15:06:57.203: I/ActivityManager(58): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=de.shglandapp/.MainActivity }
04-20 15:06:57.272: I/ActivityManager(58): Start proc de.shglandapp for activity de.shglandapp/.MainActivity: pid=309 uid=10038 gids={3003}
04-20 15:06:57.992: D/dalvikvm(309): GC_EXTERNAL_ALLOC freed 807 objects / 57016 bytes in 77ms
04-20 15:06:58.473: I/ActivityManager(58): Displayed activity de.shglandapp/.MainActivity: 1211 ms (total 1211 ms)
04-20 15:07:00.182: I/ActivityManager(58): Starting activity: Intent { cmp=de.shglandapp/.RSSMain }
04-20 15:07:00.982: I/ActivityManager(58): Displayed activity de.shglandapp/.RSSMain: 790 ms (total 790 ms)
04-20 15:07:01.873: I/Handler(309): Handy App Version 1.0 Beta im Bau
04-20 15:07:04.132: D/AndroidRuntime(309): Shutting down VM
04-20 15:07:04.132: W/dalvikvm(309): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
04-20 15:07:04.152: E/AndroidRuntime(309): FATAL EXCEPTION: main
04-20 15:07:04.152: E/AndroidRuntime(309): java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
04-20 15:07:04.152: E/AndroidRuntime(309): at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257)
04-20 15:07:04.152: E/AndroidRuntime(309): at java.util.ArrayList.get(ArrayList.java:311)
04-20 15:07:04.152: E/AndroidRuntime(309): at de.shglandapp.Content.getUrl(Content.java:58)
04-20 15:07:04.152: E/AndroidRuntime(309): at de.shglandapp.RSSMain$2.onItemClick(RSSMain.java:82)
04-20 15:07:04.152: E/AndroidRuntime(309): at android.widget.AdapterView.performItemClick(AdapterView.java:284)
04-20 15:07:04.152: E/AndroidRuntime(309): at android.widget.ListView.performItemClick(ListView.java:3382)
04-20 15:07:04.152: E/AndroidRuntime(309): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1696)
04-20 15:07:04.152: E/AndroidRuntime(309): at android.os.Handler.handleCallback(Handler.java:587)
04-20 15:07:04.152: E/AndroidRuntime(309): at android.os.Handler.dispatchMessage(Handler.java:92)
04-20 15:07:04.152: E/AndroidRuntime(309): at android.os.Looper.loop(Looper.java:123)
04-20 15:07:04.152: E/AndroidRuntime(309): at android.app.ActivityThread.main(ActivityThread.java:4627)
04-20 15:07:04.152: E/AndroidRuntime(309): at java.lang.reflect.Method.invokeNative(Native Method)
04-20 15:07:04.152: E/AndroidRuntime(309): at java.lang.reflect.Method.invoke(Method.java:521)
04-20 15:07:04.152: E/AndroidRuntime(309): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
04-20 15:07:04.152: E/AndroidRuntime(309): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-20 15:07:04.152: E/AndroidRuntime(309): at dalvik.system.NativeStart.main(Native Method)
04-20 15:07:04.203: D/dalvikvm(309): GC_FOR_MALLOC freed 2720 objects / 174328 bytes in 51ms
04-20 15:07:04.213: W/ActivityManager(58): Force finishing activity de.shglandapp/.RSSMain
04-20 15:07:04.731: W/ActivityManager(58): Activity pause timeout for HistoryRecord{440862f8 de.shglandapp/.RSSMain}
04-20 15:07:06.482: I/Process(309): Sending signal. PID: 309 SIG: 9
04-20 15:07:06.492: I/ActivityManager(58): Process de.shglandapp (pid 309) has died.
04-20 15:07:06.502: I/WindowManager(58): WIN DEATH: Window{4401e748 de.shglandapp/de.shglandapp.MainActivity paused=false}
04-20 15:07:06.502: I/WindowManager(58): WIN DEATH: Window{44087580 de.shglandapp/de.shglandapp.RSSMain paused=false}
04-20 15:07:06.512: I/UsageStats(58): Unexpected resume of com.android.launcher while already resumed in de.shglandapp
04-20 15:07:06.762: W/InputManagerService(58): Got RemoteException sending setActive(false) notification to pid 309 uid 10038
 
blackfire185

blackfire185

Stammgast
java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
04-20 15:07:04.152: E/AndroidRuntime(309): at java.util.ArrayList.throwIndexOutOfBoundsException (ArrayList.java:257)
Hast du irgendwo eine Array List bzw. eine Schleife, denn das bedeutet das auf ein Element zugegriffen wird, welches es nicht mehr gibt. Also du hast zb. 12 Einträge in deinem Array und du greifst irgendwo auf das 13. zu.
 
B

BärBalu

Neues Mitglied
das wäre in der Content.java Datei

package de.shglandapp;

import java.util.ArrayList;
import java.util.List;


public class Content {


private List<String> titel;

private List<String> url;


public Content(){

titel = new ArrayList<String>();
url = new ArrayList<String>();

}


public List<String> getTitel() {
return this.titel;
}


public void setTitel(String newsTitel) {
this.titel.add(newsTitel);
}


public String getUrl(int pos) {

if(pos >= 0){
return this.url.get(pos);
}else{
return "";
}
}


public void setUrl(String newsUrl) {
this.url.add(newsUrl);
}

}
 
Zuletzt bearbeitet:
blackfire185

blackfire185

Stammgast
evtl. wenn du hier den Parameter übergibst?
public void setUrl(String newsUrl) {
this.url.add(newsUrl);
}
Debugge es mal durch, damit du weißt, was du übergibst!
 
B

BärBalu

Neues Mitglied
Thread [<1> main] (Suspended (exception IndexOutOfBoundsException))
ArrayList.throwIndexOutOfBoundsException(int, int) line: 257
ArrayList.get(int) line: 311
Content.getUrl(int) line: 58
RSSMain$2.onItemClick(AdapterView, View, int, long) line: 82
ListView(AdapterView).performItemClick(View, int, long) line: 284
ListView.performItemClick(View, int, long) line: 3382
AbsListView$PerformClick.run() line: 1696
ViewRoot(Handler).handleCallback(Message) line: 587
ViewRoot(Handler).dispatchMessage(Message) line: 92
Looper.loop() line: 123
ActivityThread.main(String[]) line: 4627
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 521
ZygoteInit$MethodAndArgsCaller.run() line: 868
ZygoteInit.main(String[]) line: 626
NativeStart.main(String[]) line: not available [native method]

Der ursprüngliche Beitrag von 20:44 Uhr wurde um 21:46 Uhr ergänzt:



Bekomme es einfach nicht hin. :(
 
Zuletzt bearbeitet: