Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Here is my scenario: I need to distribute optional content packages for an Android application in a secure/protected way, i.e. prevent download of the content from outside the application. The content consists of zipped SQLite database creation files with sizes up to 4 Megabytes. The packages will be updated 4 times a year. I have currently about 1000 active installations. This means at peak times traffic for downloading the content package updates could yield in about 4 GB per day. The installation base of the app grows by roughly 100 users per day.
Based on the scenario I wonder how to solve the following issues:
What would be the best way to distribute the content? HTTPS transport? What would be a recommended way to do authentication (e.g. passwords, certificates)? Should I use password protected Zip files instead?
Which infrastructure should be used for content delivery that fits the following criteria:
support of the protection mechanism from 1) out of the box
easy to setup and maintain
scalable and download nodes in Europe and the US
relatively inexpensive (not more than 30$ per month). Ideally pay-as-you-go bandwidth.
I was considering CDNs like SoftLayer, Amazon CloudFront, etc. Any recommendations?
I don't think you need a fancy server configuration. From what I understand HTTPS is used to secure the link between the client and the server and basically ensures that you are connected to the server you think that you are. But any HTTPS capable client will be able to connect to the server and request your files. So it won't help with what you are trying to do. (If you were trying to prevent someone from impersonating your server then you would use it.)
To solve the problem you describe you'll probably want to use standard file encryption. This will keep your content safe from anyone that does not have the cryptographic key. Someone will eventually be able to dig the key out of your app, but you can update to new keys and hopefully make it more of a pain than it is worth.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
This might seem a bit crazy and it is, but its one of those things you do just because it's vaguely possible. I'm trying to host an SQL server on an old android phone of mine to be used as a personal database. Preferably Postgresql or mysql whichever is possible (I'm not worried about the difficulty.)
I've done a little digging on Google and only keep finding results for connecting android apps to SQL databases. So what I'm trying to do is host an SQL server on my old HTC one M9 and only intend to keep it isolated to localhost and my laptop would be the one device running queries to the phone. I'd keep the physical database stored on the memory card so maybe it can be moved about. Note all data stored here is only for testing and I'd just host a Postgresql database on an aws instance after the app goes live. I know there are a few free cloud providers for testing but I'm just too hipster to do that.
Any suggestions or links to get me started on my crazy idea would be appreciated. Thanks!
Since Android runs Java by definition, I would think that any Java-based RDBMS should run. I would try with:
H2 database.
HyperSQL database.
Apache Derby database.
My guess (since it's not more than a guess) is that setting up any of these just requires a JVM installed and nothing else. Since Android already has it it sounds like any of these should work.
And I have a high opinion of H2. It's a powerful engine and supports quite complex SQL.
Good luck!
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I am creating my first Android application. This will be something like a Diary or Notebook.
Andorid part is almost done and I don't know what should I do next.
Should I use data base, server....
Or can I use Drive API instead of both?
Thank you
If you're creating a note or a diary app, your better off using some sort of database, whether that's a local SQLite database on the device or a remote database.
If remote it will need some sort of web service to communicate with the database as Android doesn't support connecting to remote mysql databases such as MySQL.
Whether the database is local or remote, it doesn't matter but this would be the better option. If it is stored in the database you can store and retrieve the meta data more easily, such as creation time, title, etc whereas in Google Drive you would either need lots of files or store the data in 1 file in a particular way that you can then parse to get the meta data out.
You could however, export the data from a database and store that on Google drive that can be used as a backup/restore option.
This is a variation on the perennial rdbms vs networked filesystem approach. Many large projects I have worked with have used both, even together. Usually an RDBMS gives you more flexibility and easier development, while a networked filesystem approach works better when you are working with other tooks which expect file-level access.
The simple answer is yes you can but it probably is not worth it. You end up having to do a lot of work yourself to implement what SQLite can offer you. And in the case of Google Drive, latency will likely be a killer.
So keep your data local and fast. And work with something that gives you the flexibility you need.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I'm currently developing an android application. It stores user login and sign up information using Firebase.
The challenge I'm faced with is finding a suitable database to store information from websites which I would gather myself and allow the app to automatically update and include that information.
Firebase doesn't have a GUI that can create tables and records, so it does not fully meet my requirements. It'll only be used for user authentication.
I've read answers to questions similar to this and saw alternatives such as:
AWS
Buddy
Kinvey
I currently don't have the budget to pay for a premium service so I'm looking for a free and reliable one until I can upgrade.
To sum it all up, I want a online database with either a GUI or text based (preferably SQL syntax), that is reliable and easy to understand.
For my first Android app where I developed it from my diploma thesis and to learn about android philosophy I used MongodDB.
MongoLab has free services to store your documents there. I used Java so you may have to look the MongoDB for java documentation, you can find it easy on the internet and the documentation is very explainable.
Also, for security reasons you may have to develop a restfull API and as a result you may have to use (for example) the PHP API of mongodb to cummunicate with a server and get the query results from there and use them for your Android app. You may have to search about how to get json data from a server to your android app but there are many tutorials about this too.
I have to mention that I am not an expert on which databases are the best to use for Android apps but MongoDB did the work for me.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I'm working on an ebook store application (my target users will be 10,000 users per months). It's very hard to make up my mind to select the backend between AWS and Parse.
Parse is very simple to use. It could save me one or two months development work. But I'm concerning about the number of requests per month. There are free 1,000,000 requests. But I don't know how they calculate the number of requests. I tested with the demo application. A simple run cost me 4 requests (there seems to be only one request in the code.). I totally have no clue 1,000,000 requests can server how many users.
AWS is free at the first year. It's more flexible. I can control almost everything. The problem is I have to do everything from scratch. Database, Web service, security, server management. Also it's very difficult to estimate the cost.
I'd like to hear your opinions about the cost, performance, scalability, security, etc. Thanks
Edit at 16th Nov. 2016:
Parse.com will terminate at 28th Jan. 2017. But it will provide a open source version. I personally think it's even better because I can host our own data at anywhere I like, for example, at AWS.
Regarding this very old QA...
Parse is now closed
back4app.com is the "new" Parse
AWS nowadays offers a full suite of such mobile services
generally, parse (now back4app.com) is much simpler, it is more of an all-in-one, "easy to use" BAAS. AWS is more industrial, expandable, a little harder to use and set up.
Parse have changed their price plan: you do not have monthly request limit, but burst limit. For free user it's now 30 req/s which is very fair.
For your question, yes, Parse will save you lots of time. I recommend starting with Parse for one reason: if they do not fit to you, you could switch after on AWS (or app engine with cloud endpoint).
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I am writing and publishing my apps on android and would like to provide help document (manual) to users of my apps. I've seen apps open up external web pages as their help, or use html view to open local html documents. Are these the ways we are supposed to deliver manual to our users?
Are these the ways we are supposed to
deliver manual to our users?
You can do whatever you want:
Use WebView directly for local content
Use Browser directly for remote content (e.g., Web site of documentation)
Publish your manual in EPUB and load it into one of the available EPUB readers, if the user has one installed
Publish your manual in PDF and load it into one of the available PDF readers, if the user has one installed
Use VideoView directly for local (or remote) "screencast" style instructions
and so on.
However, there is no built-in dedicated "help framework" in Android. If you wish to make a name for yourself in the world of Android, consider writing one.
Or, consider writing your apps so there is no need for help content. Obviously, not always possible, especially for highly targeted apps, but you can certainly eliminate a lot of help material with a correctly designed application.