Android - 0.8.0

Started by omängum fra'uti, September 13, 2010, 12:25:30 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Tirea Aean

Quote from: Seze on July 02, 2011, 06:55:32 PM
Just curious, anyone know what is still missing from this App before it can be released as v1.0.0?

Auto-updating of the dict?

okrìsti

Quote from: Tirea Aean on July 02, 2011, 06:56:31 PMAuto-updating of the dict?

I think it is always checking for the newest database version.
dA | nga tsun oehu pivlltxe fa skype: c4duser
awngeyä wìki sìltsan lu
txopu lu fya'o ne vawma pa'o – nawma karyu Yotxa

Puvomun

Quote from: okrìsti on July 03, 2011, 01:54:01 AM
Quote from: Tirea Aean on July 02, 2011, 06:56:31 PMAuto-updating of the dict?

I think it is always checking for the newest database version.

Yup, it does. The version for 0.7 is not updated anymore, iirc, as the format for 0.8 has changed to that of the iphone app.
Krr a lì'fya lam sraw, may' frivìp utralit.

Ngopyu ayvurä.

omängum fra'uti

Quote from: Seze on July 02, 2011, 06:55:32 PM
Just curious, anyone know what is still missing from this App before it can be released as v1.0.0?
The main thing is a crash bug I've not been able to fix yet, and I have not really had time to work on it, pretty much at all, as all my spare time has been taken up elsewhere.
Ftxey lu nga tokx ftxey lu nga tirea? Lu oe tìkeftxo.
Listen to my Na'vi Lessons podcast!

okrìsti

#64
Quote from: omängum fra'uti on July 03, 2011, 12:19:50 PMThe main thing is a crash bug I've not been able to fix yet, and I have not really had time to work on it, pretty much at all, as all my spare time has been taken up elsewhere.
Is there an easy way to reproduce it?

edit:
It appears I am getting these quite often:

07-04 10:01:14.645: ERROR/Database(785): Leak found
07-04 10:01:14.645: ERROR/Database(785): java.lang.IllegalStateException: /data/data/org.learnnavi.app/databases/database.sqlite SQLiteDatabase created and never closed
07-04 10:01:14.645: ERROR/Database(785):     at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1580)
07-04 10:01:14.645: ERROR/Database(785):     at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:638)
07-04 10:01:14.645: ERROR/Database(785):     at org.learnnavi.app.EntryDBAdapter.checkDataBase(EntryDBAdapter.java:196)
07-04 10:01:14.645: ERROR/Database(785):     at org.learnnavi.app.EntryDBAdapter.createDataBase(EntryDBAdapter.java:165)
07-04 10:01:14.645: ERROR/Database(785):     at org.learnnavi.app.EntryDBAdapter.reloadDB(EntryDBAdapter.java:148)
07-04 10:01:14.645: ERROR/Database(785):     at org.learnnavi.app.EntryDBAdapter.getInstance(EntryDBAdapter.java:134)
07-04 10:01:14.645: ERROR/Database(785):     at org.learnnavi.app.Kelutral.recheckDb(Kelutral.java:577)
07-04 10:01:14.645: ERROR/Database(785):     at org.learnnavi.app.Kelutral.onCreate(Kelutral.java:106)
07-04 10:01:14.645: ERROR/Database(785):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
07-04 10:01:14.645: ERROR/Database(785):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231)
07-04 10:01:14.645: ERROR/Database(785):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284)
07-04 10:01:14.645: ERROR/Database(785):     at android.app.ActivityThread.access$1800(ActivityThread.java:112)
07-04 10:01:14.645: ERROR/Database(785):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692)
07-04 10:01:14.645: ERROR/Database(785):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-04 10:01:14.645: ERROR/Database(785):     at android.os.Looper.loop(Looper.java:123)
07-04 10:01:14.645: ERROR/Database(785):     at android.app.ActivityThread.main(ActivityThread.java:3948)
07-04 10:01:14.645: ERROR/Database(785):     at java.lang.reflect.Method.invokeNative(Native Method)
07-04 10:01:14.645: ERROR/Database(785):     at java.lang.reflect.Method.invoke(Method.java:521)
07-04 10:01:14.645: ERROR/Database(785):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
07-04 10:01:14.645: ERROR/Database(785):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
07-04 10:01:14.645: ERROR/Database(785):     at dalvik.system.NativeStart.main(Native Method)

