I am working on an android app with a group of people and we have our app connected to the database where we store user accounts for the app. We are making a my profile page and we want it to support features like edit password, email, ect. How would we go about doing that? So we need to give that user permission to their information on the database and allow them to edit their name, password, ect. We are new to android development, and I am now coming up with any sites on google on how to do this. Any links, tutorials, would be amazing.
Oh and our database is written in MySQL, its on a remote server.
This doesn't really seem like an Android question specifically. Seems to me there are two components here: the server-side component and the client side. The question about how to implement updating values in the database is a question about
how to expose such functionality in a web API
how to actually perform such CRUD operations in your MySQL database
In other words, think "thin client, thick server". Your app should be concerned only with the UI of updating a profile and with sending those updates values to the server that knows how to handle that. The latter part of this is purely a web development/API development question.
While this may not answer your question exactly, it does point you to the correct area of inquiry, which is oftentimes the most important skill in searching for an answer.
Related
For the past few days, I've been trying to understand what exactly is Firebase. I am in need of some more 'beginner-friendly' answers on the subject. My intention is to create a backend for my Android project. For my previous project , I used a GoDaddy host , PHP, MySQL and it did work just fine.
I am in need of stuff like these :
Storing string data. Like user email , password , profile picture path , number of friends etc.. (in a single row)
Uploading and downloading files. Video , audio
Creating a real time chat messaging system inside the app.
I am currently reading Firebase guides on user authentication. For example there is a method for signing a new user with email and password , but what if I want to store more than just email and password? Is Firebase fully customizable? Is it easy to use , or is it designed for professional developers only?
Firebase is fully customisable yes.
If you want to store more than an email,password etc, you can do so my creating a well structured JSON first. You can then try and map this to firebase db.
Firebase is a good and stable backend as a service platform and it is used by plenty of professional apps. It is fairly easy to use. Follow their youtube channel for tutorials. They have very good tutorials and explanations about how things work. I am in the exact same boat as you, learning firebase.
You may also want to look at alternatives like pubnub and pusher for the requirement of yours. They work in a similar way.
Hope this clears some of your doubts
I have a question that probably has a straight forward answer, but I am asking here to make sure.
If I want to develop an app with users (e.g. Snapchat, Wordfeud etc.), how do I do it? Do I have to use a database of some kind? The users will not have much information stored to them, say nothing more than a username and a score collection.
Can I do this without using databases?
And how do I even set up an app for having users?
You need a database.
For the simplest, you can set up a MySQL database on any server, and make queries to it.
You can follow this tutorial: http://codewithchris.com/iphone-app-connect-to-mysql-database/
You will need a database if you want to implement some functionalities like friendlist and sending messages.
To handle the authentication, Google has built in tools to help you :
https://developers.google.com/identity/sign-in/android/sign-in
I've done Android development before (junior level obviously), now trying something different.
I just want to know how to store information to internet and other people can see? I guess it is not SQLite etc, please point me a right direction so I could follow.
I mean it is an app, whoever has it on his phone can input some information and other people who have downloaded and installed it can see the information submitted.
For a website, obviously the host will provide the storage but how about an Android app?
Thanks!
A client/server architecture is what you're looking for.
In order to have unique information reachable by all users, you have to provide a web-service linked to a database on your server that the client app (the android app) will query via the Internet.
There are many ways to implement such architecture, but I would recommend you to learn about REST web services, Java EE, etc...
After your last edit, I see your point. (Before that it wasn't clear what you were asking exactly)
For storing information -- that can be on file, database, webpage, etc. -- you obviously need a place to store your data. You're right. With website hosting you mostly get a database with it and that can be used to store information. That is the same with an android (or any native app). If your host is providing a database or cloud storage seperately, you may choose that option. In order to use that place, you should setup your host's server's IP address in order to reach it over the internet. In order to reach your database remotely, you can use your platforms native tools.
But if you want to create multiple clients (like client apps for ios, android, windows, windows phone, etc...) you need to create a Restful API to serve your data and that API should be hosted in the cloud. Then your native applications can use this Restful API you created and get the data from your database through it. That API will be the bridge between you native apps and database and you can configure your data manipulations and security (Access Tokens using Bearer Token Headers) on that API.
Does that answer your question?
P.S. Sorry if I offended you with my comments, but it's not the duty of moderators to warn and improve first messages of new comers. When you take a look at the Help Section, you will see what I mean.
I have already an location based app which functionality i want to expand:
A user can login to this App via Facebook and also other users are logged on their own Mobilephone. Both can see the location of the other.
So basically an location aware meet people APP :-)
How can I do this? Backend with PHP and mysql database?
Are there already existing solutions I can use?
Tutorials available describing this?!
the infrastructure you need is achievable in many many programming languages and many types of databases.
In the end what you need is a server running that can store the location data sent from the users. Ideally i would tell you to use webservices in order to achieve this.
Next, you will need to implement a location service app that works on the user smartphone and uses the web services to send information and get information to and from the server.
Programming languagens you can achieve this are so many. For example, in the back end you can use a mysql database with a tomcat server. if u need a front-end for the server you can use java server pages, php, whatever u feel more confortable with.
for the mobile phone there are hybrid application for different OSs. for android specifically you will use java. if u want to save some info in the phones you can use a SQLite database. this is important if you want to send data only when internet connections are available.
Those are the kind of things you have to deal with. Hope i helped you.
Good luck.
I want users to send textual feedback to myself(the developer) directly(without involving Google Play).
Hence, I can get the suggestions to improve my app directly to myself, instead of users writing negative reviews on Google Play.
I do not own a website nor have access to any server.
I do not want to use ACTION_SEND, as that opens an email app.
I'm an android beginner and this is my first app.
Maybe that data can be stored in a database(on cloud, common to all users) that I can access at any time I want?
After researching, I think GCM is supposed to be used, but I no idea how to go about it.
Please tell me the easiest way to implement this.
Thank You.
That is not what exactly what GCM is for. GCM is primarily for sending data from the cloud to the the devices.
You are correct in thinking that one option is to store the data in a database in the cloud. You could use http://pythonanywhere.com free account and build a web app that provides you endpoints which will save and retrieve data to a SQLite db pretty easily (if you have knowledge of python and server side web concepts).
Another perhaps simpler option is to use a pre-existing cloud database solution http://www.parse.com is a cloud backend that also has a free-to-use option that you can use to store arbitrary data. It is pretty easy to get up and running if you follow their many nice Android tutorials.
One last option I will present is to use a Google Spreadsheet with a Form associated to it. Once you create a form if you know the right url and parameters you can send a post request to insert arbitrary data into your spreadsheet. I've created a library that simplifies the process of uploading. GoogleFormUploader. If you need help getting your form set up you can watch the relevant portion of my video tutorial covering this topic