1. Describe the key resources used in mobile application development.
Mobile application development requires a synchronized set of resources categorized into Software,
Hardware, and Connectivity components.
A. Software Resources
• SDK (Software Development Kit): Essential tools and libraries needed to build apps for specific
platforms (e.g., Android SDK, iOS SDK).
• IDE (Integrated Development Environment): Software for writing and debugging code. Examples:
Android Studio and Xcode.
• Frameworks/Libraries: Pre-written code to simplify complex tasks. Examples: Flutter, React
Native, or Retrofit.
B. Hardware and Testing Resources
• Development Machine: A high-performance PC or Mac required to run IDEs and compile apps.
• Emulators/Simulators: Virtual devices used to test apps on a computer without physical
hardware.
• Physical Devices: Real smartphones used for final testing of performance, battery, and touch
response.
C. Backend and Connectivity Resources
• APIs: Tools used to connect apps to external services like Maps or Authentication.
• Cloud & Databases: Services like AWS or Firebase for remote data storage and synchronization.
2. Illustrate and explain the activity lifecycle in mobile application
development with a suitable diagram.
In Android, an Activity is a single screen. Its lifecycle is managed by a series of callback
methods that the system calls as the activity moves through different states.
Explanation of States
1. onCreate(): Triggered when the activity is first
created. Used for static setup (inflating UI).
2. onStart(): Makes the activity visible to the user.
3. onResume(): The activity enters the foreground
and becomes interactive.
4. onPause(): The activity is still partially visible but
losing focus (e.g., a transparent dialog appears
above it).
5. onStop(): The activity is no longer visible.
6. onDestroy(): The activity is being removed from
memory.
3. Draw and interpret the architecture of a mobile application.
A mobile application follows a layered architecture to separate responsibilities and improve
maintainability.
1. Presentation Layer
o Contains UI components like Activities, Fragments, and layouts.
o Handles user interaction and displays data on the screen.
2. Application / Business Logic Layer
o Contains application logic and decision-making code.
o Processes user input and controls the app flow.
3. Data Layer
o Manages data from databases, web services, APIs, or cloud (Firebase).
o Responsible for storing, retrieving, and updating data.
4. System & Hardware Layer
o Provides access to operating system services such as camera, GPS, sensors, and
network.
o Acts as an interface between the app and device hardware.
4. Explain the concept of event handling in mobile applications with relevant examples.
Event handling is the process of capturing user interactions (taps, swipes, long presses) and
responding to them.
Event Listeners: Interfaces in the View class that contain a single callback method.
Example:
Button myButton = findViewById([Link].btn_submit);
[Link](new [Link]() {
@Override
public void onClick(View v) {
// Logic to execute when button is clicked
[Link]("Button Clicked!");
}
});
5. Describe and classify different user interface (UI) controls used in mobile application
development.
UI controls (also known as "Widgets" or "Views") are the interactive and visual building blocks
of a mobile application. They allow users to interact with the app and view its content.
Classification of UI Controls
A. Text Input and Display Controls
• TextView: Used to display read-only text to the user. It is the primary way to show labels
and instructions.
• EditText: An extension of TextView that allows users to type in text. It can be customized
for specific inputs like passwords, emails, or phone numbers.
B. Button and Action Controls
• Button: A standard push-button that performs an action when tapped (e.g., "Submit" or
"Cancel").
• ImageButton: Similar to a regular button but displays an image instead of text.
• Floating Action Button (FAB): A circular button that floats above the UI, usually
representing the primary action of the screen (e.g., "Add New").
C. Selection Controls
• CheckBox: Allows the user to select one or more options from a set of choices.
• RadioButton: Used when the user must select exactly one option from a group (grouped
within a RadioGroup).
• Switch/ToggleButton: Used to toggle a setting between two states (e.g., ON/OFF or Dark
Mode/Light Mode).
D. List and Selection Pickers
• Spinner: A drop-down menu that allows users to select one value from a list.
• ListView/RecyclerView: Used to display long, scrollable lists of data efficiently.
• DatePicker/TimePicker: Standardized dialogs or widgets that help users select a specific
date or time without typing.
E. Feedback and Status Controls
• ProgressBar: Shows that a task is in progress (can be a circle for unknown duration or a
bar for specific progress).
• ImageView: Used for displaying graphical content like icons, photos, or logos.
User Interface (UI) Controls
UI controls are the building blocks of the interface. They are classified into:
• Input Controls: Buttons, EditText (text fields), Checkboxes, RadioButtons, Spinners
(dropdowns).
• Display Controls: TextView (labels), ImageView, ProgressBar.
• Navigation Controls: BottomNavigationView, DrawerLayout, Toolbar.
6. Write brief notes on menus and dialogues in mobile applications.
• Menus: Used to provide additional options without cluttering the UI. Common types include Options
Menus (top bar), Context Menus (long-press), and Popup Menus.
• Dialogues: Small windows that prompt the user to make a decision or enter additional information (e.g.,
AlertDialog, DatePickerDialog). They interrupt the user flow and require immediate attention.
Menus
Menus provide a way for users to access app actions and options.
Types of Menus:
1. Options Menu – Displays primary actions of the app (e.g., Settings, Logout).
2. Context Menu – Appears when the user long-presses on an item.
3. Popup Menu – Shows a small floating menu anchored to a view.
Uses:
• Navigation
• App settings
• Performing actions efficiently
✔ Menus improve usability and organization of the application.
Dialogues
Dialogues are small windows that prompt the user for information or decisions.
Types of Dialogues:
1. Alert Dialog – Displays warnings or confirmation messages.
2. Progress Dialog – Shows task progress (loading).
3. Date/Time Picker Dialog – Used to select date or time.
Uses:
• User confirmation
• Display important messages
• Collect small inputs
✔ Dialogues ensure user interaction without changing screens.
7. Differentiate between User Experience (UX) and User Interface (UI) with suitable examples.
No. User Interface (UI) User Experience (UX)
1 Focuses on visual design Focuses on user satisfaction
2 Deals with how the app looks Deals with how the app works
3 Includes buttons, icons, colors Includes navigation, flow, usability
4 Concerned with aesthetics Concerned with functionality & comfort
5 Uses design tools like layouts Uses research and testing
6 Can be attractive but confusing Can be simple but highly effective
7 Designed after UX planning Designed before UI
8 Example: Beautiful login screen Example: Easy login in 2 steps
9 Part of the product design Covers entire user journey
8. Explain and analyze broadcast receivers and their types in detail.
What is a Broadcast Receiver?
A Broadcast Receiver is an Android component that listens for system-wide or application-specific events
and responds to them.
These events are called broadcasts and are sent by the Android system or other applications.
Examples of broadcasts:
• Battery low
• Incoming SMS
• Network connectivity change
• Phone reboot
Broadcast receivers do not have a user interface and perform short background tasks.
Working of Broadcast Receiver
1. A broadcast event occurs (e.g., battery low).
2. The Android system sends a broadcast message.
3. The registered broadcast receiver receives the message.
4. The onReceive() method is executed.
5. Required action is performed.
Types of Broadcast Receivers Analysis / Importance of Broadcast
1. Static Broadcast Receiver
• Declared in [Link]
Receivers
• Always active, even if the app is not running • Helps apps respond to real-time system events
• Suitable for system-level events • Enables background processing
Example uses: • Improves app responsiveness
• Device boot completed • Useful for system monitoring and automation
• Battery low alert
Advantages:
• Works even when the app is closed
Disadvantages:
• Higher memory usage
2. Dynamic Broadcast Receiver
• Registered at runtime using code
• Active only while the app is running
• Unregistered when not needed
Example uses:
• Network connectivity changes while app is open
• Headphone plug/unplug
Advantages:
• Efficient and flexible
• Better performance
Disadvantages:
• Works only when app is active
9. Define and explain the following terms related to mobile application development:
i. UI Layouts
ii. UI Controls
iii. Toast
iv. UI Animations
i. UI Layouts
UI Layouts define the structure and arrangement of user interface elements on the screen.
• They decide where and how UI components are placed.
• Examples: LinearLayout, RelativeLayout, ConstraintLayout.
• Help in creating organized and responsive screens.
ii. UI Controls
UI Controls are interactive elements that allow users to interact with the application.
• Used to take input or display information.
• Examples: Button, TextView, EditText, CheckBox.
• Improve user interaction and functionality.
iii. Toast
A Toast is a small popup message that displays short notifications to the user.
• Appears for a short time and disappears automatically.
• Does not block user interaction.
• Used for status messages like “Saved successfully”.
iv. UI Animations
UI Animations are visual effects applied to UI elements to improve user experience.
• Examples: fade, slide, rotate, zoom.
• Make the app more attractive and interactive.
• Help guide user attention.