I'm planning to use SQLite in my android app. But problem is, SQLite doesn't support Encryption officially without a license of SQLite Encryption Extention. So I just kept searching without any hope, and found something interesting. This link explains how to use SQLite encryption with AES 256 on the BlackBerry devices. And I could also get the information of how to use SQLite encryption in C# here.
1. Google android OS or other phone manufacturers support the function like BlackBerry as well?
2. Can I use SetPassword() method of SQLiteConnection class in C# without any plugin?
(I'm also developing an app in Unity5, so if the answer of No.2 is yes, it'll be very helpful. So I tried but only to fail)
Related
I know for sure that Firebase can work offline and store locally any changes you made to the database and whenever he get connection again upload the changes, when you're coding on android. This can be used in any Java aplication, or is it only in android? I've searched but find nothing about this. Thanks in advance!
firebaser here
Disk persistence is only available on iOS and Android. It is not available in the Java Admin SDK.
is it only in android? -- No, as you know Firebase is a technology that permits you to make mobile and web applications with no server-side programming so that development turns out to be quicker and easier.
You can use Firebase with-
Android
Unity
IOS
Web and more
Check this SO question.
Also, here is what I found.
I am developing an iOS app using firebase, but I also want to create a java desktop application that accesses the same realtime database that the app uses. Is this possible to do? I feel as if this should be able to work because firebase works for Android apps which are written in Java. If this is possible, please give some details on how to go about doing this. Also, I am asking this in regards to the new and revamped firebase website that Google just recently announced.
Firebase has a server SDK for Java that should also work in a desktop Java application. The code is very similar to the Android Firebase code so you'll see familiar classes like DatabaseReference or ValueEventListener.
I have few questions regarding development of desktop application and I can only access internet for first login where user will authenticate himself. I have an idea that I'll bring in the key used to encrypt videos from online server and save it to local db so key isn't in the code for anyone to inspect.
Is it a good method? As app will be running offline and I don't want anyone to access my videos.
I will have to decrypt one video and play it unless there is some method that decrypt and play on the fly like libmedia does it in android. I have no preference whether I have to develop it in Java or C#. Which language provides better obfuscation keeping in mind that I only need it for windows OS.
Thank you
It sounds like your are trying to develop a sort of light weight DRM solution - unfortunately, this is going to probably be lightweight in the protection it offers also.
For example, if you store the key in the DB it will still be relatively easy for someone to get to it using a regular DB viewing tool.
DRM is not really about making it impossible to copy content - more about making it hard enough to do that it is 'not worth it'.
Depending on how 'secret' or valuable your videos are your approach may be fine - i.e. you may make it enough work to find the key etc that uses won't bother. If your videos were regular studio produced content then they would probably not be happy with this level of protection.
If you do need stronger protection then regular DRM from MS, Adobe and Google etc is available through many of the standard video hosting providers (Brightcove, Ooyla, Kaltura etc) and the DRM they use will support offline playback, which I think is the requirement you have.
They will also all allow decryption and playback 'on the fly' - i.e. you don't have to decrypt the whole video before you play it back (in fact they would typically not do the whole video decryption first anyway as you would then have the whole content in clear stream making it easier to copy).
I need to create an Android app that performs the cloud sync with the data. I came across Parse SDK (BaaS) and tried some sample app.
Now, for providing features like local data storage during offline use and syncing up whenever network is available, I was wondering weather we have to use Local SQLite DB. But I noticed Parse provides 'Local Data Store' feature as well.
https://www.parse.com/tutorials/using-the-local-datastore
So is it necessary to use SQLite in the app then?
What are all the cons if are sticking to Parse and avoiding SQLite.
I had the same problem in my app.
What i found out that SQLite is faster than parse's local storage, and a bit more stable. Also plus is that you can encrypt SQLite databases.
I dont remember now exactly what happened, but i think there were some crashes related to local storage. Also it didnt work as expected. On some devices the parse local storage was very slow.
In general i would recommend using SQLite. Also there are some architectural problems that cant be solved with Parse's local storage. Those pin and saveInBackground methods were not so transparent to me, so i ended up using SQLite instead.
There were different frameworks for SQLite, but i couldn't get my head into them and ended using SQLite without frameworks, which turned out to be easy.
I have basic knowledge of Java but have never developed for Android.
A friend asked me for an app that seems easy enough to develop but I would need some help for Android.
All the app needs to do is send a text field (for example license plate number) to a predetermined SQL Server database.
Is this easy in Android as it sounds?
Thanks in advance. Cheers.
Darko.
That should be easy, but does it need to be a full-blown Android application for that?
Sounds like a simple webpage with an input-field and a submit button would do the job as well.
If you're familiar with using databases from Java the task is very simple. Just write the code that sends a string to a database. The exact same code you would use on a desktop Java application will do.
The rest is a matter of defining your user interface and obtaining the string. There is a good basic tutorial you can use on the Android developers web site: http://developer.android.com/guide/tutorials/notepad/index.html.
The number of code lines in the whole application will be in the range of a couple of dozens.
It sounds like you want the license plate information stored in a separate server, but if you also wanted to store some information on the device itself there is a simple Notepad tutorial provided by the Android Developers site that explains how to setup and utilize an SQLite database on the device. This by no means would replace the functionality of a server, but is another Android feature that is at your disposal.