Rss feed mit Statusbar Notification

  • Antworten:10
Thomas Schlagkamp
  • Forum-Beiträge: 14

27.03.2013, 19:19:30 via Website

Hallo zusammen.
Ich versuche in die Welt der Andreoid App Programmierung einzusteigen.

Nun bin ich soweit das meine App, welche einen RSS Feed Reader enthält technisch fertig ist.

Ich möchte aber das der Nutzer über ein Icon in der Statusbar über einen neuen Feed Benachrichtigt wird.

Wie kann ich sowas realisieren?
Ich hoffe ihr könnt mir Helfen.

Vielen Dank und schöne Grüße

Antworten
Thomas Schlagkamp
  • Forum-Beiträge: 14

27.03.2013, 22:06:57 via Website

Viel3n Dank,
das hatte ich schon gefunden. Aber du hast genau das angesprochen wo ich nicht weiterkomme. Nämliche diese überprüfung und dann der befehl für eine neue Notification.

Wäre nett wenn mir da jemand helfen könnte

Antworten
Thomas Schlagkamp
  • Forum-Beiträge: 14

28.03.2013, 09:58:22 via Website

Ich danke dir.Ich werde mal versuchen mich da durch zu hangeln

Antworten
Appsoluts
  • Forum-Beiträge: 304

28.03.2013, 09:59:48 via Website

Thomas Schlagkamp
Viel3n Dank,
das hatte ich schon gefunden. Aber du hast genau das angesprochen wo ich nicht weiterkomme. Nämliche diese überprüfung und dann der befehl für eine neue Notification.

Wäre nett wenn mir da jemand helfen könnte

Da dir mit den Notifications jetzt ja schon geholfen wurde hier für den Service:

Entweder du arbeitest mit dem Push verfahren,

oder du schreibst dir eine Activity, die auf neue RSS Feeds prüft. Das macht deine Activity ja jetzt auch schon nur halt nicht scheduled.

Um das ganze zu schedulen würde ich den AlarmManager benutzen und intervallmäßig diesen Service ( Intent , Activity... was auch immer ) starten

Antworten
Thomas Schlagkamp
  • Forum-Beiträge: 14

28.03.2013, 10:03:53 via Website

CBsol Android
Thomas Schlagkamp
Viel3n Dank,
das hatte ich schon gefunden. Aber du hast genau das angesprochen wo ich nicht weiterkomme. Nämliche diese überprüfung und dann der befehl für eine neue Notification.

Wäre nett wenn mir da jemand helfen könnte

Da dir mit den Notifications jetzt ja schon geholfen wurde hier für den Service:

Entweder du arbeitest mit dem Push verfahren,

oder du schreibst dir eine Activity, die auf neue RSS Feeds prüft. Das macht deine Activity ja jetzt auch schon nur halt nicht scheduled.

Um das ganze zu schedulen würde ich den AlarmManager benutzen und intervallmäßig diesen Service ( Intent , Activity... was auch immer ) starten

Vielen Dank. Soweit bin ich nun. Ich habe noch nicht verstanden wie ich java beibringen kann zu erkennen ob etwas neu ist oder nicht. Werde meine Ergebnisse (soweit vorhanden) hier Posten

Antworten
Thomas Schlagkamp
  • Forum-Beiträge: 14

28.03.2013, 11:43:07 via Website

Hmm ne ich bekomme es nicht hin. Gibts irgendwo tutorials wie mann einen RSS Reader mit einer Notification ausstattet??

Antworten
JulianTH
  • Forum-Beiträge: 12

05.04.2013, 13:24:38 via Website

Thomas Schlagkamp
Hmm ne ich bekomme es nicht hin. Gibts irgendwo tutorials wie mann einen RSS Reader mit einer Notification ausstattet??

Schließe mich der Frage an...

Antworten
impjor
  • Forum-Beiträge: 1.793

05.04.2013, 14:01:51 via Website

