Android Question Invalid double: "null" after updating KeyValueStore

LucaMs

Expert
Licensed User
Longtime User
I was using an "old" version of KeyValueStore. Having found this problem:
https://www.b4x.com/android/forum/posts/557508/

I replaced the old class with the latest one (and replaced all PutSimple and GetSimple with Put and Get).

Running the project, I get:
java.lang.NumberFormatException: Invalid double: "null"

upload_2018-1-10_4-51-23.png


executing the assignment LastVersion = Version(0) (as you can see LastVersion is a string variable so this does not make sense [also Version is an array of strings]).

KeyValueStore is not involved in any part of this phase (GetOnlineVersion is a resumable sub which downloads a simple string from Internet, splits it and returns Version(), correctly).

How could this have happened?


Thank you
 
Last edited:

ilan

Expert
Licensed User
Longtime User
I read it right now !!! before this your post! :)

I will search and send them to you

anyway...
https://play.google.com/store/apps/details?id=com.mabotech.lettersandnumbers&hl=it
:)
(old KVS)

hi luca, i just tried your app and it crashed after i registered. now when i enter the app it crashes again. i cannot start the app.
i am using a Samsung s8 and android 7.0. i was using wifi when i registered.

i need to mention that i would uninstall immediately the app if it wasn't yours. i don't think it is a good idea to let the user play only if he registers. most people want first to try the app to see whats all about before they give you their email address and register.

this is something you should consider to change.
you can also create automatically a random username so the user can try the app and if he registers more feature will be available

regards, ilan

Ps: i sent you the crash report
 
Upvote 0

ilan

Expert
Licensed User
Longtime User
The EMail is optional; this is write in the registration activity, with "it is essential if you forget your password".

sorry but it is not clear, maybe let the user play and register button will be somewhere in on the top or maybe a msgbox after user played more than x games.
i dont read every sentence that is on the app i just click and most people will do the same so you need to think how to make it as simple as possible for the user.
 
Upvote 0

LucaMs

Expert
Licensed User
Longtime User
sorry but it is not clear, maybe let the user play and register button will be somewhere in on the top or maybe a msgbox after user played more than x games.
i dont read every sentence that is on the app i just click and most people will do the same so you need to think how to make it as simple as possible for the user.
A kind of registration (nick and pw) is useful to allow the user to install your app on more than one device; on the second one he could choose to use the same account, providing nick and pw, or create a new one.

I will change the GUI so that it can be more clear for the user.

Now I have to find that bug :(. This is the first time, for me, to search a bug directly in the java code and I'm thinking that you must keep all java sources for each version you publish; this was a consideration that I had not foreseen, having never published on Google Play. Indeed, you must keep the b4a project, given the code is obscured!


P.S. I waited the report on my email; maybe you meant to Google (and it is there, thank you)
I opened the wrong EMail address :D
 
Upvote 0

Peter Simpson

Expert
Licensed User
Longtime User
i need to mention that i would uninstall immediately the app if it wasn't yours. i don't think it is a good idea to let the user play only if he registers. most people want first to try the app to see whats all about before they give you their email address and register.

I too don't like registering before i know what an app is like, that's why I've not registered with the app. I installed the app, it asked me to register so I just uninstalled the app again.

It looks interesting though, but I do have an issue with registering before trying anything, especially apps.

Allow testing of one thing/level/game then set registration to access the rest, or maybe even fully working for 30 or 60 minutes of playing time, then register.
 
Upvote 0

LucaMs

Expert
Licensed User
Longtime User
Forse io devo scrivere in italiano e far tradurre tutto da Erel ;) (e Klaus).

First of all, thank you @ilan and @Peter Simpson for your attempt to use my app :(:)

I understand your point of view and I take your suggestion really in account for future apps (maybe even to change this one).
If you, IT experts, "do not understand" at first glance that you can leave the email edittext empty and that you need only to choose a nick and a password, "normal" users will be more frightened :)


[I should have opened a new thread but I was not going to inform the forum that I published an app ("share your creations") :oops:]
 
Last edited:
Upvote 0

Peter Simpson

Expert
Licensed User
Longtime User
Forse io devo scrivere in italiano e far tradurre tutto da Erel ;) (e Klaus).

First of all, thank you @ilan and @Peter Simpson for your attempt to use my app :(:)

I understand your point of view and I take your suggestion really in account for future apps (maybe even to change this one).
If you, IT experts, "do not understand" at first glance that you can leave the email edittext empty and that you need only to choose a nick and a password, "normal" users will be more frightened :)


[I should have opened a new thread but I did not think to inform the forum that I published an app ("share your creations")]

I really don't mind registering to use apps, but only AFTER I have tested the apps. I do have apps that I needed to register to use FULLY, but I could test the app before hand to some sort of limited option, just like B4A trial being limited to 30 days and projects being limited in size.
 
Upvote 0

LucaMs

Expert
Licensed User
Longtime User
I really don't mind registering to use apps, but only AFTER I have tested the apps. I do have apps that I needed to register to use FULLY, but I could test the app before hand to some sort of limited option, just like B4A trial being limited to 30 days and projects being limited in size.
"to register", here, is just choose a nick and if you wanted to use the same on a second device, you have to provide also a password... or not?
 
Upvote 0

ilan

Expert
Licensed User
Longtime User
If you, IT experts, "do not understand" at first glance that you can leave the email edittext empty and that you need only to choose a nick and a password, "normal" users will be more frightened

that is correct. you always need to think of "normal user" using your app and not developers.
i was 2 months ago in a google lecture and several topics were discussed one of them was how to make your app interesting and keep user using it.
the google guy talked about UI and other stuff that are very important to keep your user and if i remember correctly he said that you have about 5-10 second from the user before he decides to uninstall or to keep your app so the first impression is very very important. so he also mentioned about registring on app start and he said that almost every user will uninstall such app so NEVER ask the user to register when he starts the app for the first time and if a registration is a must like social media apps that you need to make your ui very nice and professional and explain a little about your app befor you ask to register and also make clear why you ask to resgister and if you ask for details that are not necessary to continue then write it with "(optional)" because if the user thinks he must enter that detail even he dont then it may lead o an uninstall.
 
Upvote 0

LucaMs

Expert
Licensed User
Longtime User
I really don't understand why but...

inserting a "Wait For" (online registration) between two Logs, on the emulator (A 7.10) in DEBUG MODE now everything works; in Release mode, it crashes.

[And no crashes on my "old" devices, of course]


Well, this OT should be considered closed :):(
 
Upvote 0
Top