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.
Related
I have searched for weeks but I couldn't find any useful information about how to manage files while deleting in android.and want to develop an app to manage deleted files and APKs.can anyone tell me how I can achieve this?
Use SQLite to read and write data,
The limit of a SQLite database is something like 2TB. Your Android device will not have that much storage space.
You can get the SQLite tutorial, here it is explained quite well.
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 learning to build an android app for the first time...this is an educational project.
I don't have a database, and I'm not using a cloud server. The latter is slightly outside of the project scope, and I was advised that I was better using XML to store data, rather than SQLite.
My app should enable users to select images from their image gallery at runtime, these are then resized, and stored in the app (visually - it will look like a pin board of thumbnails). I was going to store them in the resources folder, but have just realised from reading other posts, that this isn't accessible at runtime.
Can anyone point me in the direction of what my options are when I'm not using a cloud server.
Is XML feasible? If so, how do I go about storing images in XML at runtime?
Can I make use of the SD card?
Or is SQLite the only option?
Is there any info where I can read about the limitations and benefits of each of these?
Any advice would be so much appreciated!!
Realm is better for you. Look at the below links you will get Idea to use realm in your project
https://realm.io/news/realm-for-android/
http://www.androidhive.info/2016/05/android-working-with-realm-database-replacing-sqlite-core-data/
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)
I'm pretty new to android so apologies if I'm missing an obvious solution, I'm developing an android app that would be used to record various data including photographs and hopefully the intention would be for this collected data to be uploaded to a desktop application where certain desktop specific jobs could be carried out.
Due to the fact I intend to save photographs within the app in the SQLite database as a bytearray which recorded information would be I think that it would be too data intensive to send to a server, plus I wouldn't want the desktop app to necessarily be on a server, it should be standalone. I'd prefer to use the USB connection and allow a USB upload of the data from the app sqlite db direct to the database on the pc, probably sql server. What would be the best way to approach this? Could the android ADB be used to acheive this?
Any help or suggestions on this would be much appreciated.
Regards
I believe that your sqllite database (as well as photos contained there) will be stored on the SD card of the device. You have to options here, first, when your desktop applications find the folder on the device SD card (should be mounted on the filesystem after connecting the device to your PC), second is to use bluetooth and initialize the transfer from the device to your desktop application.
You could try having them on the same network and having them interact that way. I know applications such as RemoteDroid do this, but I have no experience doing so myself. There is also the fact that there is the data saved on the sd card / by putting your device in Storage mode and you could just point your desktop to the device drive and assume a designated folder your app uses exists.
Adding on to the answers here, you could save your photos as files in your sd card and transfer it to your pc from there.
Here is a dev guide on storing files.
Another way is to transfer over WiFi. Ice cream sandwich seems to have a WiFi Direct api that allows us to perform P2P transfers over WiFi. I have not used it yet but have a look at this
Solution 1
I would probably use rsync between my desktop and android. This way you can export data from your sqlite to a flat file and import it to your local database on your desktop. This way you can also put your schema into a file.
RSync is a very stable protocol to exchange files.
Solution 2
You can also use Amazon S3 for this purpose. The file name can contain the version number for ensuring that you have the latest file.