Solutions to BCA4502: Mobile Application Development (MAD)
Section A: Attempt all Questions
Q1a. Primary function of an Adapter in Android:
An Adapter acts as a bridge between the data source (e.g., an array, database, or list) and a UI
component like a ListView or RecyclerView. It helps populate the UI with data dynamically.
Q1b. Use of the MenuInflater class:
The MenuInflater class is used to create and instantiate menu items from XML menu resource files
and integrate them into the app's UI.
Q1c. Common multimedia element in Android:
A common multimedia element is the VideoView or MediaPlayer, used to play audio or video files.
Q1d. Callback method invoked when an activity is no longer visible:
The onStop() method is invoked when an activity is no longer visible to the user.
Q1e. Data structure used for storing key-value pairs in Android:
The HashMap or SharedPreferences is commonly used to store key-value pairs in Android.
Section B: Attempt any Two
Q2a. Use of permissions in the AndroidManifest file:
Permissions in the AndroidManifest file are used to inform the system about the app's required
access to restricted resources, such as the camera, storage, or internet.
Example:
<uses-permission android:name="[Link]"/>
Q2b. Components of the Android Activity lifecycle:
The main components of the Android Activity lifecycle are:
- onCreate(): Called when the activity is first created.
- onStart(): Called when the activity becomes visible to the user.
- onResume(): Called when the activity starts interacting with the user.
- onPause(): Called when the activity goes into the background.
- onStop(): Called when the activity is no longer visible.
- onDestroy(): Called before the activity is destroyed.
Q2c. Different types of layouts in Android:
- LinearLayout: Aligns children in a single row or column.
- RelativeLayout: Positions elements relative to each other or the parent.
- ConstraintLayout: Provides flexible positioning and alignment using constraints.
- FrameLayout: A single view layout for stacking child views.
- GridLayout: Organizes children into a grid of rows and columns.
Q2d. Differences between Table View and Grid View in Android:
- Table View: Used to organize data into rows and columns with fixed layouts. It is less interactive.
- Grid View: Displays items in a scrollable grid, often used for interactive apps like photo galleries.
Section C: Attempt any One
Q3a. Write in detail about Content Provider:
A Content Provider in Android is a component that manages access to a central repository of data. It
allows apps to share and access data securely between them.
Key Features:
1. Data Sharing: Enables one app to access data stored by another app.
2. Uniform Interface: Provides a standard set of methods to perform data operations (CRUD).
3. URI Structure: Each Content Provider exposes its data through a unique URI.
CRUD Operations:
- Querying Data: Retrieves data using the query() method.
- Inserting Data: Adds new data using the insert() method.
- Updating Data: Modifies data using the update() method.
- Deleting Data: Removes data using the delete() method.
Example:
Uri contactsUri = [Link].CONTENT_URI;
Cursor cursor = getContentResolver().query(contactsUri, null, null, null, null);
while ([Link]()) {
String name =
[Link]([Link]([Link].DISPLAY_NAME));
Q3b. Different Android Storage Options:
1. Internal Storage: Stores private data within the app's private directory.
2. External Storage: Used for storing large files like images, videos, and documents.
3. SQLite Database: Provides structured storage for managing relational data.
4. SharedPreferences: Stores small key-value pairs, typically used for user preferences or settings.
5. Cloud Storage: Uses cloud services (e.g., Firebase) to store and synchronize data across
devices.
Example of SQLite Database:
SQLiteDatabase db = openOrCreateDatabase("MyDatabase", MODE_PRIVATE, null);
[Link]("CREATE TABLE IF NOT EXISTS Users(Id INTEGER, Name TEXT);");
[Link]("INSERT INTO Users VALUES(1, 'John');");
Q3c. Different types of Android Menus:
1. Options Menu: The primary menu displayed in the action bar.
2. Context Menu: Displays a menu for a specific UI element, usually on a long press.
3. Popup Menu: A small floating menu anchored to a view.
4. Navigation Menu: A sliding panel that displays app navigation options.
Example of Popup Menu:
PopupMenu popup = new PopupMenu(this, view);
[Link]().inflate([Link].popup_menu, [Link]());
[Link](item -> {
// Handle menu clicks
return true;
});
[Link]();