This is my first post. Like a lot of programmers I am trying to get better in my career but sometimes is not easy and sometimes we can't find where we can start.
For me, has been a long journey and the most of time I have been lost.
I found this community some weeks ago and I decided I could write something. Something I can use to study and I can share to other programmers like me.
Soon, I will have some interviews. I will collect in this post some of the things I am studying. Just Android Theory.
All this information is not copy-paste, I read and I am sharing my thoughts. It could be mistakes in definitions. I am trying to explain with my own words and understanding.
I have been in both sides as an interviewer and a interviewee. I will share with you some of the most important questions I got in all my past interviews as an Android developer.
Android contain 4 main components, these are:
Activity: is the first component that a programmer knows in Android. Is a simple screen with UI. An Activity contains an xml where the UI is programmed and a class with all code related to the actions of activity.
Services: is a component used to keep an app running in background. A service doesn't have a UI and is used mostly to perform long-running operations. This operations could be play music in background or download data when the user is in other app.
Broadcast receiver: this component helps to communicate the system with an app. The system can launch an event to send a message saying the battery is low or the screen has turned off and the app can catch this event with a Broadcast receiver. Is not necessary the app is running to get an event from the system, for example an app can schedule an alarm to launch a notification, even the app is not running the notification will be showed. Also, an app can launch a Broadcast Receiver to send a message to other app, for example an app warning other app about some data has been downloaded.
Content providers: Is a shared set of data. For example, Android system provides a content provider for the user's contact information. With this content provider any app with proper permissions can access to the user's information to read it or write on it.
If any of my post have mistakes, I am open to any feedback. Sometimes I could do bad explanation, so any comment is welcome. Together we can create a better guide to study and learn.