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}
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.