Q #1) What is Android?
Answer: Android is an open source operating system and is mainly popular for Smartphones and Tablets.
This operating system is Linux Kernel based. Using Android operating system, the developer develops the functions or programs which can perform basic as well as the advanced type of operations on the Smartphone.
Q #2) What is Android SDK?
Answer: To develop a mobile application, Android developers require some tools and this requirement is satisfied by “Android SDK” which is a set of tools that are used for developing or writing apps.
It has a Graphical User Interface which emulates the Android environment. This emulator acts as an actual mobile device on which the developers write their code and then debug/test the same code to check if anything is wrong.
Q #3) What are the different versions of Android OS that you remember?
Answer: Given below are the various versions of Android.
Android 7.0 – 7.1.2
Android 6 – 6.0.1
Android 5 – 5.1.1
Android 4.4 – 4.4.4
Android 4.1 – 4.3
Ice Cream Sandwich
Q #4) What is the difference between Mobile Application Testing and Mobile Testing?
Answer: Mobile app testing is the testing of applications on a device which mainly focuses on functions and features of the application.
And Mobile Testing is the testing of the actual mobile device and focuses on the mobile features like Call, SMS, Contacts, Media Player, inbuilt browsers etc.
Q #5) Name the languages supported for Android development.
Answer: Java is the widely used language for Android development.
It also supports C/C++ and when used with Android SDK, it improves the performance speed too.
Q #6) What are the advantages of Android Operating System?
Answer: It is an open-source and platform independent. It supports various technologies like Bluetooth, Wi-Fi, etc
Q #7) Explain Android Architecture briefly.
Answer: Android architecture is in the form of software stack components.
The below diagram describes the different layers in the Android architecture.
- Linux Kernel: Linux Kernel is placed at the bottom of the software stack and is the foundation of the Android architecture. Using Linux kernel, Android provides a connection between the other layers of the software. It helps to develop drivers like the keypad, display, audio for device manufacture etc.
- Hardware Abstraction Layer (HAL): HAL provides an interface between device drivers and API framework. It consists of library modules which are specific to the hardware component.
- Android Runtime: Linux kernel provides multi-tasking execution environment so that multiple processes can execute each process runs on its own instance of Android Runtime (ART). Android has core runtime libraries like Dalvik VM specific libraries, Java Interoperability Libraries, Android Libraries and C/C++ libraries.
Q #8) Define and explain Android Framework.
Answer: Android framework is a set of API’s using which the Android developers write code for the mobile apps. It contains the methods and classes to write the programming code.
Android framework includes a different set of tools to create image pane, text field, buttons, etc. It also includes “Activities” with which the user interacts and “Services”, which are the programs that run in the background. It is a package of different components like Intents, Broadcast Receivers, Content Providers, etc.
Q #9) Which components are necessary for a New Android project?
Answer: Whenever a new Android project is created, the below components are required:
- manifest: It contains xml file.
- build/: It contains build output.
- src/: It contains the code and resource files.
- res/: It contains bitmap images, UI Strings and XML Layout i.e. all non-code resources.
- assets/: It contains a file which should be compiled into a .apk file.
Q #10) Provide the important core components of Android.
Answer: The core components of Android operating systems are:
- Content Provider
Q #11) Explain briefly – what is meant by Activities?
Answer: Activities are the part of the mobile app which the user can see and interact with.
For Example, if you open an SMS app which has multiple activities like create new SMS, add a contact from the address book, write the content in the SMS body, send SMS to the selected contact, etc.