MSBTE · 316006 · K Scheme · Sem 6
MAD Viva + Practical
Question Bank
Last Day Prep — Everything you need to pass your viva and score high. Crafted for diploma students.
Section 01
How to Prepare in 1 Day
1
Morning — Revise Practicals
Open your lab file. Re-read each program you wrote. Understand what each app does and how it works.
2
Study Key Theory Topics
Focus on Activity lifecycle, Intents, SQLite basics, Layouts, and Permissions. Skip deep details.
3
Afternoon — Practice Speaking
Read the viva answers out loud. Explain your login app and database app in simple words.
4
Evening — Do a Quick Test
Read all Q&A in Section 5 (pass list). If you can answer 80%, you’re ready. Use Section 6 for bonus prep.
5
Night — Relax + Sleep Well
Don’t read new topics at night. Sleep at least 7 hours. A fresh mind answers better than a tired one.
6
At Viva — Be Confident
Speak slowly and clearly. If you don’t know an answer, say “I think…” and give your best guess. Don’t stay silent.
Section 02
High Priority Topics
MUST STUDY Study these to pass your viva
GOOD TO KNOW Study these to score better
Android Basics
MUSTWhat is Android? Its features and advantages
MUSTAndroid Architecture (Linux Kernel, Libraries, ART, App Layer)
MUSTWhat is Android Studio? How to create a new project?
GOODDifference between DVM and JVM
GOODAndroid directory structure (res/, java/, manifest)
UI Components & Layouts
MUSTTextView, EditText, Button, ImageButton, ToggleButton
MUSTCheckBox and RadioButton — difference and use
MUSTLinearLayout and ConstraintLayout — when to use each
GOODRelativeLayout, FrameLayout, TableLayout
GOODListView, GridView, ScrollView — difference
GOODSplash Screen — how to create and add styles
Android Components
MUSTWhat is an Activity? Activity Lifecycle (onCreate to onDestroy)
MUSTExplicit Intent vs Implicit Intent — difference with example
MUSTWhat is a Service in Android?
GOODBroadcast Receiver — what it is and how to use it
GOODLifecycle of Service and BroadcastReceiver
Database (SQLite / Firebase)
MUSTWhat is SQLite? Why is it used in Android?
MUSTHow to create a database and insert/retrieve data
MUSTSQLiteOpenHelper class — what it does
GOODWhat is Firebase? Difference between SQLite and Firebase
GOODCRUD operations in SQLite (Create, Read, Update, Delete)
Advanced Concepts
MUSTWhat are Permissions in Android? How to declare them in Manifest?
MUSTGPS / Location Services — how it works in your app
GOODFragments — what they are and why we use them
GOODSMS / Camera / Bluetooth — use of permissions for each
GOODHow to publish an app on Google Play Store
Section 03
Viva Questions with Answers
What is Android?
Android is an open-source mobile operating system developed by Google. It is based on the Linux kernel and is used on smartphones, tablets, smart TVs, and more. It allows developers to build apps using Java or Kotlin.
What are the main features of Android?
Android supports multi-tasking, has an open-source platform, supports multiple screen sizes, provides Wi-Fi and Bluetooth connectivity, supports cameras and GPS, and allows app distribution via the Google Play Store.
Explain Android Architecture.
Android has 4 layers: (1) Linux Kernel — handles hardware drivers and memory. (2) Libraries & ART — contains SQLite, WebKit, and the Android Runtime. (3) Application Framework — provides APIs for activities, views, notifications. (4) Applications — the actual apps like Contacts, Camera, etc.
What is the difference between DVM and JVM?
JVM (Java Virtual Machine) runs Java programs on desktop. DVM (Dalvik Virtual Machine) is Android’s version, optimized for mobile devices with limited battery and memory. DVM uses .dex (Dalvik Executable) files instead of .class files. Android now uses ART (Android Runtime) which replaced DVM.
What is Android Studio? Why do we use it?
Android Studio is the official IDE (Integrated Development Environment) provided by Google for building Android apps. It includes code editor, emulator, layout designer, and debugging tools — everything needed to build, test, and run Android apps.
What is the difference between TextView and EditText?
TextView is used to display text (read-only). EditText is used to take input from the user — like a text box. For example, in a login form, the label “Username” is a TextView and the input field is an EditText.
What is LinearLayout?
LinearLayout arranges views in a single direction — either vertical or horizontal. You set it using the attribute android:orientation. It is simple and commonly used in forms and login screens.
What is ConstraintLayout?
ConstraintLayout allows you to position views using constraints relative to other views or the parent. It is flexible, works well on different screen sizes, and is the default layout in Android Studio. It reduces nested layouts and improves performance.
Difference between CheckBox and RadioButton?
CheckBox allows multiple selections — user can check more than one option. RadioButton allows only one selection from a group (used inside a RadioGroup). Example: Choosing hobbies → CheckBox. Choosing gender → RadioButton.
What is a Toast message?
A Toast is a small popup message that appears at the bottom of the screen for a short time. It is used to show quick messages to the user like “Login Successful”. It does not require any user action and disappears automatically.
What is an Activity in Android?
An Activity is a single screen in an Android app. Every screen you see (login screen, home screen, settings) is an Activity. Each Activity has its own lifecycle — onCreate, onStart, onResume, onPause, onStop, and onDestroy.
What is an Intent? What are its types?
Intent is used to navigate between activities or communicate between components. Explicit Intent opens a specific Activity in your own app. Implicit Intent asks Android to do something like open a browser or send an SMS, without specifying which app to use.
What is a Service in Android?
A Service is a component that runs in the background without a UI. For example, playing music while you use another app, or syncing data in the background. Services continue even when the user leaves the app.
What is a Broadcast Receiver?
A Broadcast Receiver listens for system-wide broadcast messages. For example, when the phone goes into airplane mode or battery is low, a Broadcast Receiver detects it and responds. In your practical, you used it to switch between silent/loud modes.
Explain the Activity Lifecycle.
When an Activity starts: onCreate() → onStart() → onResume(). When user leaves: onPause() → onStop(). When user returns: onRestart() → onStart() → onResume(). When activity closes: onDestroy(). onCreate is where we set the layout and initialize views.
What is SQLite? Why is it used in Android?
SQLite is a lightweight relational database that is built into every Android device. It stores data locally on the phone. It is used when the app needs to save data permanently — like user registrations, contacts, or notes — without internet.
What is SQLiteOpenHelper?
SQLiteOpenHelper is a helper class in Android that manages database creation and version management. We extend it in our code and override two methods: onCreate() to create tables, and onUpgrade() to update the database when version changes.
How do you insert data into SQLite?
We use ContentValues to store the data we want to insert, then call db.insert(tableName, null, values) where db is the SQLiteDatabase object. This inserts one row of data into the table.
What is Firebase? How is it different from SQLite?
Firebase is a cloud-based real-time database by Google that stores data online. SQLite stores data locally on the device. Firebase is used for apps that need live sync between multiple users (like chat apps), while SQLite is for offline, local storage.
What are Permissions in Android?
Permissions control what an app can access or do on the phone. For example, to use the camera, GPS, or send SMS, you must declare the permission in AndroidManifest.xml. For sensitive permissions (like camera), the user must also grant access at runtime.
What is GPS / Location Service in Android?
GPS allows the app to access the device’s current location. We use the LocationManager class and need to declare ACCESS_FINE_LOCATION permission in the manifest. The app then listens for location updates using a LocationListener.
What is a Fragment?
A Fragment is like a sub-part of an Activity — it has its own layout and logic. Multiple fragments can be used in one Activity. They are useful for building flexible UIs that work on both phones and tablets. Navigation Drawer apps commonly use Fragments.
How do you publish an app on Google Play Store?
Steps: (1) Create a signed APK or AAB file in Android Studio. (2) Create a developer account on the Google Play Console. (3) Fill in the app details — name, description, screenshots. (4) Upload the APK/AAB. (5) Submit for review. After approval, the app goes live on the Play Store.
Section 04
Practical-Based Questions
P1
Explain your Login App — what does it do and how did you build it?
Speak naturally — tell the story of your app
How to Answer
“Sir, I developed a Login App in Android Studio. The app has two screens — a Login Screen and a Home Screen. On the login screen, I used EditText for username and password, and a Button to submit. When the user clicks login, it checks if the input is correct. If yes, I used an Explicit Intent to move to the Home Screen. I designed the UI using LinearLayout and added a Toast message for wrong credentials. I also used basic validation to make sure fields are not empty.”
P2
How did you use Intent in your app? Explain with example.
Mention explicit and implicit clearly
How to Answer
“Sir, I used two types of Intents. First, Explicit Intent — when the user clicks Login button, I wrote: Intent i = new Intent(MainActivity.this, HomeActivity.class); startActivity(i); This takes the user to the Home screen directly. Second, Implicit Intent — in my practical, I used it to open a website in the browser using Intent.ACTION_VIEW. So both intents were used in different places in my project.”
P3
How does the database work in your app? Explain SQLite usage.
Mention create, insert, retrieve clearly
How to Answer
“Sir, I used SQLite database in my Registration app. I created a class that extends SQLiteOpenHelper. In the onCreate() method, I wrote a SQL query to create a table with columns like id, name, email, and password. When the user fills the form and clicks Register, I store the data using ContentValues and db.insert(). To retrieve data, I use db.query() and a Cursor to read each row. This way, all data is saved locally on the device.”
P4
Explain your Broadcast Receiver practical — how does it work?
Mode switching practical
How to Answer
“Sir, in this practical, I created a BroadcastReceiver to switch the phone between Airplane Mode, Silent Mode, and Loud Mode. I registered the receiver in the AndroidManifest.xml. When a button is clicked, an Intent broadcast is sent. The BroadcastReceiver’s onReceive() method catches it and changes the phone mode using AudioManager. This shows how Android components communicate using broadcasts.”
P5
What permissions did you use in your app and why?
GPS, Camera, SMS practicals
How to Answer
“Sir, in my GPS/Location app, I added ACCESS_FINE_LOCATION permission in AndroidManifest.xml. For the Camera app, I added CAMERA permission. For the SMS app, I added SEND_SMS and RECEIVE_SMS permissions. These are declared in the manifest because Android needs to know what system resources the app will access. Some of these are runtime permissions, so I also used ActivityCompat.requestPermissions() to ask the user.”
Section 05
Top Questions for Passing Viva
If you only have 1 hour, just read these. They cover the minimum needed to pass your viva.
What is Android?
Open-source mobile OS by Google, based on Linux kernel, used in smartphones and tablets.
What is an Activity?
A single screen in an Android app. Every screen the user sees is one Activity.
What is Intent? Types?
Intent navigates between screens. Explicit = opens specific Activity. Implicit = asks Android to do something (like open browser).
What is SQLite?
Lightweight local database built into Android. Stores app data on the device without internet.
What is LinearLayout?
Arranges views in a straight line — either vertical or horizontal using android:orientation.
What is a Permission in Android?
Permission controls what the app can access. Declared in AndroidManifest.xml. E.g., CAMERA, GPS, SEND_SMS.
What is Android Studio?
Official IDE by Google for Android development. Includes code editor, emulator, layout designer.
What is a Toast message?
A small popup message shown briefly to the user. Used to show quick feedback like “Login Successful”.
What is a Service in Android?
A component that runs in the background without UI. Example: playing music while using another app.
Explain your login/registration app briefly.
Built with EditText, Button, and Intent. Used LinearLayout for design. Used Toast for feedback. Connected to SQLite for storing data.
Section 06
Top Questions for High Score
These questions will impress the examiner and help you score above average.
Explain the complete Activity Lifecycle with all methods.
onCreate → onStart → onResume → onPause → onStop → onRestart → onDestroy. Explain what happens in each method and when it is called.
Difference between SQLite and Firebase with use cases.
SQLite = offline, local, faster for single-device. Firebase = online, real-time, multi-user sync. Use Firebase for chat apps, SQLite for notes/contacts.
What is SQLiteOpenHelper? Which methods do you override?
Helper class to manage database. Override onCreate() to create tables and onUpgrade() to handle version changes. Get database using getWritableDatabase().
Difference between Explicit and Implicit Intent — with code example.
Explicit: new Intent(this, SecondActivity.class). Implicit: new Intent(Intent.ACTION_VIEW, Uri.parse(“https://google.com”)).
What is a Fragment? Why is it better than having multiple Activities?
Fragment = reusable UI piece inside an Activity. More efficient for navigation, supports back stack, adapts to screen size. Used in Navigation Drawer apps.
What is ART? How is it different from DVM?
ART (Android Runtime) replaced DVM. ART uses AOT (Ahead-Of-Time) compilation — it compiles code at install time, making apps start faster. DVM compiled at runtime (JIT).
How do you handle runtime permissions in Android?
Declare in manifest first. Then use ActivityCompat.requestPermissions() at runtime. Handle result in onRequestPermissionsResult() callback.
What is the AndroidManifest.xml file? What does it contain?
It is the main config file of every Android app. Contains app name, permissions, list of activities, services, receivers, and intent filters. Required for every Android project.
What is ConstraintLayout? Why is it preferred?
Flexible layout using constraints to position views. Works on all screen sizes. Avoids deep nested layouts. Better performance than RelativeLayout for complex UIs.
Explain the steps to publish an app on Google Play Store.
Build signed APK/AAB in Android Studio → Create Play Console account → Set up app listing with screenshots → Upload file → Submit for review → App goes live after approval.
Section 07
Common Mistakes to Avoid in Viva
Staying SilentIf you don’t know an answer, say “I think it’s…” — never go completely quiet.
Confusing Explicit & Implicit IntentExplicit = specific Activity. Implicit = action like open browser. Don’t mix them up.
Not Knowing Your Own AppYou MUST know what your app does — screens, buttons, database, and flow. Read your lab file.
Confusing Activity and FragmentActivity = full screen. Fragment = part of a screen. Both have their own lifecycle.
Forgetting PermissionsDon’t forget to mention that permissions are declared in AndroidManifest.xml and some need runtime request.
Mixing SQLite with FirebaseSQLite = local/offline. Firebase = cloud/online. Know the difference and when to use each.
Speaking Too FastSpeak slowly and clearly. Examiners prefer clarity over speed. Pause between sentences.
Memorizing Without UnderstandingTry to understand the concept in 1 sentence. That’s easier to explain than memorizing paragraphs.
Skipping Lifecycle QuestionsActivity Lifecycle is almost always asked. Prepare all 7 methods: onCreate to onDestroy.
Not Knowing DVM vs JVMA common basic question. DVM = Android (mobile optimized). JVM = Java desktop. ART replaced DVM.