07-04 10:11:52.865: ERROR/Database(785): Leak found
07-04 10:11:52.865: ERROR/Database(785): java.lang.IllegalStateException: /data/data/org.learnnavi.app/databases/database.sqlite SQLiteDatabase created and never closed
07-04 10:11:52.865: ERROR/Database(785):     at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1580)
07-04 10:11:52.865: ERROR/Database(785):     at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:638)
07-04 10:11:52.865: ERROR/Database(785):     at org.learnnavi.app.EntryDBAdapter.checkDataBase(EntryDBAdapter.java:196)
07-04 10:11:52.865: ERROR/Database(785):     at org.learnnavi.app.EntryDBAdapter.createDataBase(EntryDBAdapter.java:165)
07-04 10:11:52.865: ERROR/Database(785):     at org.learnnavi.app.EntryDBAdapter.reloadDB(EntryDBAdapter.java:148)
07-04 10:11:52.865: ERROR/Database(785):     at org.learnnavi.app.EntryDBAdapter.getInstance(EntryDBAdapter.java:134)
07-04 10:11:52.865: ERROR/Database(785):     at org.learnnavi.app.Kelutral.recheckDb(Kelutral.java:577)
07-04 10:11:52.865: ERROR/Database(785):     at org.learnnavi.app.Kelutral.onResume(Kelutral.java:142)
07-04 10:11:52.865: ERROR/Database(785):     at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1225)
07-04 10:11:52.865: ERROR/Database(785):     at android.app.Activity.performResume(Activity.java:3530)
07-04 10:11:52.865: ERROR/Database(785):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2619)
07-04 10:11:52.865: ERROR/Database(785):     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2647)
07-04 10:11:52.865: ERROR/Database(785):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1717)
07-04 10:11:52.865: ERROR/Database(785):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-04 10:11:52.865: ERROR/Database(785):     at android.os.Looper.loop(Looper.java:123)
07-04 10:11:52.865: ERROR/Database(785):     at android.app.ActivityThread.main(ActivityThread.java:3948)
07-04 10:11:52.865: ERROR/Database(785):     at java.lang.reflect.Method.invokeNative(Native Method)
07-04 10:11:52.865: ERROR/Database(785):     at java.lang.reflect.Method.invoke(Method.java:521)
07-04 10:11:52.865: ERROR/Database(785):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
07-04 10:11:52.865: ERROR/Database(785):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
07-04 10:11:52.865: ERROR/Database(785):     at dalvik.system.NativeStart.main(Native Method)

