I'm newer to GWT,MGWT and gwt-phonegap .My task is to store or get the data from
local storage db of iPhone/Android device.Can any help me on this. I'm using
Gwt-Phonegap in my application.if you provide me developed samples,I'll be very much
thankful to you.
waiting for your valuable reply
Local storage isn't a db
you can see examples here
finally I became expert on LdbApi for GWT and MGWT to store date at client side.
I'm providing the link, so that It'll be useful to beginners like me.
Local DB
Related
I am developing a hybrid Cordova app (but only for Android platform) using Meteor.
App should have offline support, in a way that a user can add objects that are stored offline, in a SQLite database, and after the user connects to Internet, sync the data with server (Mongo database).
Problem is a can't find any solution for synchronisation.
I have looked at GroundDB that provided the mechanism for synchronization I need, but stored data in localStorage which doesn't provide enough storage. In newer versions it doesn't provide sync mechanism, only cashing.
Do you have any suggestions or experience with this type of problem? Any help would be much appreciated.
You could look at LokiJS, which is in a high performance JS database, with features to sync to Mongo.
I haven't used it myself, but from looking at the site, it may do what you need. http://lokijs.org/#/
You can also check out MongOGX which is a Javascript "clone" of mongo for the front end
I'm working on a web app using eclipse and gwt. I need to store some data. If I was building this for android, I'd use an sqlite db. But I'm making this for a Chrome Packaged App, the data needs to be stored with the client and remain there. I can't think of what to search for, does anybody have an example or tutorial or guidance? thanks
If you are allowed to use HTML5, Local storage will suit you best.
More info here and here.
GWT actually already has this.
Check it out:
http://code.google.com/webtoolkit/doc/latest/DevGuideHtml5Storage.html
You have tagged this as HTML 5 so I suggest trying localStorage?
The Chrome browser supports sqlite as well; should work more or less straight out of the box (at least it does for my apps). At least on modern Chrome releases.
Because you're building a Chrome Packaged App, you can use any storage API supported by Chrome. That includes Web Storage and Web Database, as others have already said, but also (on recent versions of Chrome, so it depends on your schedule) File API and Indexed DB.
Everything you can do in JS, you can do it in GWT.
As others have said, GWT gives you built-in access to Web Storage. The gwt-mobile-webkit project brings you Web Database. If you prefer the File API or Indexed DB, then you can use JSNI to access them from your GWT code (unless someone else already wrote a wrapper library).
If you choose the Web Database (which is just SQLite accessible from JS), you might want to set the unlimitedStorage permission.
I want the way with the fastest execution time. I'm not feeling comfortable of using web service because i need to create separate php pages and retrieve data as xml. If you think its good to use web service please tell me why. I want to code my database queries right on my c/objective c pages.
I've been searching for libraries. I saw this sequel pro - won't i have any problems on using this - like licensing issues? I also saw this libmysqlclient of cocoa but some say its not working well. I've also read about a library developed by Karl Kraft found here http://www.karlkraft.com/index.php/2010/06/02/mysql-and-objective-c/ but don't know if i could trust this.
I would really appreciate you help.
Definitely build a web service to act as an abstraction layer to your database. Here are some significant reasons in my opinion:
Since you want speed, you will be able to add caching when using the webservice, so you will essentially eliminate the need for identical queries to run (sometimes).
If you need to change your data model later, you just have to modify the webservice backend and don't have to update your app.
You can better control security by not exposing the database to the world, and keep it safe behind the web service.
Your database credentials should not be stored in an app. What if you needed to change those?
I strongly suggest a web service. Hope this helps.
Connect to your DB by PHP and output the result as JSON
is much better and faster then xml and less coding if use JSON Framework.
and never never try to connect to your DB from your iphone because it easy to sniff out the request from iphone.
Being safe then Sorry, keep that in mind
i am trying to create an app that connects to a mysql database, downloads the records in the table for the user then displays them in a UITableview which can be drilled down with the data that as downloaded from the mysql database. I would also like the data to be stored locally in something like sqlite. The data would then be modified then uploaded back to the mysql database.
My questions is where do i start? I have read alot of posts on google and they say that its best to connect to a xml which acts as a middle man between the database and the app. How can i create this xml file? is it something that is generated every time the app is launched or something done daily on the server?
If anyone can help me out. i know its a very broad question so if someone can point me in the right direction im not asking someone to right this app just a hand as im lost.
Thanks,
Aaron
I know others have mentioned links to libraries that let you connect to MySQL from iOS. I've not tried them myself but don't rule that out.
To answer your quest, you do not "create" the XML files. Web services are developed in a language, and written as applications. You would in essence need to write another application that runs on a server. That application would connect to your MySQL database. That application would also publish methods for getting at, and updating, data. By virtue of making your server a SOAP web service (in whatever platform), the data will be sent over the wire as XML.
If I have understood you want a kind of ORM?
If so you can check for Restkit and more specifically on the side of the object mapping system. It allows us to synchronize remote object/data locally with the coredata.
I have never used it, but I have seen a great tuto which talking about that here: Advanced RestKit Development (However I think it works only with json messages).
I hope it'll help you in your reflection.
I would recommend looking at XML Parser, Webservice, and Core Data tutorials.
SOAP and XML Response Parsing Samples for iPhone/iPad?
http://www.techotopia.com/index.php/An_iOS_4_iPhone_Core_Data_Tutorial_%28Xcode_4%29
That would be a good start, and I could give you some more material if you would like. As far as setting up your actual web service, I've never done that so I couldn't help you there.
Do I need to implement my own sync methods in order to make an offline web app (html+css+js) stay up to date with changes made on the server (and viceversa)? I'm using MySQL on the server side.
I read Two-way sync between iPhone application and web application with some pointers but I think they're talking about native applications when they mention CFUUIDCreate and I wander if this is possible for the Web.
Does someone have some code to share or maybe can point me in the right direction?
Thank you!
P.S.: I hope my english is not that rusty ;)
To store static contents on the client-side, as Jethro Larson said, the Application Cache Manifest is the way to go to cache the static contents of your website (HTML, CSS, JS and images).
To handle dynamically generated contents offline, you can use javascript templates. There are several solutions for this.
To sync the two databases, there is a project called persistence.js (persistencejs.org) which is a javascript library which offers a unique API to work with WebSQL databases, Local Storage, etc. They have a plugin for this library called persistence.sync (persistencejs.org/plugin/sync) which syncs the remote database with the server's one. It consists of POST and GET requests to a specific url that you can configure (for example yourapp.dev/sync). They have an example back-end written in node.js and here is one for Rails. It's simple to understand and persistence.sync is well documented.
Look at the offline cache:
http://www.webreference.com/authoring/languages/html/HTML5-Application-Caching/
http://www.google.com/search?q=offline+cache+html5
http://www.slideshare.net/search/slideshow?q=offline+cache