I think that the web service based solution will be the most robust as it should be able to handle connections problems.
I plan to update it to use HttpUtils2 and I will also add support for compression. Compression should be very efficient in this case.
Thanks!, I figured that out today while testing.
My Initial tests were based on the SQL example which is almost 2 years old. While reading the doc I read that the 'GetString' method should not be used with Android 4.x.
So I re-wrote the whole thing with httputils2 and used my web programming language which is...don't laugh... Coldfusion. It's actually alot better than most people think! Since coldfusion code is database independent, I was able to use older clipper .dbf files to fetch my results from. I can now use any database supported by ColdFusion to get results.
I need to work a little more on the JSON data because right now, I can't directly transfer the JSON encoded Coldfusion Query object, I have to convert it to an array before sending it in JSON format and transferring it to b4a.
On a local lan, it take less than 5 seconds to fetch 1200 records from a server and insert them in a local sqlite database. I'm satisfied with that result but the compression sure will help on a remote connection!
The b4a ecosystem is evolving so rapidly that sometimes, important pieces of documentation are isolated somewhere in a single post.
Thanks for the replies and keep on the good work!
JF.