Bestimmt nicht, und selbst wenn lernst du/ihr nichts dabei.
Fürs nächste Projekt "Wecker mit Notification" müsste es dann wieder genau so ein Tut geben? Du hast doch jetzt sowohl ein Tut für die Notification und den RSS Reader, warum verbindest du das nicht? Wenn es Fehler gibt kannst du die doch einfach hier posten und wir geben dir Hilfe, aber die Aussage "Funktioniert halt nicht" bringt keinen weiter. Denn es gibt halt nicht für jedes Problem ein Tutorial mit alles Möglichen Besonderheiten.

Gruß

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Thomas Schlagkamp
  • Forum-Beiträge: 14

05.04.2013, 14:16:20 via Website

Gut dann werde ich das Problem mal schildern. Mein Gedankengang (der offensichtlich falsch war) war folgender.

Mit diesen Beiden Klassen sollte es eigentlich umzusetzen sein. So Dachte ich zumindest.
Eventuell bringt uns das ja weiter.
Die Kritischen Stellen sind markiert.

1import java.io.IOException;
2import java.net.MalformedURLException;
3import java.net.URL;
4import java.util.List;
5
6import javax.xml.parsers.ParserConfigurationException;
7import javax.xml.parsers.SAXParser;
8import javax.xml.parsers.SAXParserFactory;
9
10import org.xml.sax.InputSource;
11import org.xml.sax.SAXException;
12import org.xml.sax.XMLReader;
13
14import android.app.IntentService;
15import android.app.Service;
16import android.app.*;
17import android.content.Context;
18import android.content.Intent;
19import android.os.IBinder;
20import android.os.Message;
21import android.util.Log;
22
23
24
25public class RssService extends IntentService{
26 public RssService() {
27 super("Test");
28 }
29
30 protected void onHandleIntent(Intent intent) {
31
32 String lastPubDate = getDateFromSharedPref(); //Hier Ist getDate undefiniert.
33
34
35 AndroidFeedParser parser;
36
37 try {
38 parser = new AndroidFeedParser(new URL("http://www.abc.de)); //Cannot instantiate the type RssService.AndroidFeedParser
39 List<Message> list = parser.parse(); Auch hier Undefiniert
40
41 if (list != null) {
42 for (int i = 0; i < list.size(); i++) {
43
44
45 tools.verifyDates(list.get(i).getDate(), lastPubDate); //getDate ist wohl syntaktisch falsch
46 }
47
48 lastPubDate = list.get(0).getDate(); //Dito
49 saveToSharedPreferences(lastPubDate); /kann die Methode nicht finden
50 }
51 } catch (MalformedURLException e) {
52 Log.d("GREC", "Malformed URL Exception: " + e.getMessage());
53 e.printStackTrace();
54 }
55
56 if (tools.newArticles > 0) { //findet tools.java nicht
57 // displayNotification();
58 } else {
59 Log.d("GREC", "No new articles ");
60 }
61 }
62
63 public interface AndroidFeedParser {
64 List<Message> parser();
65 }
66}

Hier die tools klasse
1import java.text.SimpleDateFormat;
2import java.util.Date;
3import java.util.Locale;
4
5import android.net.ParseException;
6import android.util.Log;
7
8public class tools {
9 public int newArticles;
10 public boolean hasMoreArticles = true;
11
12 public void verifyDates(String rssPubDate, String sharedPrefLastPubDate) {
13 if (hasMoreArticles) {
14 SimpleDateFormat df = new SimpleDateFormat("dd MMM yyyy HH:mm:ss Z", Locale.ENGLISH);
15 Date dLastPubDate = null;
16 Date dRssPubDate = null;
17
18 try {
19 dLastPubDate = df.parse(sharedPrefLastPubDate.substring(5));
20 try {
21 dRssPubDate = df.parse(rssPubDate.substring(5));
22 }
23 } //Ich schaffe es nicht die exeptions abzufangen
24
25 catch (ParseException e) {
26 Log.d("GREC", "Exception in verifayDates: " + e.getMessage());
27 e.printStackTrace();
28 }
29
30 //Zähler
31 if (dRssPubDate.getTime() > dLastPubDate.getTime()) {
32 newArticles++;
33 } else {
34 hasMoreArticles = false;
35 }
36 }
37 }
38
39}

Antworten