Android Development

What is Android Development?

Any application developed to be supported by the Android Operating system using the android software development kit (sdk) on android studio is the process of android development. The open-source operating system designed by Google especially for mobiles is Android. Android OS has been developed using Linux Kernel. Because of the ability of easily modifiable (as its open source), most of the android developers have used different GUIs even when all of them use the same basic operating system. The open source code used for the development of android applications is Android Open Source Project (AOSP), 

android architecture

Any application for android system can be easily created by installing the freely available SDK. These applications support any device which is built in android OS and written In Java. These run on Java Virtual Machines (JVM). 

With over 2 million monthly active users, Android has been the most best-selling OS since 2011. Android comes with different versions of it and each comes with new features; distinct from all the old ones. The latest Android which hit the market is Android 11. 

Android is an open source operating system with the highest community and developers reach which is the highest reason for it having the increased marketing and inter-app integrations. Android developers move towards this specific field because of the reduced cost and resources and highest success ratios built on the richest development environments. And features such as beautiful user interface, highest connectivity rates, storage, media support and messaging is the reason why android serves as the biggest market in today’s technology world. It also has other features such as web browsing, multi-touch, multi-tasking, resizable widgets, android beam, Google cloud messaging (GCM) and multi-language.

android development tools

API Level:

As android has different versions in the market each having distinct features, the main asset behind it is the Application Programming Interface (also known as API) Level which is the specific API framework identifier. Different versions of Android have different features and advancements.

Android Architecture for development:

The Android architecture starts with the main user interface which supports the front end of the android applications; these can include applications such as calculator, clock, Email and alarm etc.

The second layer of the android architecture is the android framework which consists of the windows firewall, service providers and all the various managers such as packages manager and activity manager etc. The third layer consists of the Libraries and Android runtime which consists of SQL, SSL, SQLite and Lib-c etc. The lowest layer of an OS system consists of the Kernel which has all the drivers such as Wi-Fi driver and Bluetooth driver etc. 

Android Development Basics – Libraries:

The libraries are the basic tools for the development of the android applications. Some of the libraries used in android development and their main features are:

  • android.app: The basic for all the android applications is this library which is the key that provides access to the model of the application.
  • android.content: This is the second most important library which enables the support of content access and the relationship between application components and the messages transferring between them.
  • android.database: The main database supported by the android is SQLite and this library is used to connect the application to the database and access its data via the content providers.
  • android.opengl: This library is the which allows graphics 3D rendering via the JAVA interface using java development kit, also known as the JDK. 
  • android.os: operating system services such as messages, inter-process communication, task allocation and memory management are provided to the android applications via this library.
  • android.text: The library which supports text manipulation and which enable the application to render the text graphics on the android device.
  • android.view: This key of the application development which supports the user interface alteration.
  • android.widget: The user interface components such as lists, buttons, scroll bars, layout managers and radio buttons are provided by the induction of the library.
  • android.webkit: This is the library used to inherit the web applications and include the web browsing capabilities into the applications.

What is Android Application Framework:

The Android applications are created in the dedicated IDE Android Studio, using which any specific resolution can be set for any version of android. The front end high level services are provided by the Application framework – Java in the form of classes. The basic activities in the android application framework is:

  • Activity Manager: This is the Java class included in the android application which interacts with all the activities currently possessing the application interface and running on the program overhead. It tracks all
  • Content Providers: The content provider class in Android works as to provide data to other classes of the application. It works as the intermediary, on the requests which are controlled by the class name Content Resolver. It can also act as a data centralizer where it contains all the data and rest of the apps can access it from there. The developer can perform the CRUD (create, read, update, delete) operations on the data provided by content provider 
  • Resource Managers: It is a tool window which manages all the resources embedded with the application being created. Giant drawables can be easily imported in the project via the resource provider. The application logo which is named as mipmap in the application settings is also a type of resource managed by the Resource Manager.
  • Notifications Managers: The titlebar of the android app is where the notification resides and it can be easily altered by the notification manager. Notifications can be created via the notification class which uses the notification  manager class from the context.
  • View System. (Layouts): This basically is how the user interacts with the screen and views the functions displayed. Objects in these are called widgets such as buttons, TectView and ImageView etc. There are various layout types available such as Linear Layout and Constraint Layout. These layouts can be declared either at time of creating  the user interface (UI) in xml or at runtime.

These were some android development basics which a novice user shall possess in order to start creating android applications using the android studio. More documentation and tutorials are available on the web at the official Android Studio Docs which clearly explains step by step usage of the advanced terms used in development.