Q1. What is Android?
Android is a stack of software for mobile devices which includes an Operating System, middleware and some key applications. The application executes within its own process and its own instance of Dalvik Virtual Machine. Many Virtual Machines run efficiently by a DVM device. DVM executes Java languages byte code which later transforms into .dex format files.
Q2. Define the application resource file in android?
JSON,XML bitmap.etc are application resources.You can injected these files to build process and can load them from the code.
Q3. What language does Android support for application development?
Android applications has written using the java(Android SDK) and C/C++(Android NDK).
Q4. What is sleep mode in android?
Sleep mode mean CPU will be sleeping and it doesn’t accept any commands from android device except Radio interface layer and alarm.
Q5. What are the advantages of android?
Open-source: It means no licence, distribution and development fee.
Platform-independent: It supports windows, mac and linux platforms.
Supports various technologies: It supports camera, bluetooth, wifi, speech, EDGE etc. technologies.
Highly optimized Virtual Machine: Android uses highly optimized virtual machine for mobile devices, called DVM (Dalvik Virtual Machine).
Q6. What’s the difference between a file, a class and an activity in android?
File: It is a block of arbitrary information, or resource for storing information. It can be of any type.
Class: Its a compiled form of .Java file . Android finally used this .class files to produce an executable apk
Activity: An activity is the equivalent of a Frame/Window in GUI toolkits. It is not a file or a file type it is just a class that can be extended in Android for loading UI elements on view.
Q7. What are application Widgets in android?
App Widgets are miniature application views that can embedded in other applications (such as the Home screen) and receive periodic updates. These views has referred to as Widgets in the user interface, and you can publish one with an App Widget provider.
Q8. What is activity?
The building block of the user interface is the activity. They’re in a long-running conversation with the user and may remain active, even when idle, as long as the conversation continues. In terms of desktop development, an Activity is equivalent to a Form.
Q9. What is an Explicit Intent?
In an explicit intent, we actually specify the activity that is required to respond to the intent. In other words, we explicitly designate the target component. This is typically used for application internal messages.
Q10. What are the type of flags to run an application in android?
Q11. Describe Android Application Architecture.
Android Application Architecture has the following components:
Services – like Network Operation
Intent – To perform inter-communication between activities or services
Resource Externalization – such as strings and graphics
Notification signaling users – light, sound, icon, notification, dialog etc.
Content Providers – They share data between applications
How will you record a phone call in Android? How to get a handle on Audio Stream for a call in Android?
Permissions.PROCESS_OUTGOING_CALLS: Allows an application to monitor, modify, or abort outgoing calls.
Q12. Describe the APK format.
The (Android Packaging Key) APK file is compressed format of the AndroidManifest.xml file, application code (.dex files), resource files, and other files. A project is compiled into a single .apk file.
Q13. What is DDMS?
DDMS stands for Dalvik Debug Monitor Server. It gives the wide array of debugging features:
- Port forwarding services
- Screen capture
- Thread and heap information
- Network traffic tracking
- Location data spoofing
Q14. What is an Implicit Intent?
In an implicit intent, the main power of the android design, we just declare an intent and leave it to the platform to find an activity that can respond to the intent. Here, we do not declare the target component and hence is typically used for activating components of other applications seamlessly
Q15. What are the different phases of the Activity life cycle?
As an activity transitions from state to state, it is notified of the change by calls to the following protected methods:
1. void onCreate(Bundle savedInstanceState)
2. void onStart()
3. void onRestart()
4. void onResume()
5. void onPause()
6. void onStop()
7. void onDestroy()
Taken together, these seven methods define the entire lifecycle of an activity.
Q16. When does onResume() method called?
onResume() method is an activity lifecycle method. This is called when the activity come to foreground. You can override this method in your activity to execute code when activity is started, restarted or comes to foreground.
Q17. What is intent?
A class (Intent) describes what a caller desires to do. The caller sends this intent to Android’s intent resolver, which finds the most suitable activity for the intent. E.g. opening a PDF file is an intent, and the Adobe Reader is the suitable activity for this intent.
Q18. What is Android Runtime?
Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language. Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included “dx” tool.
Q19. What is the difference between Service and Thread?
Service is like an Activity but has no interface. Probably if you want to fetch the weather for example you won’t create a blank activity for it, for this you will use a Service. It is also known as Background Service because it performs tasks in background. A Thread is a concurrent unit of execution. You need to know that you cannot update UI from a Thread. You need to use a Handler for this.
Q20. What is an AndroidManifest file?
Applications declare their components in a manifest file that’s bundled into the Android package, the .apk file that also holds the application’s code, files, and resources. The manifest is a structured XML file and is always named AndroidManifest.xml for all applications. It is also used for naming any libraries the application needs to be linked against (besides the default Android library) and identifying any permission the application expects to be granted.
Q21. What are the measures to avoid application ANR?
ANR in application is annoying to user. It can be caused due to various reasons. Below are some of the tips to avoid ANR
- Perform all you long running network or database operation in separate thread
- If you have too much of background tasks, then take it off the UI thread. You may use IntentService
- Server not responding for longer period can be guilt for ANR. To avoid always define HTTP time out for your all your webs service calls.
- Be watchful of infinite loops during your complex calculations
Q22. What is the Open Handset Alliance?
The OHA is a consortium of 84 technology and mobile companies that have joined hands to accelerate innovation in mobile technology and at the same time offer the end users a better, cost-effective and richer mobile experience. Members of this include Google, HTC, Sony, Dell, Intel, Motorola, Qualcomm, Texas Instruments, Samsung, LG, T-Mobile, Nvidia. The OHA was started on 5 November 2007 by Google and 34 other companies. Android is the main software of the alliance.
Q23. What is ViewGroup?
A ViewGroup is a special view that can contain other views (called children.) The view group is the base class for layouts and views containers. This class also defines the class ViewGroup.LayoutParams which serves as the base class for layouts parameters.
Q24. What is a Toast Notification?
A toast notification is a message that pops up on the surface of the window. It only fills the amount of space required for the message and the user’s current activity remains visible and interactive. The notification automatically fades in and out, and does not accept interaction events.
Q25. What are the other Notifications?
A Status Bar Notification: It is used for persistent reminders that come from the background and request the user’s response.
A Dialog Notification: It is Used for Activity-related notifications.
Q26. What is a Service?
A Service is an application component representing either an application’s desire to perform a longer-running operation while not interacting with the user or to supply functionality for other applications to use. Services run without a dedicated GUI, but, like Activities and Broadcast Receivers, they still execute in the main thread of the application’s process. A Service could be, facility for an application to expose some of its functionality to other applications.
Q27. What is Dalvik Virtual Machine?
The name of Android’s virtual machine. The Dalvik VM is an interpreter-only virtual machine that executes files in the Dalvik Executable (.dex) format, a format that is optimized for efficient storage and memory-mappable execution. The virtual machine is register-based, and it can run classes compiled by a Java language compiler that have been transformed into its native format using the included “dx” tool. The VM runs on top of Posix-compliant operating systems, which it relies on for underlying functionality (such as threading and low level memory management). The Dalvik core class library is intended to provide a familiar development base for those used to programming with Java Standard Edition, but it is geared specifically to the needs of a small mobile device.
Q28. What is the significance of the .dex files?
Android programs are compiled into .dex (Dalvik Executable) files, which are in turn zipped into a single .apk file on the device. .dex files can be created by automatically, translating compiled applications written in the Java programming language.
Q29. What does ADT stand for?
ADT stands for Android Development Tools The Android SDK includes several tools and utilities to help you create, test, and debug your projects.
Q30. What are the different tools in Android? Explain them?
The Android SDK and Virtual Device Manager : It is used to create and manage Android Virtual Devices (AVD) and SDK packages. The AVD hosts an emulator running a particular build of Android, letting you specify the supported SDK version, screen resolution, amount of SD card storage available, and available hardware capabilities (such as touch screens and GPS).
The Android Emulator: An implementation of the Android virtual machine designed to run within a virtual device on your development computer. Use the emulator to test and debug your Android applications.
Dalvik Debug Monitoring Service (DDMS): Use the DDMS perspective to monitor and control the Dalvik virtual machines on which you’re debugging your applications.
Android Asset Packaging Tool (AAPT): Constructs the distributable Android package files (.apk).
Android Debug Bridge,(adb) : Android Debug Bridge, is a command-line debugging application shipped with the SDK. It provides tools to browse the device, copy tools on the device, and forward ports for debugging.
Q31. What is a Content Provider?
Content Providers are the only way to share data across Android applications. They store and retrieve data thus making it accessible to all. Content Providers give a uniform interface to access the data. Android platform provides default implementations of content providers for data types like audio, video, images, contact information etc.
Q32. What are the different storage methods in android
Android offers several different options for data persistence.
- Shared Preferences – Store private primitive data in key-value pairs. This sometimes gets limited as it offers only key value pairs. You cannot save your own java types.
- Internal Storage – Store private data on the device memory
- External Storage – Store public data on the shared external storage
- SQLite Databases – Store structured data in a private database. You can define many number of tables and can store data like other RDBMS.
Q33. What is the difference between a regular .png and a nine-patch image?
The nine patch images are extension with
.9.png. Nine-patch image allows resizing that can be used as background or other image size requirements for the target device. The Nine-patch refers to the way you can resize the image: 4 corners that are unscaled, 4 edges that are scaled in 1 axis, and the middle one that can be scaled into both axes.
Q34. How to share text using android share Intent ?
Share intent is an easy and convenient way of sharing content of your application with other apps.
Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send."); sendIntent.setType("text/plain"); startActivity(sendIntent);
Q36. What is the use of WebView in android?
A WebView is an android UI component that displays webpages. It can either display a remote webpage or can also load static HTML data. This encompasses the functionality of a browser that can be integrated to application. WebView uses the WebKit rendering engine to display web pages and includes methods to navigate forward and backward through a history, zoom in and out, etc.