komplexerer Vokabeltrainer für pys60 auf Nokia Smartphones

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
masei
User
Beiträge: 2
Registriert: Sonntag 6. Juli 2008, 22:50

Hallo,

ich bin relativ frisch in die Programmierung mit Python eingestiegen und probiere mich gerade an einem Vokabeltrainer (vor allem da ich mit allen fürs Handy verfügbaren Flashcard Programmen unzufrieden bin, für mein Nokia E70). Das limitiert die Möglichkeiten ein wenig. Datenbanken gehen nicht auf pys60 und ich habe jetzt angefangen das ganze mit Elementtree in eine XML-Datei zu schreiben und auszulesen.
Damit bin ich schon relativ weit, möchte jetzt aber doch noch mal ein wenig Background einholen, damit ich nicht unnötig viel Zeit in die ungünstigere Richtung programmiere.

Was mir wichtig ist: Jede Seite der Karteikarte soll mehrere Felder haben, nämlich Vokabel, Hinweis1, Hinweis2, Kategorie, Note
Es soll eine Lernkontrolle eingebaut werden, die vorrangig die schlechtesten Noten abfragt. Die Karteikarten sollen nach Tags abgefragt werden können. Aus diesem Grund habe ich eine Vokabeleingabe programmiert, welche die Vokabeln folgendermaßen in eine xml-Datei schreibt:

Code: Alles auswählen

- root
   - Kategorie1
        - Note1
                Eintrag1             
                     - Vokabel
                     - Übersetzung
                     - Feld 2
                     - Übersetzung Feld 2
                        etc.
                 Eintrag2
                 etc.
         - Note2
         etc.
   - Kategorie2
   etc.
Ist die Idee in Ordnung, oder gibt es bessere Alternativen?
Wie sieht es mit pickle aus, das wäre auch noch eine Möglichkeit fürs S60?
Dann noch eine Frage zu den Dicitonarys. Die haben ja nur 2 Felder, oder kann ich den XML-Tree so wie ich ihn oben angedeutet habe doch in einen Dictionary mit Listen o.ä überführen.

Vielen Dank für Euere Hilfe!
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Erstelle erst dein Format, und wenn du fertig bist, dann kannst du nen xml-export/import einbauen.

Ich würd dir zum Speichern SQLite empfehlen, das ist sogar in der Standardlib...aber das ist bei dem Python sicher mal wieder nicht dabei ;)

Du könntest auch ne CVS-Datei zum Speichern nutzen, XML ist dafür jedenfalls völlig falsch. Ich hab mal was ähnliches gemacht und....es ist doof ;)
rasco
User
Beiträge: 4
Registriert: Samstag 1. Dezember 2007, 06:20

Hi,

schau Dir mal meinen in wxPython geschriebenen Vokabeltrainer an:
http://code.google.com/p/pyvoc/

Ich habe hier einen csv Export implimentiert - allerdings noch keinen Import mangels fremder Formate.

Gruß,
Ralf Schönian
masei
User
Beiträge: 2
Registriert: Sonntag 6. Juli 2008, 22:50

audax hat geschrieben: Du könntest auch ne CVS-Datei zum Speichern nutzen, XML ist dafür jedenfalls völlig falsch. Ich hab mal was ähnliches gemacht und....es ist doof ;)
So kann man sich irren, es erschien mir auf den ersten Blick als guter Kompromiss.
Wie gesagt, sqlite ist leider nicht machbar, allerdings habe ich gerade gesehen, dass der Zugriff auf die Symbian-Datennbank machbar ist. Dann ist der Vokabeltrainer allerdings nur für Symbian brauchbar, dass wollte ich auch vermeiden. Also doch in einem Textfile unterbringen. Welche Probleme würde XML den machen?

Gruß
Marc
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Aufwändig auszulesen, man kann keine ordentlichen Queries formulieren, es ist bloated, es ist langsam.

Alles kein großes Problem bei reinem Import/Export, aber als Dauerspeicher schrecklich.
Antworten