Astraport
Astraport

Reputation: 1257

How to embed a SQLite DB (*.db file) to the AIR application?

I want to emded SQLite database (*.db file) to the AIR app, like images, mp3 etc. This is to ensure that it was impossible to copy my database for other users.

Upvotes: 0

Views: 1553

Answers (2)

RIAstar
RIAstar

Reputation: 11912

No, you can't. And even if you could package it, the data wouldn't really be protected: since an .air package is in essence nothing more than an enhanced .zip archive, anyone could just extract the database from the .air file.

What you have to do is encrypt your database and protect it with a password so that only authorized users can access the database.

There's ample documentation on how to do this. Here's a tutorial from Adobe to get you started: http://www.adobe.com/devnet/air/flex/quickstart/articles/encrypted_database.html

Upvotes: 2

Ben
Ben

Reputation: 531

I think this is not possible. If you embed it to the air file andinstall the AIR app the db will be copied to the installation folder.

You could create the database in the user storage location

var file:File = File.applicationStorageDirectory.resolvePath("name.db"); 

Users could still navigate in explorer to the file. It will be stored under /users/username/appdata/appname/Local Store

AppData is a hidden folder.

Upvotes: 1

Related Questions