Notices


Reply
Thread Tools
Posts: 299 | Thanked: 241 times | Joined on Oct 2009 @ Singapore
#1
Qteachme 0.1.1 is now available in extras-devel. This is a flashcard app developed primarily for N900/Maemo. It has the ability to import delimited text files. The delimiter can either be
'|', "\t", "," or ";" (in that order of preference). The app will check in the first line of the text file to see what delimiter is used.

The first time you launch Qteachme, you will directly come to the Import function. You can call the Import function from the menu later to import other files if you want to. Apart from the file name, you enter the name of the 'course'. Qteachme will split up the flashcards into 'chapters'. You can define the number of cards you want in each chapter. Finally, you give descriptive names to the 'sides' of the flashcards. For the Chinese.txt file which comes with the installation, I recommend entering Simplified, Pinyin and English. When you press the 'Import' button wait for a few seconds while the information is being loaded. When you're done importing, click outside the window to continue.

In the 'Settings' window you choose which course/chapter to study. Here you also select which side of the card to be shown for you to guess. Once you have guessed, the other sides will be displayed as well. You also define what words to display. 'All' means all the words of the chapter and 'Not learned' will show cards with a score <100%. The final setting is the order in which the cards are displayed.

In the main Qteachme window, you will first see the selected card. You press the 'Show' button and you get three buttons, Good, OK and Bad. Select according to how well you guessed the right answer. Words (cards) and chapters will be rated with a % score depending on how your learning progresses.

Qteachme will also display a score indicating how well you have been doing during the current session.

Known issues:

1) The app exits intermittently for no reason.
2) Support for multiple 'course' is there, but has barely been tested.
3) The app is supposed to remember the last course/chapter you have been studying when you open the app again, but it doesn't seem to work all the time.

Let me know if you have issues loading other text files than the one provided and I'll see if I can fix it. Feel free to add URLs to places where additional 'courses' can be found or add them as attachments.

The usual disclaimers for apps in Extras-Devel apply...

PS! For those of you who might have installed the .deb package that I made available previously in another thread here, please uninstall it first. You might also have to delete the qteachme.db file as the database structure has changed. It is always safe to delete that file as the app will recreate it if it is missing.
Attached Images
    
 

The Following 8 Users Say Thank You to magnuslu For This Useful Post:
Addison's Avatar
Posts: 3,811 | Thanked: 1,151 times | Joined on Oct 2007 @ East Lansing, MI
#2
Oh wow!

This looks excellent!

I take it that you're using the QT language for this which means a possible Maemo 4 port is completely out of the question?
 
Posts: 299 | Thanked: 241 times | Joined on Oct 2009 @ Singapore
#3
Yes, it is using Qt. I must say I didn't even consider Maemo 4/Diablo, so I have no idea as to what the effort would be. If anyone has any experience doing it, I could look into it sometime in the future.
__________________
My Maemo Apps:
QTeachMe
- Flashcard app
MobiTifo (which was formerly known as QSportsEvent) - Sports leagues tracking (mainly football).
 

The Following 2 Users Say Thank You to magnuslu For This Useful Post:
Addison's Avatar
Posts: 3,811 | Thanked: 1,151 times | Joined on Oct 2007 @ East Lansing, MI
#4
Thanks!

It sounds like it would be a lot of trouble though but I appreciate the thought of looking into this for us N8x0 users.

Cheers!
 
Posts: 353 | Thanked: 263 times | Joined on Dec 2009 @ Finland
#5
Originally Posted by Addison View Post
I take it that you're using the QT language for this which means a possible Maemo 4 port is completely out of the question?
But Maemo 4 does have Qt (AFAIK), so it shouldn't be too difficult to port this.
__________________
My Maemo5 projects:
mSpede - Speed testing game | Them Bloody Ducks - 2D duck hunting game | Maetronome - A simple metronome app | CuteMPC - MPD client
 

The Following 2 Users Say Thank You to TNiga For This Useful Post:
Posts: 299 | Thanked: 241 times | Joined on Oct 2009 @ Singapore
#6
I have uploaded a Diablo version which should make it available for Maemo 4. Please note that I have no way to test this, so you're on your own here...

If indeed it does work, I'm impressed by this whole Qt thing!
__________________
My Maemo Apps:
QTeachMe
- Flashcard app
MobiTifo (which was formerly known as QSportsEvent) - Sports leagues tracking (mainly football).
 

The Following 2 Users Say Thank You to magnuslu For This Useful Post:
Posts: 3,319 | Thanked: 5,610 times | Joined on Aug 2008 @ Finland
#7
Well, it works on Maemo 4.1, sort of The dialogs feel very weird, it shows that they were created with Fremantle in mind (Maemo 4.x does not auto-fullscreen dialogs nor is there a default tap-outside-for-cancel-or-close action). But it does run, so I guess it's a start
__________________
Blogging about mobile linux - The Penguin Moves!
Maintainer of PyQt (see introduction and docs), AppWatch, QuickBrownFox, etc
 

The Following 3 Users Say Thank You to attila77 For This Useful Post:
Addison's Avatar
Posts: 3,811 | Thanked: 1,151 times | Joined on Oct 2007 @ East Lansing, MI
#8
I can see what you mean by being on my own here.

Well, I hope it's okay to mention a few things with it.

