{"id":25955,"date":"2021-03-09T09:21:00","date_gmt":"2021-03-09T03:51:00","guid":{"rendered":"https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/"},"modified":"2022-10-25T11:54:12","modified_gmt":"2022-10-25T06:24:12","slug":"android-tutorial","status":"publish","type":"post","link":"https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/","title":{"rendered":"Android Tutorial - Everything You Need to Know"},"content":{"rendered":"\n<p>Android is an operating system developed and designed for mobile devices like smartphones, tablets, set-top boxes, televisions, etc. It is based on Linux and is an open-source operating system.<\/p>\n\n\n\n<p>In this tutorial, you will learn about the basic concepts and understanding of the Android Operating System.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"introduction-to-android\"><strong>Introduction to Android<\/strong><\/h2>\n\n\n\n<p>As mentioned earlier, Android is a Linux-based open-source operating system for various mobile devices. It was developed by Open Handset Alliance and sponsored by Google.<\/p>\n\n\n\n<p>Android was founded by Andy Rubin, Rich Miner, Nick Sears, and Chris White in Palo Alto, California in October 2003.<\/p>\n\n\n\n<p>Google released the first beta version of the <a href=\"https:\/\/www.mygreatlearning.com\/academy\/learn-for-free\/courses\/android-application-development\" target=\"_blank\" rel=\"noreferrer noopener\">Android Software Development<\/a> Kit (SDK) in 2007 and the first version of the Android i.e. Android 1.0 was released on 23<sup>rd<\/sup> September 2008. After this total 19 versions of Android have been developed so far. The latest one is Android 11 which was recently released on 08<sup>th<\/sup> September 2020.<\/p>\n\n\n\n<p>Android is a free and open-source operating system whose source code is available under free and open source software licenses, which is mainly under Apache License.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"features-of-android\"><strong>Features of Android<\/strong><\/h2>\n\n\n\n<p>This powerful operating system comes with some great features that are listed below:<\/p>\n\n\n\n<p><strong>1. UI (User Interface)<\/strong><\/p>\n\n\n\n<p>Android was developed with a beautiful and easy to use User Interface (UI). It provides different pre-constructed UI components, for example, structured layout objects and UI controls that permit you to fabricate the graphical UI for your application.<\/p>\n\n\n\n<p>Android OS also provides other components for special interfaces such as dialogs, notifications, and menus.<\/p>\n\n\n\n<p><strong>2. Storage<\/strong><\/p>\n\n\n\n<p>This operating system uses SQLite for data storage purposes. SQLite is a \u2018Relational Database Management System (RDBMS)\u2019 which is contained in a C library.<\/p>\n\n\n\n<p><strong>3. Connectivity<\/strong><\/p>\n\n\n\n<p>Along with some standard and basic network connectivity, Android provides Bluetooth, Wi-Fi, NFC, P2P, SIP and USB to interact and connect with other devices.<\/p>\n\n\n\n<p><strong>4. Messaging<\/strong><\/p>\n\n\n\n<p>Android OS provides SMS (Short Message Service) and MMS (Multimedia Messaging Service) to send short text messages, videos, photos or audios to other devices.<\/p>\n\n\n\n<p><strong>5. Multi-tasking<\/strong><\/p>\n\n\n\n<p>This operating system comes with a feature of Multi-tasking so that the users can use multiple applications simultaneously at the same time.<\/p>\n\n\n\n<p><strong>6. Media Support<\/strong><\/p>\n\n\n\n<p>Android supports different file types and formats including Audio formats: MP3, FLAC, AAC LC, AMR-NB, MIDI, Vorbis, etc. Video formats: AV1, MPEG-4 SP, VP8, VP9, etc. and Image formats: JPEG, PNG, GIF, BMP, etc.<\/p>\n\n\n\n<p><strong>7. Multi-touch<\/strong><\/p>\n\n\n\n<p>Android provides a great feature of multi-touch from which you can touch the screen with multiple fingers\/ pointers at the same time.<\/p>\n\n\n\n<p><strong>8. Web Browser<\/strong><\/p>\n\n\n\n<p>Android OS comes with a Google Chrome Web Browser with V8 JavaScript engine supporting HTML5 and CSS3.<\/p>\n\n\n\n<p><strong>9. Widgets<\/strong><\/p>\n\n\n\n<p>There are many widgets which are available in an Android OS which are resizable, so users can expand them or shrink them to save space.<\/p>\n\n\n\n<p>These widgets are very useful as they are the types of shortcuts that can be used and operated from the home screen itself.<\/p>\n\n\n\n<p><strong>10. Multi-language<\/strong><\/p>\n\n\n\n<p>Android supports multiple languages so that the users from all over the world are able to use this operating system. It supports single direction and bi-directional text.<\/p>\n\n\n\n<p><strong>11. Android Beam<\/strong><\/p>\n\n\n\n<p>With the Android Beam file transfer feature you can share small or large files to other devices. This is a NFC-based technology with lets you share files just by touching the two NFC-enabled devices together.<\/p>\n\n\n\n<p><strong>12. Firebase Cloud Messaging (FCM)<\/strong><\/p>\n\n\n\n<p>Firebase Cloud Messaging (FCM) is a feature that lets you send messages at no cost. Earlier, this feature was used through Google Cloud Messaging (GCM), but from 29<sup>th<\/sup> May 2018 it has been removed and replaced by Firebase Cloud Messaging (FCM).<\/p>\n\n\n\n<p>With FCM you can send notification messages or data messages, send messages from client apps and distribute messages to your client app to single devices\/ to groups of devices\/ to devices subscribed to topics.<\/p>\n\n\n\n<p><strong>13. Wi-Fi Direct<\/strong><\/p>\n\n\n\n<p>This technology is used to connect devices directly to each other via Wi-Fi without an intermediate access point. It uses a high-bandwidth peer-to-peer connection to pair devices when each device supports Wi-Fi P2P.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"applications-of-android\"><strong>Applications of Android<\/strong><\/h2>\n\n\n\n<p>Android applications are developed either through Java or Kotlin language using the Android SDK (Software Development Kit).<\/p>\n\n\n\n<p>After these apps are developed, they can be made available on Google Play Store, Opera Mobile Store, Mobango, F-droid and the Amazon Appstore.<\/p>\n\n\n\n<p>Without a doubt, Android is the largest installed OS and is growing very fast. Millions of android devices are activated every day.<\/p>\n\n\n\n<p>Below in this tutorial, you will learn about android app development. But before this, just take a look at some of the different categories of android applications.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"categories-of-android-applications\"><strong>Categories of Android Applications<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>News<\/li>\n\n\n\n<li>Sports<\/li>\n\n\n\n<li>Music<\/li>\n\n\n\n<li>Business<\/li>\n\n\n\n<li>Books<\/li>\n\n\n\n<li>Multimedia<\/li>\n\n\n\n<li>Social Media<\/li>\n\n\n\n<li>Lifestyle<\/li>\n\n\n\n<li>Shopping and many more<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"environment-setup\"><strong>Environment Setup<\/strong><\/h2>\n\n\n\n<p>So, here we are with the most important section of android application development i.e. the Environment Setup.<\/p>\n\n\n\n<p>The first and foremost thing you will need while developing android applications is a Computer or Desktop. Android applications can be developed on either of the following operating systems:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Microsoft Windows XP or later version.<\/li>\n\n\n\n<li>Linux including GNU C Library 2.7 or later.<\/li>\n\n\n\n<li>Mac OS X 10.5.8 or the later version with the Intel chip.<\/li>\n<\/ul>\n\n\n\n<p>The second thing you will need is the android application development tools. Here are those tools or software\u2019s that you will need to develop android applications:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Java JDK 5 or later version<\/li>\n\n\n\n<li>Android Studio<\/li>\n<\/ul>\n\n\n\n<p>Both of these tools are available for free and you can download them from the web. Don\u2019t worry, we have provided their setup process in the next sections.<\/p>\n\n\n\n<p><strong>Set-up Java Development Kit (JDK)<\/strong><\/p>\n\n\n\n<p>Download and install the Java Development Kit (JDK)<strong> <\/strong>according to your operating system version and requirement..<\/p>\n\n\n\n<p>Here are the steps to download Java Development Kit (JDK):<\/p>\n\n\n\n<p><strong>Step 1 \u2013 <\/strong>First click on <a href=\"https:\/\/www.oracle.com\/java\/technologies\/javase-downloads.html\" rel=\"nofollow\"><strong>Java SE Downloads<\/strong><\/a> link and you will be redirected to the Oracle\u2019s Java site.<\/p>\n\n\n\n<p><strong>Step 2 \u2013 <\/strong>Now look for the latest version of Java Development Kit and click on \u201cJDK Download\u201d link and you will be taken to the download page.<\/p>\n\n\n\n<p><strong>Step 3 \u2013 <\/strong>Here you have to select your OS and click on the download link after it.<\/p>\n\n\n\n<p><strong>Step 4 \u2013 <\/strong>Check on \u201cI reviewed and accept the Oracle Technology Network License Agreement for Oracle Java SE\u201d and click on the download link to begin. If you are using Windows OS, the \u201c.exe\u201d file will be downloaded.<\/p>\n\n\n\n<p><strong>Step 5 \u2013 <\/strong>Open the \u201c.exe\u201d file that you have downloaded and follow the instructions to install JDK on your computer.<\/p>\n\n\n\n<p><strong>Set-up PATH Environmental Variable<\/strong><\/p>\n\n\n\n<p>Set PATH and JAVA_HOME environment variables to refer to the directory that contains java and javac, typically java_install_dir\/bin and java_install_dir respectively.<\/p>\n\n\n\n<p>If you are using Windows OS and you have installed the Java Development Kit (JDK) in <em>C:\\jdk-15.0.2<\/em>, then you need to put the following code in your <em>C:\\autoexec.bat<\/em> file:<\/p>\n\n\n\n<p><em>set PATH=C:\\jdk-15.0.2\\bin;%PATH%<\/em><\/p>\n\n\n\n<p><em>set JAVA_HOME=C:\\jdk-15.0.2<\/em><\/p>\n\n\n\n<p>You can also update the PATH value by following the below steps:<\/p>\n\n\n\n<p><strong>Step 1 \u2013 <\/strong>Go to <strong><em>Control Panel<\/em><\/strong> and then to <strong><em>System<\/em><\/strong>.<\/p>\n\n\n\n<p><strong>Step 2 \u2013 <\/strong>Click on <strong><em>Advanced <\/em><\/strong>and then click on <strong><em>Environment Variables.<\/em><\/strong><\/p>\n\n\n\n<p><strong>Step 3 \u2013 <\/strong>Add the location of the&nbsp;<em>bin<\/em>&nbsp;folder of the JDK installation to the&nbsp;<em>PATH<\/em>&nbsp;variable in&nbsp;<strong><em>System Variables<\/em><\/strong>.<\/p>\n\n\n\n<p>Here is a typical value for the <em>PATH <\/em>variable:<\/p>\n\n\n\n<p><em>C:\\WINDOWS\\system32;C:\\WINDOWS;\"C:\\Program Files\\Java\\jdk-15\\bin\"<\/em><\/p>\n\n\n\n<p>If you are using Linux OS and the Software Development Kit (SDK) is installed in <em>\/usr\/local\/jdk-15.0.2 <\/em>and you use the C shell, then put the following code into your <em>.cshrc<\/em> file:<\/p>\n\n\n\n<p><em>setenv PATH \/usr\/local\/jdk-15.0.2\/bin:$PATH<\/em><\/p>\n\n\n\n<p><em>setenv JAVA_HOME \/usr\/local\/jdk-15.0.2<\/em><\/p>\n\n\n\n<p>You can also use Android Studio, then it will automatically know where you have installed your JDK.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"android-studio\"><strong>Android Studio<\/strong><\/h2>\n\n\n\n<p>There are many software\u2019s and tools that are available for android application development. But the most popular and easy to use software is Android Studio. You can follow the below steps to download the latest version of Android Studio:<\/p>\n\n\n\n<p><strong>Step 1 \u2013 <\/strong>Go to <a href=\"https:\/\/developer.android.com\/studio\" rel=\"nofollow\"><strong>Android Studio downloads<\/strong><\/a> page.<\/p>\n\n\n\n<p><strong>Step 2 \u2013 <\/strong>If you are a Windows user, then you can see the download button at the top of downloads page. You can click <strong><em>Download Android Studio <\/em><\/strong>button to begin you download.<\/p>\n\n\n\n<p><strong>Note \u2013<\/strong> If you are a Mac, Linux or Chrome OS user, then you can simply scroll down the downloads page and you will find the links to download Android studio. Click on that link and your download will begin.<\/p>\n\n\n\n<p><strong>Step 3 \u2013 <\/strong>Check \u201cI have read and agree with the above terms and conditions\u201d and click on the download button.<\/p>\n\n\n\n<p><strong>Step 4 \u2013 <\/strong>For windows users, if you have download the <strong><em>.exe <\/em><\/strong>file, then you can simply click on it and follow the installation instructions. But if you have downloaded the <strong><em>.zip <\/em><\/strong>file, then first you have to extract it, copy the <strong><em>android-studio<\/em><\/strong> folder into your Program Files folder, and then open the <strong><em>android-studio &gt; bin<\/em><\/strong> folder and launch <strong><em>studio64.exe<\/em><\/strong> (for 64-bit machines) or <strong><em>studio.exe<\/em><\/strong> (for 32-bit machines).<\/p>\n\n\n\n<p><strong>Android Architecture<\/strong><\/p>\n\n\n\n<p>Android OS is divided into five sections and four main layers as shown in the diagram below:<\/p>\n\n\n\n<p><strong>Linux Kernel<\/strong><\/p>\n\n\n\n<p>Linux Kernel is the base of the Android platform. This layer contains all the important and essential hardware drivers like Camera, Keypad, Wi-Fi, Audio, Display, etc. It handles networking &amp; device drivers to connect to the peripheral hardware.<\/p>\n\n\n\n<p><strong>Hardware Abstraction Layer (HAL)<\/strong><\/p>\n\n\n\n<p>The Hardware Abstraction Layer (HAL) serves as an abstraction layer between a hardware and its software. It comprises of various library modules which implements an interface for a particular kind of hardware component, for example, the camera or Bluetooth module.<\/p>\n\n\n\n<p><strong>Libraries<\/strong><\/p>\n\n\n\n<p>On top of Linux Kernel there are libraries which are useful for storage and sharing of application data, libraries which are used for playing and recording audio and video, SSL libraries which are responsible for Internet security etc.<\/p>\n\n\n\n<p><strong>Android Libraries<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>android.app<\/strong> \u2013 It provides access to the application model and is the foundation of all Android applications.<\/li>\n\n\n\n<li><strong>android.content<\/strong> \u2013 It encourages content access, distributing and informing among applications and application segments.<\/li>\n\n\n\n<li><strong>android.database<\/strong> \u2013 It is used to access data published by content providers and includes SQLite database management classes.<\/li>\n\n\n\n<li><strong>android.opengl<\/strong> \u2212 A <a href=\"https:\/\/www.mygreatlearning.com\/blog\/interface-in-java\/\">Java interface<\/a> to the OpenGL ES 3D graphics rendering API.<\/li>\n\n\n\n<li><strong>android.os<\/strong> \u2013 This android library provides applications with admittance to standard working framework administrations including messages, system services and inter-process communication.<\/li>\n\n\n\n<li><strong>android.text<\/strong> \u2013 It is used to display, render and manipulate text on a device screen.<\/li>\n\n\n\n<li><strong>android.view<\/strong> \u2013 This is the fundamental building blocks of application UIs.<\/li>\n\n\n\n<li><strong>android.widget<\/strong> \u2013 This is a collection of pre-built components such as buttons, list views, labels, radio buttons, layout managers, etc.<\/li>\n\n\n\n<li><strong>android.webkit<\/strong> \u2013 This android library is a set of classes that allows web-browsing capabilities to be built into applications.<\/li>\n<\/ul>\n\n\n\n<p><strong>Android Runtime<\/strong><\/p>\n\n\n\n<p>This layer of the android architecture provides the key component which is Dalvik Virtual Machine. Dalvik Virtual Machine is like a Java Virtual Machine which is designed and optimized for Android.<\/p>\n\n\n\n<p>This machine uses the core features of Linux like multi-threading and memory management, which is intrinsic in the Java language. This machine enables all the android applications to run their own process, with their own instance of the Dalvik Virtual Machine.<\/p>\n\n\n\n<p>The Android runtime likewise gives a bunch of center libraries which empower Android application engineers to compose Android applications utilizing standard Java programming language.<\/p>\n\n\n\n<p><strong>Application Framework<\/strong><\/p>\n\n\n\n<p>The Application Framework layer offers numerous more elevated level types of services to applications as Java classes. Application engineers are permitted to utilize these administrations in their applications.<\/p>\n\n\n\n<p>The Android structure incorporates the accompanying key administrations \u2212&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Activity Manager \u2013<\/strong> It controls all parts of the application lifecycle and activity stack.&nbsp;<\/li>\n\n\n\n<li><strong>Content Providers \u2013<\/strong> It allows applications to distribute and impart information to different applications.<\/li>\n\n\n\n<li><strong>Resource Manager \u2013<\/strong> It provides admittance to non-code embedded resources like strings, shading settings and UI designs.<\/li>\n\n\n\n<li><strong>Notifications Manager \u2013<\/strong> It allows applications to show cautions and notices to the client.&nbsp;<\/li>\n\n\n\n<li><strong>View System \u2013<\/strong> It is an extensible arrangement of perspectives used to make application UIs.<\/li>\n<\/ul>\n\n\n\n<p><strong>Android Applications<\/strong><\/p>\n\n\n\n<p>At the top layer of the android architecture you will find all the Android applications. You will compose your application to be installed on this layer. These applications are Contacts Books, Browser, Games and so on.<\/p>\n\n\n\n<p><strong>Android Application Components<\/strong><\/p>\n\n\n\n<p>Android Applications consists of various Application Components which are the major building blocks. These components are interconnected by the application manifest file AndroidManifest.xml.<\/p>\n\n\n\n<p>Following are the major components of an Android Application:<\/p>\n\n\n\n<p><strong>1. Activities<\/strong><\/p>\n\n\n\n<p>This component describes all the activities and the user interaction with the mobile phone. This is how an activity is implemented as a subclass of Activity class:<\/p>\n\n\n\n<p>public class MainActivity extends Activity {<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p><strong>2. Services<\/strong><\/p>\n\n\n\n<p>This component handles the background processing of an Android Application. A service can be implemented as a subclass of Service class:<\/p>\n\n\n\n<p>public class MyService extends Service {<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p><strong>3. Broadcast Receivers<\/strong><\/p>\n\n\n\n<p>This component is an interconnection between the Android OS and applications. A broadcast receiver can be implemented as a subclass of BroadcastReceiver class and each message is broadcaster as an Intent object.<\/p>\n\n\n\n<p>public class MyReceiver&nbsp; extends&nbsp; BroadcastReceiver {<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;public void onReceive(context,intent){}<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p><strong>4. Content Providers<\/strong><\/p>\n\n\n\n<p>A content provider component handles and supplies the data that may be stored in a file or any other location. This component can be implemented as a subclass of ContentProvider class:<\/p>\n\n\n\n<p>public class MyContentProvider extends&nbsp; ContentProvider {<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;public void onCreate(){}<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p><strong>Additional Components<\/strong><\/p>\n\n\n\n<p>There are some additional components as well that are used to construct the above mentioned entities, their logic, and wiring between them. Following are these components:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Fragments \u2013 <\/strong>It represents a portion of UI in an activity.<\/li>\n\n\n\n<li><strong>Intents \u2013 <\/strong>Intents is an inter application message passing framework that can be used to start and stop Activities and Services.<\/li>\n\n\n\n<li><strong>Views \u2013 <\/strong>UI components that are drawn on-screen including buttons, lists forms and so on.<\/li>\n\n\n\n<li><strong>Layouts \u2013 <\/strong>View hierarchies that control screen format and appearance of the views.<\/li>\n\n\n\n<li><strong>Manifest \u2013 <\/strong>It is the configuration file for the application.<\/li>\n\n\n\n<li><strong>Resources - <\/strong>External elements, such as strings, constants and drawable pictures.<\/li>\n<\/ul>\n\n\n\n<p>Check out <a href=\"https:\/\/www.mygreatlearning.com\/academy\/learn-for-free\/courses\/android-app-with-python\" target=\"_blank\" rel=\"noreferrer noopener\">python for android app development<\/a> and further your learning today!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"android-application-example\"><strong>Android Application Example<\/strong><\/h2>\n\n\n\n<p>Now let\u2019s start coding and create a simple android application using Android SDK (Software Development Kit).&nbsp;<\/p>\n\n\n\n<p>Hope that you have set-up your Android development environment properly as explained in Android - Environment Set-up tutorial.<\/p>\n\n\n\n<p>So, let\u2019s start creating a simple android application which will display \u201cHello World!\u201d<\/p>\n\n\n\n<p><strong>Creating an Android Project<\/strong><\/p>\n\n\n\n<p>You have to follow the below mentioned steps to create a new Android project with Android Studio:<\/p>\n\n\n\n<p><strong>Step 1 \u2013 <\/strong>Download and install the latest version of Android Studio.<\/p>\n\n\n\n<p><strong>Step 2 \u2013 <\/strong>When you start the Android Studio you will see a <strong><em>Welcome to Android Studio<\/em><\/strong> window. In that window click <strong><em>Start a new Android Studio project.<\/em><\/strong><\/p>\n\n\n\n<p>If you already have a project opened, then just select <strong><em>File &gt; New &gt; New Project.<\/em><\/strong><\/p>\n\n\n\n<p><strong>Step 3 \u2013 <\/strong>In the <strong><em>Select a Project Template <\/em><\/strong>window you have to select <strong><em>Empty Activity<\/em><\/strong> and then click <strong><em>Next<\/em><\/strong><strong>.<\/strong><\/p>\n\n\n\n<p><strong>Step 4 \u2013 <\/strong>Now you have to configure your project in the <strong><em>Configure your project<\/em><\/strong><em> <\/em>window by following the below steps:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the name field, enter <strong><em>My First App.<\/em><\/strong><\/li>\n\n\n\n<li>In the <strong><em>Package name <\/em><\/strong>field enter <strong><em>com.example.myfirstapp<\/em><\/strong><\/li>\n\n\n\n<li>You can also change the location of the project by changing the <strong><em>Save <\/em><\/strong>location.<\/li>\n\n\n\n<li>From the <strong><em>Language <\/em><\/strong>drop-down menu select either <strong><em>Java <\/em><\/strong>or <strong><em>Kotlin.<\/em><\/strong><\/li>\n\n\n\n<li>Select the lowest version of Android your app will support in the <strong><em>Minimum SDK field<\/em><\/strong>.<\/li>\n\n\n\n<li>If your app will require legacy library support, mark the <strong><em>Use legacy android.support libraries<\/em><\/strong> checkbox.<\/li>\n\n\n\n<li>Leave the other options as they are.<\/li>\n<\/ul>\n\n\n\n<p><strong>Step 5 \u2013 <\/strong>Click on <strong><em>Finish.<\/em><\/strong><\/p>\n\n\n\n<p><strong>Anatomy of Android Application<\/strong><\/p>\n\n\n\n<p>You need to be aware of a few directories and files in the Android project before you start running your app:<\/p>\n\n\n\n<p><strong>1. Java \u2013 <\/strong>It contains .java source files for your android application project. It includes MainActivity.java source file by default, which have an activity class that runs when the app is launched using the app icon.<\/p>\n\n\n\n<p><strong>2. res\/drawable-hdpi \u2013 <\/strong>This is a catalog for drawable objects that are intended for high-density screens.&nbsp;<\/p>\n\n\n\n<p><strong>3. res\/layout \u2013<\/strong> This is a directory which consists of the files that are used to define your app's UI.<\/p>\n\n\n\n<p><strong>4. res\/values \u2013<\/strong> This directory is for other various XML files that contain a collection of resources, such as strings and colours definitions.<\/p>\n\n\n\n<p><strong>5. AndroidManifest.xml \u2013<\/strong> This manifest file is used to describe the fundamental characteristics of the app and define each of its components.<\/p>\n\n\n\n<p><strong>6. Build.gradle \u2013<\/strong> This is an auto generated file which contains compileSdkVersion, buildToolsVersion, applicationId, minSdkVersion, targetSdkVersion, versionCode and versionName.<\/p>\n\n\n\n<p><strong>The Main Activity File<\/strong><\/p>\n\n\n\n<p><strong><em>MainActivity.java <\/em><\/strong>is a Java file is the actual application file which gets converted into a Dalvik executable and runs your android application. Below is the generated code:<\/p>\n\n\n\n<p><em>package com.example.helloworld;<\/em><\/p>\n\n\n\n<p><em>import android.support.v7.app.AppCompatActivity;<\/em><\/p>\n\n\n\n<p><em>import android.os.Bundle;<\/em><\/p>\n\n\n\n<p><em>public class MainActivity extends AppCompatActivity {<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;@Override<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;protected void onCreate(Bundle savedInstanceState) {<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;super.onCreate(savedInstanceState);<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setContentView(R.layout.activity_main);<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;}<\/em><\/p>\n\n\n\n<p><em>onCreate() <\/em>method is one of the methods that is figured when an activity is loaded. <em>R.layout.activity_main <\/em>refers to the <em>activity_main.xml <\/em>file which is located in the <em>res\/layout <\/em>folder.<\/p>\n\n\n\n<p><strong>The Manifest File<\/strong><\/p>\n\n\n\n<p>All the components you develop as a part of your application is declared in a <em>manifest.xml <\/em>which nests at the root of the application project directory. This is an interface between Android OS and your application. A default manifest file will look like as following file \u2013<\/p>\n\n\n\n<p><em>&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;<\/em><\/p>\n\n\n\n<p><em>&lt;manifest xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;package=\"com.example.tutorialspoint7.myapplication\"&gt;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&lt;application<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:allowBackup=\"true\"<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:icon=\"@mipmap\/ic_launcher\"<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:label=\"@string\/app_name\"<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:supportsRtl=\"true\"<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:theme=\"@style\/AppTheme\"&gt;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;activity android:name=\".MainActivity\"&gt;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;intent-filter&gt;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;action android:name=\"android.intent.action.MAIN\" \/&gt;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;category android:name=\"android.intent.category.LAUNCHER\" \/&gt;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/intent-filter&gt;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/activity&gt;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&lt;\/application&gt;<\/em><\/p>\n\n\n\n<p><em>&lt;\/manifest&gt;<\/em><\/p>\n\n\n\n<p>Here &lt;application&gt;...&lt;\/application&gt; tags enclosed the components related to the application. Attribute android:icon will point to the application icon which is available under res\/drawable-hdpi. The application uses the image named ic_launcher.png located in the drawable folders.<\/p>\n\n\n\n<p>The &lt;activity&gt; tag is used to specify an activity and android:name attribute specifies the fully qualified class name of the Activity subclass and the android:label attributes specifies a string to use as the label for the activity. You can specify multiple activities using &lt;activity&gt; tags.<\/p>\n\n\n\n<p>The activity for the purpose channel is named android.intent.action.MAIN as it is utilized to show that this action fills in as the passage point for the application. The class for the expectation channel is named android.intent.category.LAUNCHER to show that the application can be dispatched from the gadget's launcher symbol.<\/p>\n\n\n\n<p>The @string refers to the strings.xml file which is explained below. Hence, @string\/app_name refers to the app_name string defined in the strings.xml file, which is \"HelloWorld\". Similarly, other strings get populated in the application.<\/p>\n\n\n\n<p>Following is the list of tags which you will use in your manifest file to indicate different Android application parts \u2212<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&lt;activity&gt; elements for activities<\/li>\n\n\n\n<li>&lt;service&gt; elements for services<\/li>\n\n\n\n<li>&lt;receiver&gt; elements for broadcast receivers<\/li>\n\n\n\n<li>&lt;provider&gt; elements for content providers<\/li>\n<\/ul>\n\n\n\n<p><strong>The Strings File<\/strong><\/p>\n\n\n\n<p>The strings.xml file is located in the res\/values folder and it contains all the text that are used by your application. For example, the names of buttons, default text, labels, and similar types of strings go into this file. A default strings file will look like \u2212<\/p>\n\n\n\n<p>&lt;resources&gt;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&lt;string name=\"app_name\"&gt;HelloWorld&lt;\/string&gt;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&lt;string name=\"hello_world\"&gt;Hello world!&lt;\/string&gt;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&lt;string name=\"menu_settings\"&gt;Settings&lt;\/string&gt;<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&lt;string name=\"title_activity_main\"&gt;MainActivity&lt;\/string&gt;<\/p>\n\n\n\n<p>&lt;\/resources&gt;<\/p>\n\n\n\n<p><strong>The Layout File<\/strong><\/p>\n\n\n\n<p>The activity_main.xml is a layout file available in res\/layout directory that is referenced by your application when building its interface. You will edit and update this file frequently to change the layout of your android application. For your \"Hello World!\" application, this file will have following content related to default layout \u2212<\/p>\n\n\n\n<p><em>&lt;RelativeLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;xmlns:tools=\"http:\/\/schemas.android.com\/tools\"<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;android:layout_width=\"match_parent\"<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;android:layout_height=\"match_parent\" &gt;<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&lt;TextView<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_width=\"wrap_content\"<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_height=\"wrap_content\"<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_centerHorizontal=\"true\"<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:layout_centerVertical=\"true\"<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:padding=\"@dimen\/padding_medium\"<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;android:text=\"@string\/hello_world\"<\/em><\/p>\n\n\n\n<p><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tools:context=\".MainActivity\" \/&gt;<\/em><\/p>\n\n\n\n<p><em>&lt;\/RelativeLayout&gt;<\/em><\/p>\n\n\n\n<p>The TextView is an Android control used to construct the GUI and it have different attribute like android:layout_width, android:layout_height and so on which are being utilized to set its width and height and so on. The @string alludes to the strings.xml record situated in the res\/values organizer. Thus, @string\/hello_world alludes to the welcome string characterized in the strings.xml document, which is \"Hello World!\".<\/p>\n\n\n\n<p><strong>Running the Application<\/strong><\/p>\n\n\n\n<p>Now we will run our <strong>Hello World! <\/strong>application. You can either run your application on a real device or on an emulator.<\/p>\n\n\n\n<p><strong>Run Your Application on a Real Device<\/strong><\/p>\n\n\n\n<p>Follow the steps to run your android application on a real device:<\/p>\n\n\n\n<p><strong>Step1 \u2013 <\/strong>Connect your device using USB cable with the computer or the device on which you have developed your android app.<\/p>\n\n\n\n<p><strong>Step 2 \u2013 <\/strong>Enable <strong><em>USB debugging<\/em><\/strong><strong> <\/strong>in the <strong><em>Developer options:<\/em><\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open <strong><em>Settings.<\/em><\/strong><\/li>\n\n\n\n<li>Now, select <strong><em>System<\/em><\/strong>, then <strong><em>About Phone <\/em><\/strong>and at the bottom tap <strong><em>Build Number <\/em><\/strong><em>seven times.<\/em><\/li>\n\n\n\n<li>Now return to the previous screen, scroll down and tap <strong><em>Developer options<\/em><\/strong>.<\/li>\n\n\n\n<li>In the <strong>Developer options<\/strong>, scroll down to find and enable <strong><em>USB debugging<\/em><\/strong>.<\/li>\n<\/ol>\n\n\n\n<p><strong>Step 3 \u2013 <\/strong>Now go to Android Studio, select your application from the run\/debug configurations drop-down menu in the toolbar.<\/p>\n\n\n\n<p><strong>Step 4 \u2013 <\/strong>Now select the device on which you have to run your application from the target device drop-down menu.<\/p>\n\n\n\n<p><strong>Step 5 \u2013 <\/strong>Now click <strong><em>Run <\/em><\/strong>and the android studio will install the app on your device.<\/p>\n\n\n\n<p><strong>Run Your Application on an Emulator<\/strong><\/p>\n\n\n\n<p>To run your application on an emulator, you have to follow the below steps:<\/p>\n\n\n\n<p><strong>Step 1 \u2013 <\/strong>In Android Studio you have to create an Android Virtual Device (AVD) that the emulator can use to install and run your app.<\/p>\n\n\n\n<p><strong>Step 2 - <\/strong>Select your application from the run\/debug configurations drop-down menu in the toolbar.<\/p>\n\n\n\n<p><strong>Step 4 \u2013 <\/strong>Now select the Android Virtual Device (AVD) on which you have to run your application from the target device drop-down menu.<\/p>\n\n\n\n<p><strong>Step 5 \u2013 <\/strong>Now click <strong><em>Run <\/em><\/strong>and the Android Studio will install the app on the AVD and it will display the Emulator window.<\/p>\n\n\n\n<p>So, now you have developed your first Android application. Congratulations!!<\/p>\n\n\n\n<p><strong>Additional Resource:<\/strong><br>For more detailed Android project tutorials and real-world examples to help you as you progress, you can explore additional projects on this <a href=\"https:\/\/www.mygreatlearning.com\/blog\/top-android-projects\/\">Android Project Ideas<\/a>.<\/p>\n\n\n\n<p>This was a complete tutorial of Android Application development. Now just keep practicing and following the above tutorial to become an expert in Android application development.<\/p>\n\n\n\n<p>Remember each and every point mentioned in this tutorial. If you miss any of the point you may face some kind of an issue or it might not run. So, carefully follow all the instructions.<\/p>\n\n\n\n<p>For a more detailed understanding of related subjects visit <a href=\"https:\/\/www.mygreatlearning.com\/academy\"><strong>Great Learning Academy<\/strong><\/a>, where you will find various free courses.  <\/p>\n\n\n\n<p>All the best and have a Great Learning!!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Android is an operating system developed and designed for mobile devices like smartphones, tablets, set-top boxes, televisions, etc. It is based on Linux and is an open-source operating system. In this tutorial, you will learn about the basic concepts and understanding of the Android Operating System. Introduction to Android As mentioned earlier, Android is a [&hellip;]<\/p>\n","protected":false},"author":41,"featured_media":25959,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[25860],"tags":[36823],"content_type":[36252],"class_list":["post-25955","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","tag-android","content_type-tutorials"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Learn Android Tutorial - Build Your Personal Applications<\/title>\n<meta name=\"description\" content=\"How to Build an App: In this tutorial, you will learn about the basic concepts and understanding of the Android Operating System, Features of Android and Environment Setup.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Android Tutorial - Everything You Need to Know\" \/>\n<meta property=\"og:description\" content=\"How to Build an App: In this tutorial, you will learn about the basic concepts and understanding of the Android Operating System, Features of Android and Environment Setup.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/\" \/>\n<meta property=\"og:site_name\" content=\"Great Learning Blog: Free Resources what Matters to shape your Career!\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/GreatLearningOfficial\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-09T03:51:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-25T06:24:12+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2021\/02\/shutterstock_1137339098.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"667\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Great Learning Editorial Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/Great_Learning\" \/>\n<meta name=\"twitter:site\" content=\"@Great_Learning\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Great Learning Editorial Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/android-tutorial\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/android-tutorial\\\/\"},\"author\":{\"name\":\"Great Learning Editorial Team\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#\\\/schema\\\/person\\\/6f993d1be4c584a335951e836f2656ad\"},\"headline\":\"Android Tutorial - Everything You Need to Know\",\"datePublished\":\"2021-03-09T03:51:00+00:00\",\"dateModified\":\"2022-10-25T06:24:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/android-tutorial\\\/\"},\"wordCount\":4054,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/android-tutorial\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/shutterstock_1137339098.jpg\",\"keywords\":[\"android\"],\"articleSection\":[\"IT\\\/Software Development\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/android-tutorial\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/android-tutorial\\\/\",\"url\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/android-tutorial\\\/\",\"name\":\"Learn Android Tutorial - Build Your Personal Applications\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/android-tutorial\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/android-tutorial\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/shutterstock_1137339098.jpg\",\"datePublished\":\"2021-03-09T03:51:00+00:00\",\"dateModified\":\"2022-10-25T06:24:12+00:00\",\"description\":\"How to Build an App: In this tutorial, you will learn about the basic concepts and understanding of the Android Operating System, Features of Android and Environment Setup.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/android-tutorial\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/android-tutorial\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/android-tutorial\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/shutterstock_1137339098.jpg\",\"contentUrl\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/shutterstock_1137339098.jpg\",\"width\":1000,\"height\":667,\"caption\":\"android tutorial\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/android-tutorial\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"IT\\\/Software Development\",\"item\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/software\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Android Tutorial &#8211; Everything You Need to Know\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/\",\"name\":\"Great Learning Blog\",\"description\":\"Learn, Upskill &amp; Career Development Guide and Resources\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#organization\"},\"alternateName\":\"Great Learning\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#organization\",\"name\":\"Great Learning\",\"url\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/GL-Logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/GL-Logo.jpg\",\"width\":900,\"height\":900,\"caption\":\"Great Learning\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/GreatLearningOfficial\\\/\",\"https:\\\/\\\/x.com\\\/Great_Learning\",\"https:\\\/\\\/www.instagram.com\\\/greatlearningofficial\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/school\\\/great-learning\\\/\",\"https:\\\/\\\/in.pinterest.com\\\/greatlearning12\\\/\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/beaconelearning\\\/\"],\"description\":\"Great Learning is a leading global ed-tech company for professional training and higher education. It offers comprehensive, industry-relevant, hands-on learning programs across various business, technology, and interdisciplinary domains driving the digital economy. These programs are developed and offered in collaboration with the world's foremost academic institutions.\",\"email\":\"info@mygreatlearning.com\",\"legalName\":\"Great Learning Education Services Pvt. Ltd\",\"foundingDate\":\"2013-11-29\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"1001\",\"maxValue\":\"5000\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#\\\/schema\\\/person\\\/6f993d1be4c584a335951e836f2656ad\",\"name\":\"Great Learning Editorial Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/unnamed.webp\",\"url\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/unnamed.webp\",\"contentUrl\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/unnamed.webp\",\"caption\":\"Great Learning Editorial Team\"},\"description\":\"The Great Learning Editorial Staff includes a dynamic team of subject matter experts, instructors, and education professionals who combine their deep industry knowledge with innovative teaching methods. Their mission is to provide learners with the skills and insights needed to excel in their careers, whether through upskilling, reskilling, or transitioning into new fields.\",\"sameAs\":[\"https:\\\/\\\/www.mygreatlearning.com\\\/\",\"https:\\\/\\\/in.linkedin.com\\\/school\\\/great-learning\\\/\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/Great_Learning\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCObs0kLIrDjX2LLSybqNaEA\"],\"award\":[\"Best EdTech Company of the Year 2024\",\"Education Economictimes Outstanding Education\\\/Edtech Solution Provider of the Year 2024\",\"Leading E-learning Platform 2024\"],\"url\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/author\\\/greatlearning\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Learn Android Tutorial - Build Your Personal Applications","description":"How to Build an App: In this tutorial, you will learn about the basic concepts and understanding of the Android Operating System, Features of Android and Environment Setup.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/","og_locale":"en_US","og_type":"article","og_title":"Android Tutorial - Everything You Need to Know","og_description":"How to Build an App: In this tutorial, you will learn about the basic concepts and understanding of the Android Operating System, Features of Android and Environment Setup.","og_url":"https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/","og_site_name":"Great Learning Blog: Free Resources what Matters to shape your Career!","article_publisher":"https:\/\/www.facebook.com\/GreatLearningOfficial\/","article_published_time":"2021-03-09T03:51:00+00:00","article_modified_time":"2022-10-25T06:24:12+00:00","og_image":[{"width":1000,"height":667,"url":"http:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2021\/02\/shutterstock_1137339098.jpg","type":"image\/jpeg"}],"author":"Great Learning Editorial Team","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/Great_Learning","twitter_site":"@Great_Learning","twitter_misc":{"Written by":"Great Learning Editorial Team","Est. reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/#article","isPartOf":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/"},"author":{"name":"Great Learning Editorial Team","@id":"https:\/\/www.mygreatlearning.com\/blog\/#\/schema\/person\/6f993d1be4c584a335951e836f2656ad"},"headline":"Android Tutorial - Everything You Need to Know","datePublished":"2021-03-09T03:51:00+00:00","dateModified":"2022-10-25T06:24:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/"},"wordCount":4054,"commentCount":0,"publisher":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2021\/02\/shutterstock_1137339098.jpg","keywords":["android"],"articleSection":["IT\/Software Development"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/","url":"https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/","name":"Learn Android Tutorial - Build Your Personal Applications","isPartOf":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2021\/02\/shutterstock_1137339098.jpg","datePublished":"2021-03-09T03:51:00+00:00","dateModified":"2022-10-25T06:24:12+00:00","description":"How to Build an App: In this tutorial, you will learn about the basic concepts and understanding of the Android Operating System, Features of Android and Environment Setup.","breadcrumb":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/#primaryimage","url":"https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2021\/02\/shutterstock_1137339098.jpg","contentUrl":"https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2021\/02\/shutterstock_1137339098.jpg","width":1000,"height":667,"caption":"android tutorial"},{"@type":"BreadcrumbList","@id":"https:\/\/www.mygreatlearning.com\/blog\/android-tutorial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/www.mygreatlearning.com\/blog\/"},{"@type":"ListItem","position":2,"name":"IT\/Software Development","item":"https:\/\/www.mygreatlearning.com\/blog\/software\/"},{"@type":"ListItem","position":3,"name":"Android Tutorial &#8211; Everything You Need to Know"}]},{"@type":"WebSite","@id":"https:\/\/www.mygreatlearning.com\/blog\/#website","url":"https:\/\/www.mygreatlearning.com\/blog\/","name":"Great Learning Blog","description":"Learn, Upskill &amp; Career Development Guide and Resources","publisher":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/#organization"},"alternateName":"Great Learning","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mygreatlearning.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.mygreatlearning.com\/blog\/#organization","name":"Great Learning","url":"https:\/\/www.mygreatlearning.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.mygreatlearning.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2022\/06\/GL-Logo.jpg","contentUrl":"https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2022\/06\/GL-Logo.jpg","width":900,"height":900,"caption":"Great Learning"},"image":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/GreatLearningOfficial\/","https:\/\/x.com\/Great_Learning","https:\/\/www.instagram.com\/greatlearningofficial\/","https:\/\/www.linkedin.com\/school\/great-learning\/","https:\/\/in.pinterest.com\/greatlearning12\/","https:\/\/www.youtube.com\/user\/beaconelearning\/"],"description":"Great Learning is a leading global ed-tech company for professional training and higher education. It offers comprehensive, industry-relevant, hands-on learning programs across various business, technology, and interdisciplinary domains driving the digital economy. These programs are developed and offered in collaboration with the world's foremost academic institutions.","email":"info@mygreatlearning.com","legalName":"Great Learning Education Services Pvt. Ltd","foundingDate":"2013-11-29","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"1001","maxValue":"5000"}},{"@type":"Person","@id":"https:\/\/www.mygreatlearning.com\/blog\/#\/schema\/person\/6f993d1be4c584a335951e836f2656ad","name":"Great Learning Editorial Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2022\/02\/unnamed.webp","url":"https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2022\/02\/unnamed.webp","contentUrl":"https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2022\/02\/unnamed.webp","caption":"Great Learning Editorial Team"},"description":"The Great Learning Editorial Staff includes a dynamic team of subject matter experts, instructors, and education professionals who combine their deep industry knowledge with innovative teaching methods. Their mission is to provide learners with the skills and insights needed to excel in their careers, whether through upskilling, reskilling, or transitioning into new fields.","sameAs":["https:\/\/www.mygreatlearning.com\/","https:\/\/in.linkedin.com\/school\/great-learning\/","https:\/\/x.com\/https:\/\/twitter.com\/Great_Learning","https:\/\/www.youtube.com\/channel\/UCObs0kLIrDjX2LLSybqNaEA"],"award":["Best EdTech Company of the Year 2024","Education Economictimes Outstanding Education\/Edtech Solution Provider of the Year 2024","Leading E-learning Platform 2024"],"url":"https:\/\/www.mygreatlearning.com\/blog\/author\/greatlearning\/"}]}},"uagb_featured_image_src":{"full":["https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2021\/02\/shutterstock_1137339098.jpg",1000,667,false],"thumbnail":["https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2021\/02\/shutterstock_1137339098-150x150.jpg",150,150,true],"medium":["https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2021\/02\/shutterstock_1137339098-300x200.jpg",300,200,true],"medium_large":["https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2021\/02\/shutterstock_1137339098-768x512.jpg",768,512,true],"large":["https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2021\/02\/shutterstock_1137339098.jpg",1000,667,false],"1536x1536":["https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2021\/02\/shutterstock_1137339098.jpg",1000,667,false],"2048x2048":["https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2021\/02\/shutterstock_1137339098.jpg",1000,667,false],"web-stories-poster-portrait":["https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2021\/02\/shutterstock_1137339098.jpg",640,427,false],"web-stories-publisher-logo":["https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2021\/02\/shutterstock_1137339098.jpg",96,64,false],"web-stories-thumbnail":["https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2021\/02\/shutterstock_1137339098.jpg",150,100,false]},"uagb_author_info":{"display_name":"Great Learning Editorial Team","author_link":"https:\/\/www.mygreatlearning.com\/blog\/author\/greatlearning\/"},"uagb_comment_info":0,"uagb_excerpt":"Android is an operating system developed and designed for mobile devices like smartphones, tablets, set-top boxes, televisions, etc. It is based on Linux and is an open-source operating system. In this tutorial, you will learn about the basic concepts and understanding of the Android Operating System. Introduction to Android As mentioned earlier, Android is a&hellip;","_links":{"self":[{"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/posts\/25955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/comments?post=25955"}],"version-history":[{"count":14,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/posts\/25955\/revisions"}],"predecessor-version":[{"id":104591,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/posts\/25955\/revisions\/104591"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/media\/25959"}],"wp:attachment":[{"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/media?parent=25955"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/categories?post=25955"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/tags?post=25955"},{"taxonomy":"content_type","embeddable":true,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/content_type?post=25955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}