Been a while since I've posted in here, so I trust everyone is still all as crazy as they've ever been :-)
As you may have deduced from the title of this post, I'm looking for a little guidence on Accessing SQLite on the NSeries Nokia handsets
I know that SQLite is the chosen database layer for symbian and that it's accessible from C++ , however I currently have a project that is a port of an application already existing on windows mobile, that the owner now wants to port to the NSeries platform, unfortunately there is a requirement that it be done in J2ME
From what I can see and what I've researched on the internet, there is no J2ME access to SQLite from a midlet. There are Java wrappers and at least one full fat pure Java SQLite implementation that I've come across, but none are suitable for use with J2ME due to some underlying classes the implementations require not being present in the CDLC spec.
I've been toying with a number of ideas, and have also looked at a couple of alternitives other than SQLite that may do the job. One of my Ideas involves using a C++ DLL written for symbian, that I could then call from J2ME to make the required calls into SQLite, this would be a preferable solution if I can't get SQLite access as the device must carry a copy of this local database for offline use, and the DB has already been constructed for the windows mobile platform using SQLite.
My Questions therfore are as follows:
A) Is it in anyway possible to access the SQLite implementation that is part of symbian from within a J2ME midlet.
B) If the answer to A is no, then is it possible to create a C++ DLL or other access layer that can then be called from the J2ME app and then pass those calls down to the lower levels.
C) If B is possible, then does anyone have any pointers or know where I may find further information.
D) If none of the above are useable, then what options are other developers using to access local SQL based databases that reside ON DEVICE, I'm highlighting this aspect particular beacuse everywhere else I've asked, the imediate response has been "Talk to a DB server", this unfortunately is not an option the SQL database MUST reside in the devices file system (Most likley on a memory card)
My initial thoughts are implementing my own custom interface and then calling it using JNI, but this very much depends on weather or not Nokia have fianlly decided to allow us authors to access to the OS by opening up the JNI sublayer.
I'm also not too bothered about portability at this stage, as the target for this version is squarely on the N series nokia, with th minimum spec device being the N95 (FP3)
For further pointer, post a message on Symbian forum asking how to craete a background runing on device server application access SQLlite DB and act a midile layer between your J2me midlet and SQLlite DB.
Your J2me midlet will access this as a server runing on local host on a predefined port no, using GCF and work with SQLDB..
I want to be able to test the daemon seperately from the midlet, any one know what the IP address is of the emulator so I can connect to it from the test PC using an app such as putty?
I'll be creating my own protocol for the Localhost link, and while developing the protocol I'd like to be able to fire up the emulator with the server running, and then connect to the emulator to type the protocol commands in directly accross the soket connection.
Does the emulator actually expose an external connection, or do i simply just connect to my PC's local host?
I've never really used the emulator much as I've always had real devices to test on in the past, but unfortunately this time I only have the emu.