Mobile Application Development Winter 2022 GTU Paper Solution | 3161612

Here, We provide Mobile Application Development GTU Paper Solution Winter 2022. Read the Full MAD GTU paper solution given below.

Mobile Application Development GTU Old Paper Winter 2022 [Marks : 70] : Click Here

(a) What are the advantages of android operating system?

There are several advantages of the Android operating system, some of which include:

  1. Customization: Android offers a high degree of customization, allowing users to personalize their devices to suit their needs and preferences. Users can customize their home screens, install third-party launchers, and use widgets to access their favorite apps easily.
  2. Open source: Android is an open-source operating system, meaning that its source code is freely available for developers to modify and use. This has led to a thriving ecosystem of apps, ROMs, and customizations.
  3. App Store: The Google Play Store offers a vast selection of apps, including both free and paid options. This makes it easy for users to find and download the apps they need for their daily lives.
  4. Multi-tasking: Android allows for easy multitasking, enabling users to switch between apps quickly and efficiently. This is especially useful for productivity, as users can work on multiple tasks simultaneously.
  5. Compatibility: Android is compatible with a wide range of devices, from low-end smartphones to high-end tablets. This makes it a versatile operating system that can be used on a variety of devices.
  6. Google Services: Android integrates seamlessly with Google’s suite of services, including Gmail, Google Drive, Google Maps, and Google Assistant. This makes it easy for users to access and use these services on their devices.

(b) List and Explain components of android SDK.

(c) Explain the android architecture in detail.

(a) Explain Android Virtual Devices (AVD).

An Android Virtual Device (AVD) is a software-based emulation of an Android device that runs on a computer. It is a tool provided by the Android SDK that allows developers to test their applications on different Android versions, device configurations, and screen sizes without needing access to a physical device.

An AVD is created and managed using the Android Virtual Device (AVD) Manager, which is included in the Android SDK. Developers can create multiple AVDs to test their applications on different versions of Android, with different screen sizes and resolutions, and with different hardware configurations.

Each AVD includes an emulator, which simulates the device hardware and provides a virtual environment for running Android applications. The emulator uses the Android SDK tools to create a virtual device image that includes the Android operating system, system libraries, and pre-installed applications.

Once an AVD is created, developers can launch it using the emulator, which provides a graphical user interface for interacting with the virtual device. Developers can use the emulator to install, run, and debug their applications, and to simulate different device configurations and user scenarios.

(b) Explain Date and Time picker with its methods.

(c) Write both XML code and android program to display a circular
progress bar.

(c) Develop the registration form that includes the following data in the

(a) Explain AndroidManifest.xml file.

The AndroidManifest.xml file is an essential configuration file for Android applications. It is located at the root of the project directory and contains metadata about the application, such as its name, package name, version, permissions, and activities.

Here are some of the key components that are defined in the AndroidManifest.xml file:

  1. Package Name: The package name uniquely identifies the application on the device and is used to install and launch the application.
<manifest xmlns:android=""
  1. Permissions: The AndroidManifest.xml file lists all the permissions that the application requires to perform certain tasks, such as accessing the internet or reading contacts.
<uses-permission android:name="android.permission.INTERNET"/>
  1. Activities: The AndroidManifest.xml file defines all the activities that the application contains. Each activity is represented by an <activity> element and specifies its name, label, theme, and other attributes.
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
  1. Services: The AndroidManifest.xml file also defines all the services that the application provides. Each service is represented by a <service> element and specifies its name, description, and other attributes.
  1. Broadcast Receivers: The AndroidManifest.xml file can also define all the broadcast receivers that the application contains. Each receiver is represented by a <receiver> element and specifies its name, description, and other attributes.
        <action android:name="android.intent.action.BOOT_COMPLETED"/>

(b) Explain Linear Layout with attributes.

(c) Develop a simple calculator using table layout.


(a) Explain drawable resources in android.

In Android, drawable resources refer to image files that can be used as backgrounds, icons, or any other kind of graphic element in an Android app. These resources are placed in the res/drawable folder of the project.

There are several types of drawable resources in Android, including:

  1. Bitmap drawables: These are the most common type of drawable resource and are used for displaying images or icons. They can be created in various file formats such as JPEG, PNG, and GIF.
  2. Vector drawables: These are a newer type of drawable resource that allow for more scalable graphics. Vector drawables are created using vector graphics and can be scaled to any size without losing quality.
  3. Shape drawables: These are used for creating simple shapes and gradients such as rectangles, ovals, lines, and gradients. They are created using XML and can be customized with various attributes.
  4. Nine-patch drawables: These are used for creating resizable images that can stretch or shrink without losing their proportions. They are created using a PNG file with a 1-pixel border that defines which parts of the image can be stretched.

(b) Explain Grid Layout with attributes.

(c) What is Listview? Write a java class to add any 10 items within

(a) Explain context menu and system menu.

Both context menus and system menus are important UI elements in Android that allow users to perform actions or access additional functionality within an app. Here’s an explanation of each:

  1. Context Menu: A context menu is a floating menu that appears when a user long-presses on a view or item in an Android app. It usually contains options that are relevant to the selected view or item. For example, in a messaging app, long-pressing on a message might bring up a context menu with options to reply, delete, or mark as unread. Context menus can be created using the registerForContextMenu() method in an Activity or Fragment, and can be customized using the onCreateContextMenu() method.
  2. System Menu: The system menu is a menu that appears when a user presses the device’s menu button (if it has one) or the overflow button (three dots) in the app’s action bar. It typically contains options that are relevant to the app as a whole, such as settings, help, or sign out. The system menu is automatically generated by Android based on the options menu resource XML file that you define in your app. You can create the options menu resource XML file in the res/menu folder of your app, and then inflate it using the onCreateOptionsMenu() method in your Activity or Fragment.

