Become an Android Developer. Learn from scratch with 19 real-life project work. The course will enable you to use architectural techniques to build user-friendly and interactive applications.
Course Fee 30,000 + 18% GSTEnroll and Pay Now
Become an Expert
18 % GST Extra
Skills you will gain
Programming Languages, Tools & Libraries Covered
About this Specialization
The specialization course will cover the Android components, tools, and technologies like multi-screen Navigation, Android Studio, Intents, Fragments, Widgets, Layout to build modern applications. The course will enable you to use architectural techniques to build user-friendly and interactive applications. This Specialization enables learners to successfully apply core Java programming languages features & software patterns needed to develop maintainable mobile apps.
In the Project, you’ll use the technologies learned throughout the Specialization to design and create your own applications for data retrieval, processing, and visualization.
How the Specialization Works
Prutor.ai Specialization is a series of courses that help you master a skill. To begin, enroll in the Specialization directly, or review its courses and choose the one you'd like to start with. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. It’s okay to complete just one course — you can pause your learning or end your subscription at any time. Visit your learner dashboard to track your course enrollments and your progress.
Every Specialization includes a hands-on project. You'll need to successfully finish the project(s) to complete the Specialization and earn your certificate. If the Specialization includes a separate course for the hands-on project, you'll need to finish each of the other courses before you can start it.
Earn a Certificate
When you finish every course and complete the hands-on project, you'll earn a Certificate that you can share with prospective employers and your professional network.
Courses in this Specialization
In order to begin with programming in Java, you need to have Java installed in your system. Java is also known as JDK (Java Development Kit). This lesson attempts to cover the detailed instructions to install JDK 8.0 in Windows. After the Java installation, you will need to set the environment variables, which has been covered in this lesson as well.
This lesson covers in detail, how to write your first Java program, which is technically a Hello World program. You will learn how to write the first program in Java using a very common windows text editor called as notepad++, then compile that program using command prompt followed by running the same program to get the output as Hello World.
This lesson covers the details of how you can display the command line arguments by providing them at runtime. You will learn about the significance of String args in this lesson and how you can get the command line argument displayed on the console when you run your Java program.
You need to install Java to do any Java programming on your system; however, it could ad be the very tedious task to compile and run the program each time using the command prompt. So, you can make your task easy by using an Integrated Development Environment or IDE. This lesson will cover the detailed procedure of downloading and installing a famous Java IDE known as Eclipse. The latest version which is Oxygen has been taken for the demonstration in this course. After the installation is complete, you will learn to create a project in Eclipse.
This lesson covers the details of creating, compiling, and executing your first java program using the Eclipse IDE. You will learn to create a Java class and write your first Java program followed by running that program on eclipse and displaying Hello India on console.
This lesson will deal with variables. Variables are defined on basis of predefined data types, classes and user define datatypes. Variables in Java can be defined anywhere in the code (inside a class, inside a method or as a method argument) and can have different modifiers. Depending on these conditions variables in Java are Instance Variable, Static Variable, Local Variable, and Method Parameter. An instance variable is associated with an instance of the class (also called object). Access works with these objects. Instance variables can have any access control and can be marked final or transient. Instance variables marked as final cannot be changed after a value has been assigned to them.
This lesson attempts to cover the details of getting input from You. If you want to accept input from You to perform any operations, that can be done by using the Scanner class which belongs to the package java.util. In order to use this class, you need to import it and after importing it, you can create an instance of this class which allows you to accept input from You.
This lesson will cover the implementation of input from You to build a simple calculator. You will learn to build an application which will enable You to enter a couple of numbers and perform a simple addition of two numbers and display the result of an addition of two numbers on the console.
This lesson will cover the implementation of mathematical operators to perform different mathematical operations. These operators are + for addition, - for subtraction, * for multiplication, / for division and % for remainder.
This lesson will cover the increment operators. The increment operators increment the value of the variable by one. They are defined in two types of notations which are prefix and postfix notations. Like increment operators, there are decrement operators as well, these decrease the value of the variable by one and follow the same notations as increment operators. Apart from these, you will also learn about the assignment operators in this lesson.
This lesson will cover the conditional statement known as the if-else statement. An if-else statement is used to implement a condition in the program. The if the statement contains a condition which is evaluated, and when the condition is true, the statement in the code block of if statement is executed. Otherwise, when the condition is false, the statement inside the code block of else statement is executed. You will learn in detail the syntax and implementation of an if-else statement in this lesson.
This lesson will cover the logical operators. Logical operators are also sometimes referred to as “Boolean operator”. In Java programming, logical operators are those operators which return a Boolean result that is based on the Boolean result of one or two other expressions. These expressions which make use of the logical operators are referred to as “compound expressions” because the effect of the logical operators is to let you combine two or more condition tests into a single expression. The statement is known as an if-else statement. An if-else statement is used to implement a condition in the program. The if the statement contains a condition which is evaluated, and when the condition is true, the statement in the code.
This lesson covers the details of implementing a switch statement in a program. A switch statement allows a variable to be tested for equality against a list of values. Each of these values is referred to as the case, the variable which is switched on is evaluated for each case.
This lesson will cover the details of implementing a while loop. A loop statement allows us to execute a statement or group of statements multiple. A while loop is a repetition control structure that allows you to write a block of code which is executed until a specific condition evaluates to false. This is also a common loop used to iterate a part of the program several times. If the number of iteration is not fixed, it is recommended to use while loop.
This lesson will cover the details of using more than one class in an existing project or. In earlier lessons, the entire work was done using a simple class named ICT, however, you will learn to add more than one classes in the project along with the benefits of using multiple classes which is very significant when dealing with a bigger project which consists of different modules.
This lesson will cover the details of using methods. In Java, a method is referred to as a collection of executable statements which are combined together to perform the desired operation. For example, if you invoke the method println() of System.out class, then the system actually executes several statements in order to display a message on the console. Methods are of two types, parameterized and non-parameterized, where the former accepts no arguments and the latter accepts arguments. You will learn to create your own methods with or without return values, invoke a method with or without parameters, and apply method abstraction in the program design.
This lesson will cover something called method overloading. In the earlier lesson, you learned about methods and creating your own methods. Method overloading is the concept in Java which allows you to create more than one versions of the same method, but different from each other in terms of the arguments that they accept and they could be different in terms of the return types as well. You will learn to create multiple methods and you will also learn to invoke these methods using different instances of the same class.
This lesson will cover all about constructors. A constructor in Java is a block of code which is the same as a method which is invoked when the instance of an object is created. However, there are some differences between a constructor and method. The first difference is that a constructor doesn’t have a return type and the constructor always has the same name as the name of the class. Unlike methods, constructors are not considered members of a class and a constructor is called automatically when a new instance of an object is created.
This lesson will cover all about Nested-If statement. In Java or any other programming language, when the if or if-else statement is embedded inside another if block or else block, then this is referred to as the nested-if statement. In this lesson, you will learn to implement the nested if statement in your code with the help of a demonstration.
This lesson will cover all about Else-If statement. In Java or any other programming language, the else-if statement is statement is used to implement multiple decisions which is not possible in case of traditional if-else statement which is limited to only a couple of decisions. You can combine an else and an if to make an else if and test a whole range of mutually exclusive possibilities
This lesson will cover all about conditional operators. In Java, the conditional operator is also referred to as the ternary operator, which is the only operator that takes three operands. Java conditional operator is a one-liner replacement for if-else statement and used very frequently by the Java programmers to implement conditions in a single line. You can make use conditional operator to replace switch also.
This lesson will implement the learning of earlier lessons here and will cover the details by demonstrating a simple program to calculate the average of ten inputs which are given by You and display the average of these inputs on the console. The program will make use of the Scanner class to take inputs from You and will also use mathematical operators for computing the sum and average of these ten inputs from You and display the output on the console.
This lesson will cover the details of for loop. A loop statement allows you to execute a statement or group of statements multiple times and, for loop is the most widely used loop in Java and all other programming languages to iterate a part of the program several times. If the number of iteration is fixed, it is recommended to use for loop.
This lesson will demonstrate the simple program to calculate the number of subscribers which are added per day at a specific rate. This program is similar to a program which computes the compound interest on a specific amount after a fixed period of time at a specific rate and it uses the same expression to calculate the number of subscribers added on a daily basis.
This lesson will cover the details of the do-while loop which is also another type of loop used in Java and other programming languages. The do-while loop is used to iterate a part of the program several times. If the number of iteration is not fixed and you must have to execute the loop at least once, it is recommended to use do-while loop.
This lesson will cover the different methods which belong to Math class in Java and are capable of performing some desired mathematical operations. Complex mathematical operations can be performed by simply calling the methods of the Math class which is a built-in class in Java. Some of the popular methods of this class are abs(), ceil(), floor(), max(), min(), pow(), sqrt() etc. You will learn to implement these methods in your code in order to produce the desired output
This lesson will deal with something called a random number, which can be generated easily in Java using the Random class which is a built-in class in Java. The random class in Java belongs to the package java.util and can be imported into your program. You will learn to create the object of the Random class and through that object, you will be able to generate random numbers.
This lesson will cover in detail about the arrays. Arrays are very important in every programming language. The Java array is a collection of similar type data elements which are stored in continuous memory locations. However, the only fixed set of elements can be stored in an array. You will learn to declare and initialize an array and you will also learn to display the elements of the array by using the loops.
This lesson will cover more details of the arrays and how you can display the array elements in a tabular form which will have a table header where the element will be displayed on the console with the corresponding index in the form of a table. You will learn to create the array table step by step in this lesson.
This lesson will cover further details of the arrays. If you want to perform certain operations with the arrays, these can be done very easily, these operations can be like adding the array elements together and displaying the sum of these elements. In this lesson, you will learn to add the array elements together by looping through the array using a loop and then adding these array elements and displaying the sum of these elements together.
This lesson will cover in the detail, how you can use the array elements to display the count of occurrence of any particular number. In this lesson, you will get a scenario to roll a dice 1000 times and then count the frequency of occurrences of numbers which will appear on the dice each time when it is rolled. This program will make use of the array as well as the random number generator which you’ve learned in earlier lesson.
This lesson will cover in the detail a different type of loop which is an enhanced for loop. This loop is also known as the for-each loop. The enhanced for-loop is a popular feature introduced with the Java SE platform in version 5.0. It has a simple structure allows you to simplify the code by presenting for-loops that visit each element of an array/collection without explicitly expressing how you go from element to element.
This lesson will cover how arrays can be used in methods as well. In earlier lessons, you’ve already covered about the methods in detail. In this lesson, you will learn to create a method which will accept an array as an argument and increment each element of the array by a fixed number, then you will learn to invoke this method to see the desired output.
This lesson will cover in detail about the multi-dimensional arrays. I earlier lessons, you’ve already learned about the arrays, which are very important in every programming language. The Java array is a collection of similar type data elements which are stored in continuous memory locations. The arrays are categorized as Single dimensional arrays and multidimensional arrays. Multidimensional arrays are 2D, 3D, 4D arrays etc. You will learn to declare and initialize a 2D array in this lesson and you will also learn to access the elements of the multi-dimensional array by using the loop.
This lesson will cover in detail about representing the elements of the two-dimensional array in the form of a table. You will learn to create an array and display the elements of an array in tabular form with the help of some basic formatting which you can do easily.
This lesson will cover all about variable length arguments. When you create a method, you set it in such a way that it accepts certain parameters which can be passed while invoking the method. These parameters or arguments are fixed. However, when you aren’t sure about how many arguments you wish to pass in the method, then you declare a method which is set to accept variable length arguments. This is done by simply putting three dots in between the datatype and the identifier. In this lesson, you will learn to implement this in detail.
This lesson will cover all about the time class. In order to display the time in 24-hour format or military format, you can build your application to display the time in the desired format. In this lesson, you will learn this in detail, how you can build an application which allows you to set the time and display at the same time in 24-hour format or military format.
This lesson will be covering further what has been covered in the previous chapter. You will learn to build your application to display the time in 12-hour format or the regular format. As done in an earlier lesson, you will be allowed to set the time and display at the same time in 12-hour format or regular format.
In earlier lesson, you learned about method overloading. This lesson will cover something called constructor overloading. Constructor overloading is the concept in Java which allows you to create more than one versions of the same constructor, but different from each other in terms of the arguments that they accept. In this lesson, you will learn to create multiple constructors and you will also learn to call these constructor methods.
This lesson will cover something called getters and setters. Getters and Setters are also known as getting and Set methods in Java which help in achieving encapsulation which is an important concept of Object Oriented Programming. In Java, getter and setter are two conventional methods that are used for retrieving and updating the value of a variable. If you want that the fields which are declared in the class remain unmodified by the other users, these can field can only be accessed through the methods, then getters and setters are created to restrict access to the fields of the class. In this lesson, you will learn to create the getters and setters.
In an earlier lesson, you learned about something called as constructor overloading, in which you created multiple copies of the constructor. However, different in terms of the arguments that they accept. In order to access these copies of constructors, you will need separate objects which call respective constructor methods. This lesson will cover in detail, how you can create objects for these multiple constructors. In this lesson, you will learn to build these objects in detail.
This lesson will cover the details of a built-in method of each and every class which is known as the toString() method. This method returns the string representation of the object. If you print any object, java compiler internally calls the toString() method on the object. In order to get the desired output, you can also override this method. In this lesson, you will learn to override this method to get the string displayed in the desired format.
This lesson will cover Composition which is an interesting and tricky topic in Java. Composition in java is the design technique to implement has-a relationship in classes. You can use java inheritance or Object composition in java for code reuse. Java composition is achieved by using instance variables that refer to other objects. In this lesson, you will learn to implement the concept of composition in detail.
learn about basic Android architecture. To create an Android app you should first download the necessary tools used by the Android application developer. learn the process involved in running the Android application on emulator platform and in your own device. This lesson gives you awareness in working of event listener and lifecycle of an Android application.
learn the installation procedure using Android Studio setup.
be able to learn the design of the user interface using the tools provided by UI and also through XML. Moreover given a wide knowledge of the Android layouts and most commonly used Android widgets for easy coding. We will also cover the implementation of Event Receivers.
we will learn how a user can interact with your apps and what functionality we provide them to control android apps like Button, EditText, CheckBox, RadioButton, ImageView, and many more.
we will teach you about the fundamentals of building Android interface layouts with XML.
we will learn how to Implement Interfaces on Activity.
be able to create applications with multiple activities and learn to share information between multiple activities with the help of Intents and fragments.
we will teach you the following simple steps to show how to create your own Android application using a listview.
we will teach you how to create your own Android application using ListView with an example.
be given a basic idea about the building blocks of user interface components. A View occupies a rectangular area on the screen and is responsible for drawing and event handling.
we will learn how An ImageView control is used to display images in Android applications. An image can be displayed by assigning it to the ImageView control and including the android.
we will learn how an Android lets your application connect to the internet or any other local network and how it allows you to perform network operations.
we will learn how AsyncTask enables the proper and easy use of the UI thread and how this class allows you to perform background operations and publish results on the UI thread without having to manipulate threads and/or handlers.
we will learn how A dialog shows a progress indicator and an optional text message or view. Only a text message or a view can be used at the same time.
we will learn how A toast provides simple feedback about an operation in a small popup. and how it fills the amount of space required for the message.
be taught about Multithreading which is defined as a property through which you can run two or more synchronous threads of activity. In this activity, common data is shared among all these threads which are also known as sub-processes.
we will learn how AsyncTask enables the proper and easy use of the UI thread.
we will learn how An asynchronous task is defined by a computation that runs on a background thread and whose result is published on the UI thread.
we will learn how a Handler allows you to send and process Message and Runnable objects associated with a thread's MessageQueue.
we will learn how a Handler used to communicate between the UI and Background thread.
learn about Android location frameworks like Google Maps and Geocoder. This knowledge will help you in integrating location-related functionality in your applications. You will be able to draw markers on the map to show targeted locations to the user and also can perform the zooming animations over your map.
relative layouts, which organize user interface controls, or widgets, on the screen in relation to one another.
we will describe how to use Android Openweathermap API to build an Android weather app that gives current weather information.
we will describe how The APIs Request Queue manages worker threads for running the network operations, reading from and writing to the cache, and parsing responses.
we explain how to parse the JSON file and how to extract necessary information from it.
we explain how our app will have a simple and minimalist user interface, showing the user exactly what they need to know about the current weather conditions.
his lesson covers the concept of data storing techniques for easy retrieval. Android allows you to use the data storage application for storing bulk data. Some of the data storage applications are shared preferences, internal and external storage, Realm storage and storage via a network connection.
see the User Interface of the application and how it works from the front end. In addition to thisalso learn to make some modifications in the application by applying simple code snippets.
see the complete user interface of the application along with its working, then you will learn to make some changes in the application as per the requirements.
work on building the application, also you will make use of the Realm database to insert, update, and then delete the values sent by the application to the database.
continue to work on building the application, also you will make use of the Realm database to insert, update, and then delete the values sent by the application to the database.
work on building the application, also you will make use of the Realm database to insert, update, and then delete the values sent by the application to the database.
work on building the application, also you will make use of the Realm database to insert, update, and then delete the values sent by the application to the database.
be given in-depth knowledge about the applications of Web View. This application helps to get a quick view of the web pages within your app. You will also come to know about the services and broadcast receivers.
is introduced to Webview in detail.
learn to create a web application by using the webview.
learns to create a new application with the help of webview.
This chapter makes you aware of the procedure to be followed in creating the Notification application. It is a message pops up for the user while working with your application. This application instructs the system to issue a notification which in turn displays an icon in the notification area.
learns about the Notifications in detail, which includes PendingIntent, NotificationManager, NotificationBuilder, etc.
learn to create a simple notification application with the help of PendingIntent and NotificationManager.
learn about Push Notifications and how to create Push notifications in Android.
This lesson gives you a quick synopsis of the concepts of Shared Preferences. Android provides different ways of storing data in an application. One such way is Shared preference where the data is stored and retrieved in the form of the key, value pair. Explore some of the Preference frameworks as follows
learn to work with the ListPrefrence which is a common preference used in the applicationx
learn to design preferences by the setting of any application.
learn to handle the location change event by coding the preference API.
how a SharedPreferences object points to a file containing key-value pairs and provides simple methods to read and write them. Each SharedPreferences file is managed by the framework and can be private or shared.
In this chapter learn about Android Intent keywords which are an abstract description of an operation to be performed. Some of the Intent keywords like start activity which launches an activity, Broadcast intent enables you to communicate with the interested broadcast receiver components, startService (Intent) or bindService(Intent, ServiceConnection, int) works well with the background services.
Intent Filters and also how to work with these Intent Filters.
continue to work with Intent Filters.
understands in detail about the Broadcast Receivers and how these broadcast receivers work.
continues with Broadcast Receivers and you will work with Broadcast receivers to create a Caller Application.
execute the application that you created in the previous lesson and named it as Caller Application.
be given an idea about the application component termed as Service, which helps to perform long-running operations in the background. This application component does not provide you with a user interface instead, it allows another application component to start a new Service that runs in the background even if the user switches to another application.
learn about an important building block of the Android application, which is known as service. You will also learn about the different types of services.
learn to work with a service in Android.
learns in detail about one of the important concepts in Android, which is the Intent Service.
learn to work with Intent Services.
continue to work with Intent Services.
This chapter enables you to include the camera features in your application with the help of the Android framework. This framework provides support to camera features on the device to capture pictures and videos for an application.
, you learn to use the inbuilt camera application to build your own camera application.
continue to work on building your own camera application by making use of the inbuilt camera application.
again continue to work with your camera application and will create the codes for capturing and storing the images taken from the camera.
again continue to work on building your own camera application by using the inbuilt camera application.
continue to work on building the camera application and you will move the functions and modify the codes written in Media Helper Class.
continue to work on building the camera application and you will learn to write code for capturing video recording.
continue to work on building the camera application and you will learn to write code for opening the camera in a video recording mode and storing the media file in SD card.
learn to implement different types of animations provided by the android system to create an impressive android application.
learn about the two material design widgets which are top and bottom bar in detail.
go ahead and work with the two material design widgets, which are Snackbar and Floating Action Button.
learn the basics of Material Design, which is creating buttons for the application.
continues to learn bottom navigation for the application.
learn to work with data tables.
learn to work with Table Layouts and create a Tab application.
learn about the important persistent frameworks in the Android system known as Shared Preference and Android File System.
learn to save the data into the files and read the data from the files by using Android Internal Storage.
learn to work on handling Runtime Permissions in Android.
continues to work with Permissions in Android.
learns to store the image in the external storage.
AdMob from Google is a mobile advertising platform that can be used to generate revenue from the applications. Firebase can be integrated with Firebase Analytics for providing app usage data and analytics capabilities. It can implement advertisements from Google advertisers in real-time.
learns about an Admob formerly known as Google Admob but now named as Firebase Admob.
learn to set up an android application for integrating Firebase Admob.
learn to create a Banner Ad
continue to create a Banner Ad.
learn to create an Interstitial Ad.
learn to use the Content Providers in your application in order to manage the data access stored by default procedure or by other apps. It encapsulates data and provides the mechanism for defining data security and data sharing.
learn to work with the basic building block of android application known as Content Provider.
learn to work with the content provider, and you will use the contact content provider to read the data from the contacts application.
learn about Loaders and specifically Cursor Loader.
learn to create cursor leader in Android.
learn to load the contacts of the phone to the list view.
learns to create a content provider for Android.
learn to write queries to the content provider.
Location and map-based apps offer a compelling experience on mobile devices. You can build these features into your app by using the classes of the Android-like Location package and Google Maps Android API. The section has provided an introduction to how to add these features to your apps.
learn to create an android application which shows google map in it.
learn to find the location in your map application to show location on the maps.
continue to work with map application to show location on the maps.
learn to write codes to check permissions for Access Coarse Location and Access Fine Location in the Map Application.
continue working with map application and adding runtime permissions to the application.
learn to get the request location update, which is really important when the last known location is not available from the location provider.
learn to work with some of the features of maps like map type in android.
learn to work with maps and set camera position and set others attributes of the map.
learn to write the code for getting an address of the map where a marker is dropped.
learn about the Bluetooth Network stack which includes the Android platform. This enables the exchange of data with another Bluetooth device under wireless feature. With the help of Android Bluetooth APIs, the application framework provides an access to the Bluetooth functionality.
learn to work with Bluetooth API of Android and use different classes available in this API.
learn to get the list of paired devices by using the Bluetooth Adapter class in Bluetooth API.
learn to discover the devices and add them to the list of paired devices.
This lesson will help you to learn about the Animation features. Animation adds on subtle visual cues that notify the users about what's going on in your app and improve their mental model on app's interface. Animations are especially useful when the screen changes its state such as when the content gets loaded.
learn to work with Android Animations which are available in the Android Library.
learn to work with Android XML Animations which are available in the Android Library.
learn to work with frame animation, which is also known as frame by frame animation.
What You Benefit from This Program
Frequently Asked Questions
This program intends to produce extremely well-rounded Android developers with deep knowledge of programming skills, expertise in relevant tools/languages.
This program is designed for anyone looking to pick up skills in advanced concepts like OOPs, Android Software Development, Algorithms along Java programming. This program demands consistent work and time commitment over the entire duration of 6 months.
The content will be a mix of asynchronous lectures from industry leaders as well as world-class faculty. Additionally, the program comprises of some live lectures or hangout sessions dedicated to solving your academic queries and to reinforce learning.
Post completion of each course separate certificates will be issued (5 courses 5 certificates) from Prutor.ai, IIT Kanpur.
I'm interested in This Program