1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. MetBo, 21.05.2011 #1
    MetBo

    MetBo Threadstarter Fortgeschrittenes Mitglied

    Hey,

    ich habe einen Newsreader entwickelt und speichere alle News in einer Datenbank. Die News selektiere ich z.B. mit dieser Funktion aus der Datenbank:

    Code:
    public List<Article> getArticleListNew() throws SQLException {
    		DateFormat df = new SimpleDateFormat("dd.MM.yyyy");
    		String d = df.format(new Date());
    		
    		List<Article> articleList = new ArrayList<Article>();
    		Cursor c;
    
    		c = mDatabase.query(T_ARTICLE_NAME, 
    		                    COLUMNS_ARTICLE, 
    		                    T_ARTICLE_SDATE + "='" + d + "'",
    //		                    T_ARTICLE_SDATE + "=strftime(\"%d.%m.%Y\",'now','localtime')",
    		                    null, null, null, 
    		                    T_ARTICLE_STIME + " desc");
    		
    		c.moveToFirst();
    		
    		if (!c.isAfterLast()) {
    			do {
    				Article article = new Article();
    				article = getArticleValues(c);
    				articleList.add(article);
    			} while (c.moveToNext());
    		}
    		
    		c.close();
    		
    		return articleList;
    	}
    
    Die Selectabfrage sieht z.B. so aus:
    Code:
    SELECT articleid, headline, headlineshort, subheadline, abstracttext, url, urlmob, metaurl, author, date, stime, sdate, images, leadimgurl, leadimgwidth, leadimgheight, text, fav, read, top, headlinefull FROM article WHERE sdate='21.05.2011' ORDER BY stime desc
    Nun berichten einige Benutzer, wenn sie die Sprache ihres Systems auf Englisch (en-US) umstellen, dass sie dann keine News angezeigt bekommen.

    Einen Fehlerbericht gibt es nicht, da kein Fehler im Sinne von FC entsteht.


    Nun konnte ich das Problem schon lokalisieren. Es liegt anscheinend an dem Query ... Aber wieso?? Ich habe keine sprachenspezifische Attribute eingebaut ...


    Ist euch auch schon einmal dieses "Phänomen" aufgefallen? Kennt jemand eine plausible Erklärung bzw. Lösung?


    Vielen Dank,
    Grüße

    Edit: Auf meinem SGS2 (Android 2.3.3) konnte ich das Phänomen nicht reproduzieren!! Im Emulator (Android 2.2) aber schon ...





    EDIT: Hat sich erledigt!! Das lag gar nicht an dem Select, sondern beim Einfügen der News in die Datenbank habe ich ein Datum (ohne Datumsformat) mitgegeben ..... Beim Ändern der Sprache war das Datum beim Einfügen in die DB "MM dd yyyy" ... Meine Abfrage hatte aber das Datum "dd mm yyyy". Da kann ja nichts produktives herauskommen ;). Ich habe jetzt beim Einfügen auch ein Datumsformat und siehe daaa! es funktioniert.
     
    Zuletzt bearbeitet: 21.05.2011
  2. maniac103, 23.05.2011 #2
    maniac103

    maniac103 Android-Lexikon

    Die richtige[TM] Lösung wäre allerdings, die Zeit nicht als String, sondern als Timestamp zu speichern. Dann hättest du solche Probleme nicht und könntest jegliches Datumsformat oder auch andere Zeitzonen ohne Aufwand unterstützen.
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] Keine doppelten Einträge in die Firebase Datenbank Android App Entwicklung 27.10.2017
[ERLEDIGT] Shine Animation auf Text Android App Entwicklung 20.10.2017
[ERLEDIGT] Wandernder Text Android App Entwicklung 17.10.2017
[OFFEN] Übereinstimmung Spracherkennung Datenbank finden Android App Entwicklung 13.10.2017
[ERLEDIGT] Warum bekomme ich hier eine NullPointerException Android App Entwicklung 07.10.2017
[ERLEDIGT] APK compilieren ... beschädigt? Android App Entwicklung 06.10.2017
[ERLEDIGT] Benutzer Aktivitäten überwachen Android App Entwicklung 30.09.2017
[OFFEN] Komplette SQLite Datenbank verschlüsseln Android App Entwicklung 19.09.2017
[ERLEDIGT] Komplexe View erstellen Android App Entwicklung 13.09.2017
Du betrachtest das Thema "[Erledigt] Datenbank-Select mit Datumabfrage - abhängig von Sprache?" im Forum "Android App Entwicklung",