(b) Explain Implicit Intent in four points.

(c) Write a program to capture an image using camera and display it.


(a) Explain Option Menu.

The Option Menu is a menu that appears when the user presses the menu button on their Android device. It provides a list of options that the user can choose from to perform an action, such as opening a new screen or sharing content. Here are some key points about the Option Menu:

  • The Option Menu is displayed as a popup menu, typically with an icon in the top-right corner of the app’s screen.
  • The items in the Option Menu are defined in the onCreateOptionsMenu() method of the activity or fragment. This method is called once when the activity or fragment is created, and is where you can inflate a menu resource file to create the menu items.
  • Each item in the Option Menu is represented by a MenuItem object. You can set the title, icon, and other properties of the menu item using methods on this object.
  • When the user selects a menu item, the onOptionsItemSelected() method is called with the selected MenuItem object as a parameter. This is where you can perform the action associated with the selected item.
  • The Option Menu can be customized by adding icons, setting text color and size, and changing the layout using a custom layout file.

Here is an example implementation of the Option Menu in an activity:

  1. Define the menu items in a menu resource file, such as menu_options.xml:
<menu xmlns:android="">
        android:title="Share" />
        android:title="Settings" />
  1. Inflate the menu resource in the onCreateOptionsMenu() method of the activity:
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(, menu);
    return true;
  1. Handle menu item selection in the onOptionsItemSelected() method:
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
            // Handle the Share menu item
            return true;
            // Handle the Settings menu item
            return true;
            return super.onOptionsItemSelected(item);

(b) Define Dialog in android. Explain Alert Dialog with example.

(c) Develop a program to send an email.

(a) Explain Geocoding and Reverse Geocoding.

Geocoding and Reverse Geocoding are two important concepts related to location-based services in Android.

Geocoding is the process of converting an address or location description into geographic coordinates (latitude and longitude). It involves taking a textual address or place name and returning the corresponding geographic coordinates. Geocoding is useful for displaying locations on a map or performing proximity searches.

Reverse Geocoding, on the other hand, is the process of converting geographic coordinates (latitude and longitude) into an address or location description. It involves taking a set of coordinates and returning the corresponding textual address or place name. Reverse Geocoding is useful for displaying location-based information to the user, such as the name of the city or street they are currently located in.

Android provides built-in support for both Geocoding and Reverse Geocoding through the Geocoder class. The Geocoder class is part of the Android Location API and allows developers to perform Geocoding and Reverse Geocoding operations using a simple and easy-to-use API.

To use the Geocoder class for Geocoding, you simply need to call the getFromLocationName() method and pass in the textual address or place name. This method will return a list of Address objects, each of which contains the corresponding geographic coordinates.

Here’s an example of how to use Geocoding to find the latitude and longitude of a location based on its address:

Geocoder geocoder = new Geocoder(this);
List<Address> addresses = geocoder.getFromLocationName("1600 Amphitheatre Parkway, Mountain View, CA 94043", 1);

if (addresses != null && addresses.size() > 0) {
    Address address = addresses.get(0);
    double latitude = address.getLatitude();
    double longitude = address.getLongitude();
    Log.d("Geocoding", "Latitude: " + latitude + ", Longitude: " + longitude);

To use the Geocoder class for Reverse Geocoding, you simply need to call the getFromLocation() method and pass in the latitude and longitude coordinates. This method will return a list of Address objects, each of which contains the corresponding textual address or place name.

Here’s an example of how to use Reverse Geocoding to find the address of a location based on its latitude and longitude:

Geocoder geocoder = new Geocoder(this);
List<Address> addresses = geocoder.getFromLocation(37.4220, -122.0841, 1);

if (addresses != null && addresses.size() > 0) {
    Address address = addresses.get(0);
    String streetAddress = address.getAddressLine(0);
    String city = address.getLocality();
    String state = address.getAdminArea();
    String country = address.getCountryName();
    String postalCode = address.getPostalCode();
    Log.d("Reverse Geocoding", "Address: " + streetAddress + ", " + city + ", " + state + ", " + country + ", " + postalCode);

(b) Explain Broadcast receiver in details.

(c) Develop an application to store student details like roll no, name,
branch, marks, percentage and retrieve student information using roll
no. in SQLite databases.


(a) Enlist the steps to publish the Android application.

Here are the steps to publish an Android application on the Google Play Store:

  1. Create a Developer Account: You need to create a Google Play Developer account by visiting the Google Play Console website and sign in with your Google account.
  2. Create a New Application: After creating a developer account, you can create a new application by providing information such as the app name, description, category, and other details.
  3. Upload APK: You need to upload the APK (Android Package Kit) file of your application. Ensure that the APK file is signed with a keystore file to ensure its authenticity.
  4. Fill in Store Listing Details: Provide the store listing details like the application title, description, screenshots, and other relevant details to help users understand your app.
  5. Set Pricing and Distribution: You can choose whether you want your application to be free or paid, and select the countries or regions where you want to make it available.
  6. Publish: Once you have completed all the necessary steps, you can click on the “Publish” button to make your application live on the Google Play Store.
  7. Update: You can update your application in the future by uploading a new APK file and updating the store listing details.

(b) Explain SQLiteOpenHelper class.

(c) Write a program to locate user’s current location. (Write ONLY .java
and manifest file)

“Do you have the answer to any of the questions provided on our website? If so, please let us know by providing the question number and your answer in the space provided below. We appreciate your contributions to helping other students succeed.”