Hi! I am a 15+ year veteran with Oracle technology but newbie to Mobile applications. I have spent a couple of days reading all the documentation provided with Oracle Database Mobile Server, but still have some fundamental questions! Hope this is a quick answer for someone on this forum.
I seek clarity on (specifically) what files do I include in a packaged application (more detailed description further below)
Oracle Database Mobile Server 11g (220.127.116.11.0)
Oracle Database 11g (18.104.22.168.0)
Oracle Weblogic Server (12.1.1.)
Here is what I have done thus far:
1) I have installed Oracle Weblogic Server and Mobile Server successfully. Logs are clean. I have installed Mobile Client on the same machine as the Mobile Server.
2) I have installed Oracle Setup, Oracle Update and DMAgent apps successfully on an Android handset
3) I have created a new user and can see my registered Android device on Mobile Manager screen
4) I have created a basic Helloworld application using Eclipse and run it in Android emulator. Now I have various directories like /bin, /src, /gen, /res and an AndroidManifest.xml file in the workspaces directory being used by Eclipse.
5) I fire up Publishing Wizard and create a new application definition. I am not sure which files and directories to include in the application. I have tried all of the following to no avail:
- All files and folders
- All files in /bin
- Only the Helloworld.apk file from /bin
- Exported a jar file from Eclipse of my project and tried to package that
All of the above publish with no errors that I can see. I can see the published applications in the list of Applications in Mobile Manager. When I take an Oracle Update on my Android phone it shows the new Helloworld application, but then I get the error "Could not parse".
I am obviously missing some fundamental understanding. Seek your inputs.
Additionally, I have tried publications, publication items etc. All of these show up fine in Mobile Manager. I thought of trying a simple HelloWorld before I try any database application
Re Point 1. You should not install the Client in the same machine as the Mobile Server as this isn't supported and can cause issues though I do not believe in your circumstances it makes any difference.
I note that you are using the Android Client and are wondering about the Packaging Wizard
With the Packaging Wizard 'Files' tab this is meant for you to specify which files you want to be downloaded to the device when the Client is installed. Note that this really only applies to Windows CE and Win32 Client.
If you are using Android then its just the APK file that you need to install onto the device. Once installed you should see the 'Simple Sync' Application on the device which is what will Sync your data and create the DB on the Client itself.
Thanks for your informative response. I believe I have tried just the APK but I will go over my steps again to double-check. I will take the liberty of asking you another related question. I have written other small data applications with Titanium. So I built a project with the source files and included the SQLite data file into one single APK. In OMS, what would the equivalent look like? Here is what I am lacking clarity on...
- So I would create Java source for my application and build APK using Eclipse
- I would create a Publication and publication items
- I would use Package wizard and package the APK and Publication together. I am not sure whether my app will be able to access the table(s)? Is there any trick to reference these tables.
I will post a full example once I get through as there is a lack of clarity in these steps in the documentation. thanks again
I have made some headway but am still confused about how the database gets addressed. I will post a full example on a separate thread at the end of my ongoing exercise. Here is what I have done since my last update (Thanks Richard).
1. I created a simple Hello World application using Titanium Studio. I used Packaging Wizard to upload this application to Mobile Server. I can see this application now under Applications.
2. From Mobile Manager, I gave access to this application using "Access" to the user ANAND (a new user that I created).
3. On my Android device, I downloaded and installed Oracle Setup, DMAgent and Oracle Update
4. Ran Oracle Update, registered device. I verified that the device is registered using Mobile Manager. Then installed my application. I was able to install the .APK file and run Hello World on my Android device. Wow!
5. Next I created another simple application using Titanium to try db queries. In Titanium, I wrote the application and then added a SQLite database to the resources using Titanium Studio (I created the SQLite database using SQLite Manager under Firefox).
6. Created another Application and published the .APK using Packaging Wizard. Worked fine again.
Now the next major step for me is to figure out how to get my application to use a database publication (I think?). So I edited my application in Step 5 and removed the SQLite database from resources
7. Used MDW to create a new Publication and added two simple Publication items to it (select col1, col2 from table). I tested the publication and deployed it using MDW (File->Deploy). Seems to work. I can see the publication from Mobile Manager.
8. I fired up Packaging Wizard and created a new application. Provided the .APK file and the Publication simultaneously and published a new application. It published okay I think. I see it listed in Mobile Manager.
Gave access to this application to ANAND
9. Fired up Oracle Update and see my new application. When I try to install the application, I get "Could not parse application" and Force Close.
I seek help on the following (I have scanned documentation and tried to search on Web for hours already!):
- My understanding is that the Application and the Publication get published into the Virtual Directory specified in Packaging Wizard. Is this correct?
- If so, how does the SQLite database itself get created in this folder. My application is not providing any PATH to the database. So it must be looking for it in the same directory as the application. I am not sure whether this is the source of the "Parse Error". Seems unlikely.
This Forum does not appear to allow upload of files, else I can upload some screenshots. I can sense the end of the tunnel. Can someone help? thanks in advance
i have a issue from the connection and sync with SQLite, and in this moment i'm very confused whith the form oracle database mobile client sync the database. i created my tables in oracle 11g back end database, and i created my publication that created a database in my pocket but i can't connect to this database file because appear a issue: file opened that is not a database file file is encrypted or is not a database. I used the system.data.SQLite provided from oracle in the installer of ODMS. the version of this dll is 22.214.171.124.
the other manner i try, is creating a SQLite database file directly from code in the application in windows mobile with the same structures of tables and names of oracle, this created the database and this works, i can connect with the database but i can not sync.
please help me!!, i have 3 days lost for this issue.
I spent several days trying to understand how the Mobile Client, Application, Publication, Items etc... all fit together. I think I have a decent understanding of all of this now. I also decided to document my experience formally in a blog. Hopefully it will help others including some who have followed this thread.
Please visit http://oracledms.blogspot.in. I have shared my understanding of this architecture along with details and an example with screenshots that will hopefully help others. Will close this thread now because I think these questions have been answered in the Blog!
May I also recommend that you start from the first post of my blog before jumping into my example. I think it will help you understand the concepts. The Oracle documentation has room for improvement here.