Here's my screenshot of importing your default text file.


From here, I choose "Import" and see the "Importing." notification for a few seconds.

Tapping outside the box does nothing so I go ahead and press the hardware escape button and I'm brought to this screen.


Tapping on Course or Chapter yields nothing, not even the hildon keyboard appears.

Did I miss a step somewhere?

When I choose Done I get the same screenshots as yours once I press the fullscreen hardware button only there isn't any text in the flashcards.

Nuts.

Also, is the specific to only learning languages?

I was hoping to use Qteachme with something similar to this.
http://umed.med.utah.edu/pda/flashca...ner%20lec8.txt

Thanks buddy!

Oh, and if this is too much trouble all around, can someone recommend an alternative app? This is my first attempt at trying out flashcards on the device.
 

The Following User Says Thank You to Addison For This Useful Post:
Posts: 299 | Thanked: 241 times | Joined on Oct 2009 @ Singapore
#9
Thanks for the screenshots!

I'll add a 'Done' button on the import dialog. Maybe that will make sure that the app will proceed normally.

It might be that you have to close the app and start it again, then go to Settings and see if you can select courses/chapters.

In theory, it should work with the kind of flashcards that you linked to as well. Do you have loads of files like that? If not, it should be fairly easy to change the file to a supported format. If the Q: and A: format is common for flashcard files, I could add support for that directly in the app.

Again, thanks for the feedback!
__________________
My Maemo Apps:
QTeachMe
- Flashcard app
MobiTifo (which was formerly known as QSportsEvent) - Sports leagues tracking (mainly football).
 

The Following 2 Users Say Thank You to magnuslu For This Useful Post:
Addison's Avatar
Posts: 3,811 | Thanked: 1,151 times | Joined on Oct 2007 @ East Lansing, MI
#10
Heya Magnus!

Okay, here's the first thing that occurs when starting your app.
Code:
[1|user@Nokia-N800-43-7|~]qteachme
QSqlDatabase: QSQLITE driver not loaded
QSqlDatabase: available drivers:
Db path: "/home/user/qteachme.db"
Failed to connect
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlDatabase: QSQLITE driver not loaded
QSqlDatabase: available drivers:
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
Db path: "/home/user/qteachme.db"
Failed to connect
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::exec: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::exec: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::exec: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::exec: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::exec: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
From there, this is the next result after importing your Chinese lesson. A quick note though, the readout was much bigger than Xterm could handle.
Code:
"彰"
"biǎozhāng"
"commend; cite"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
"阐"
"chǎnmíng"
"clarify"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
"讼"
"sùsòng"
"litigate"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
"崭"
"zhǎnxīn"
"very-new; nascent; brand new; completely new"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
"泻"
"xiè"
"have diarrhea; rush down"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
"俭"
"qín gōng jiǎn xué"
"part-work and part-study"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
"橡"
"xiàngjiāo"
"rubber"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
"溶"
"róng"
"dissolve"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
iChapterID  QVariant(, )
iChapterCount  126
"瀑"
"pùbù"
"waterfall"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
"扒"
"bā"
"push aside; hold on to; strip off; dig up"
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QMap()
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::prepare: database not open
""
-1
QSqlError(-1, "Driver not loaded", "Driver not loaded")
chapterName ": Chapter 1"
index -1
bshowSide1 true
bshowSide2 true
bshowSide3 true
QSqlQuery::prepare: database not open
iCourseID= 0
iChapterID= 0
""
QSqlQuery::prepare: database not open
SortBy:  3
SelectBy:  1
dlgSettings->courseID() 0
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::prepare: database not open
""
-1
QSqlError(-1, "Driver not loaded", "Driver not loaded")
""
QSqlQuery::value: not positioned on a valid record
0
QSqlQuery::value: not positioned on a valid record
0
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::value: not positioned on a valid record
qiWordID= 0
QSqlQuery::value: not positioned on a valid record
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::value: not positioned on a valid record
QSqlQuery::value: not positioned on a valid record
QSqlQuery::value: not positioned on a valid record
QSqlQuery::value: not positioned on a valid record
side1: ""
true
true
true
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::value: not positioned on a valid record
0
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::value: not positioned on a valid record
iCount  =  0
qiScore =  20
QSqlQuery::prepare: database not open
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::value: not positioned on a valid record
iCourseID 0
QSqlQuery::value: not positioned on a valid record
iChapterID 0
QSqlQuery::prepare: database not open
iChapterID 0
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::value: not positioned on a valid record
qsLessonName ""
QSqlQuery::prepare: database not open
iCourseID 0
""
QSqlError(-1, "Driver not loaded", "Driver not loaded")
QSqlQuery::value: not positioned on a valid record
false
QSqlQuery::value: not positioned on a valid record
false
QSqlQuery::value: not positioned on a valid record
false
false
false
false
I tried your suggestion even before you mentioned them but nothing gets saved over when closing the program. Tried a few other tricks as well with no luck.

My interest with this is basically finding the work that others have already provided to save on time.

I haven't looked too deeply but this site seems like a really nice place to start.
http://umed.med.utah.edu/pda/flashcards/

So yeah, I probably would go through most of them if Qteach supported their format.

Cheers!
 

The Following User Says Thank You to Addison For This Useful Post:
Reply


 
Forum Jump


All times are GMT. The time now is 15:03.