07-04 10:13:35.755: ERROR/Database(785): Leak found
07-04 10:13:35.755: ERROR/Database(785): java.lang.IllegalStateException: /data/data/org.learnnavi.app/databases/database.sqlite SQLiteDatabase created and never closed
07-04 10:13:35.755: ERROR/Database(785):     at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1580)
07-04 10:13:35.755: ERROR/Database(785):     at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:638)
07-04 10:13:35.755: ERROR/Database(785):     at org.learnnavi.app.EntryDBAdapter.checkDataBase(EntryDBAdapter.java:196)
07-04 10:13:35.755: ERROR/Database(785):     at org.learnnavi.app.EntryDBAdapter.createDataBase(EntryDBAdapter.java:165)
07-04 10:13:35.755: ERROR/Database(785):     at org.learnnavi.app.EntryDBAdapter.reloadDB(EntryDBAdapter.java:148)
07-04 10:13:35.755: ERROR/Database(785):     at org.learnnavi.app.EntryDBAdapter.getInstance(EntryDBAdapter.java:134)
07-04 10:13:35.755: ERROR/Database(785):     at org.learnnavi.app.Dictionary.onCreate(Dictionary.java:69)
07-04 10:13:35.755: ERROR/Database(785):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1123)
07-04 10:13:35.755: ERROR/Database(785):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2231)
07-04 10:13:35.755: ERROR/Database(785):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284)
07-04 10:13:35.755: ERROR/Database(785):     at android.app.ActivityThread.access$1800(ActivityThread.java:112)
07-04 10:13:35.755: ERROR/Database(785):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692)
07-04 10:13:35.755: ERROR/Database(785):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-04 10:13:35.755: ERROR/Database(785):     at android.os.Looper.loop(Looper.java:123)
07-04 10:13:35.755: ERROR/Database(785):     at android.app.ActivityThread.main(ActivityThread.java:3948)
07-04 10:13:35.755: ERROR/Database(785):     at java.lang.reflect.Method.invokeNative(Native Method)
07-04 10:13:35.755: ERROR/Database(785):     at java.lang.reflect.Method.invoke(Method.java:521)
07-04 10:13:35.755: ERROR/Database(785):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
07-04 10:13:35.755: ERROR/Database(785):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
07-04 10:13:35.755: ERROR/Database(785):     at dalvik.system.NativeStart.main(Native Method)


But it is not force closing the app.
dA | nga tsun oehu pivlltxe fa skype: c4duser
awngeyä wìki sìltsan lu
txopu lu fya'o ne vawma pa'o – nawma karyu Yotxa

omängum fra'uti

That's another problem I would like to fix but it's more clean up.  It MAY be related.

The crash I'm trying to track down (It may have been introduced after the last beta build I did) happens when you fling the word list (So it starts scrolling after you let go) and rotate the display while it's still moving.  It will force close.
Ftxey lu nga tokx ftxey lu nga tirea? Lu oe tìkeftxo.
Listen to my Na'vi Lessons podcast!

okrìsti

Oh, it never occured to me, but I have my orientation locked to vertical.
Stacktrace would be
07-05 20:33:54.008: ERROR/AndroidRuntime(13051): FATAL EXCEPTION: main
07-05 20:33:54.008: ERROR/AndroidRuntime(13051): java.lang.IllegalStateException: this should only be called when the cursor is valid
07-05 20:33:54.008: ERROR/AndroidRuntime(13051):     at android.widget.CursorAdapter.getView(CursorAdapter.java:175)
07-05 20:33:54.008: ERROR/AndroidRuntime(13051):     at org.learnnavi.app.CategoryNameCursorAdapter.getView(CategoryNameCursorAdapter.java:182)
07-05 20:33:54.008: ERROR/AndroidRuntime(13051):     at android.widget.AbsListView.obtainView(AbsListView.java:1340)
07-05 20:33:54.008: ERROR/AndroidRuntime(13051):     at android.widget.ListView.makeAndAddView(ListView.java:1743)
07-05 20:33:54.008: ERROR/AndroidRuntime(13051):     at android.widget.ListView.fillDown(ListView.java:668)
07-05 20:33:54.008: ERROR/AndroidRuntime(13051):     at android.widget.ListView.fillGap(ListView.java:639)
yadayada
dA | nga tsun oehu pivlltxe fa skype: c4duser
awngeyä wìki sìltsan lu
txopu lu fya'o ne vawma pa'o – nawma karyu Yotxa

Palulukanä Tarontu

#67
That's an old problem isn't it? I could reproduce this in the old 0.7, too. I don't know something about programming for Android, but I think there could be a special action like stop scrolling before changing screen orientation to catch these errors. Or working with 'if'? Could that help?
old gallery link?id=1817[/img]

"When people are sitting on s*** you want, you make them your enemy. Then you're justified in taking it."
- Jake Sully
[email protected]

omängum fra'uti

Detecting the condition and figuring out some way to work around it would potentially work, but it is still a work-around and the problem hints at some underlying problem with how the app uses the APIs.

At this point I have a huge book on Android programming I'm going through and I'll probably refactor a lot of the code in question so it will be done right.
Ftxey lu nga tokx ftxey lu nga tirea? Lu oe tìkeftxo.
Listen to my Na'vi Lessons podcast!

Maria TunVrrtep

Any word on when we'll have a finished product? 
"Ke'u ke lu law a krr frakem tsunslu." -
    Margaret Drabble
("When nothing is sure, everything is possible.")



Tsmuktengan

Well, on my side, it appears quite finished as it is running fine on my HTC Desire with Leedroid's Desire HD port.

However, I still hope this application can still be improved by someone.


Tirea Aean

It would be sweet if it was open source. I'm studyin Java at uni and Android dev sounds like fun.
* Tirea Aean cannot remember if it is

Tsmuktengan

Quote from: Tirea Aean on September 13, 2011, 09:07:18 PM
It would be sweet if it was open source. I'm studyin Java at uni and Android dev sounds like fun.
* Tirea Aean cannot remember if it is

It does really seem fun. I do not have time left to study Java for instance (the next languages I have to learn are C++ and OCaml, not counting Na'vi ;) ) so I won't participate before a while, despite a strong want to contribute.

Since this application is a port of the iOS app, it may be better to recode from scratch to make sure it is clean and optimized, for other potential programmers to understand the code as well and submit patches and improvements without fighting with the SDK (if possible).

So, if there is no sign the original developper cannot maintain this project anymore, and the source code is not opened, then this might be a solution.  :)


Seze

Everything is open source, check out some of the stickied topics in this subforum.


Learn Na'vi Mobile App - Now Available

Toruk Makto

I still have .0.7.0 with a very old word list. I wish there was a way to at least update to the latest dictionary. Not being a coder, I have no idea how to help with this app...

Lì'fyari leNa'vi 'Rrtamì, vay set 'almong a fra'u zera'u ta ngrrpongu
Na'vi Dictionary: http://files.learnnavi.org/dicts/NaviDictionary.pdf

Tsmuktengan

Quote from: Toruk Makto on September 17, 2011, 08:51:33 AM
I still have .0.7.0 with a very old word list. I wish there was a way to at least update to the latest dictionary. Not being a coder, I have no idea how to help with this app...

Me as well, has not been updated since a long time.

Isn't a generic word list of na'vi somewhere? I guess a generic .xml file could be fine for such purpose and cross-application uses.


Tirea Aean

#76
I wanna check out the source code and see what it reads for a word list and see what I can do...

EDIT: Got the source code. havent had a lot of time to inspect, but I saw code in there for checking dict version and updating...among comments in Na'vi ;D

Seze

 I thought the android version used the same dictionary database as the iphone version, guess not or something broke.  The database files that the iPhone version uses are http://learnnaviapp.com/database/database.sqlite and http://learnnaviapp.com/database/database.version    The app checks the version file to see if it needs to update.  If the number listed in that file is higher than the local version number, it will download the .sqlite file and replace the local copy with the one it downloaded. 


Learn Na'vi Mobile App - Now Available

Tirea Aean

Quote from: Seze on September 19, 2011, 06:33:18 PM
I thought the android version used the same dictionary database as the iphone version, guess not or something broke.  The database files that the iPhone version uses are http://learnnaviapp.com/database/database.sqlite and http://learnnaviapp.com/database/database.version    The app checks the version file to see if it needs to update.  If the number listed in that file is higher than the local version number, it will download the .sqlite file and replace the local copy with the one it downloaded. 

that's what I got from browsing the source code for Android... but I didn't look at it in depth enough to figure out where it broke exactly. Of course then again, I'm just now learning Java and Android development as I go... I'm not exactly a tsulfätu in those areas. but by having the source code for this in my eclipse workspace, I hope to soon.

Seze

I just did a quick read through of the code and it looks like its using the right files.  The next question is if the version in SVN matches the version that is currently being used on your device.  What version does your device show you using? Should look something like this -> Version 0.7.0 (158-57)    0.7.0 is the pretty version, 158 is the SVN revision number at build time, and 57 is the database version number. 


Learn Na'vi Mobile App - Now Available