Android Interview Questions

1. What is android?
A.Android is a stack of software for mobile devices which has 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 language byte code which later transforms into .dex format files.

2. What is .apk extension?

A.The extension for an Android package file, which typically contains all of the files related to a single Android application. The file itself is a compressed collection of an AndroidManifest.xml file, application code (.dex files), resource files, and other files. A project is compiled into a single .apk file.

3. What is a service?

A. Service doesn't have a visual user interface, but rather runs in the background for an indefinite period of time.
For example, a service might play background music as the user attends to other matters, or it might fetch data over the network or calculate something and provide the result to activities that need it.Each service extends the Service base class.

4. How do I add sections to my favorites?

A. It is possible to add sections, topics and contributors to your favorites.You can add to favorites by tapping the star icon in the top right hand corner of the relevant screens,or on the right hand side of the headers in the all sections menu.

5. What do I need to develop Mono for Android applications? 
A. Mono for Android on Windows provides a plugin for Visual Studio 2010 Professional or better. We also support Mono for Android development using MonoDevelop on Windows for users that do not own a copy of  Visual Studio 2010 Professional or better.Mono for Android on Mac developers can use MonoDevelop. On all platforms, Mono for Android requires the Android SDK (which requires Java JDK).

6. What are the advantages of Android?

A. The following are the advantages of Android:

* The customer will be benefited from wide range of mobile applications to choose, since the monopoly of

wireless carriers like AT&T and Orange will be broken by Google Android.
* Features like weather details, live RSS feeds, opening screen, icon on the opening screen can be customized
* Innovative products like the location-aware services, location of a nearby convenience store etc., are some of the additive facilities in Android.

Components can be reused and replaced by the application framework.

* Optimized DVM for mobile devices
* SQLite enables to store the data in a structured manner.
* Supports GSM telephone and Bluetooth, WiFi, 3G and EDGE technologies
* The development is a combination of a device emulator,debugging tools,memory profiling and plug-in for Eclipse IDE.

7. How to Remove Desktop icons and Widgets?

A. Press and Hold the icon or widget.The phone will vibrate and on the bottom of the phone you will see anoption to remove. While still holding the icon or widget drag it to the remove button.Once remove turns red drop the item and it is gone.

8. How do I remove sections from my favorites?

A. From the favourites menu, tap the red icons to the left hand side of the items. Alternatively, tap the star icon in the top right hand corner of the relevant screen so that it returns to its white state.

9. What is .dex extension?

A.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.

10. What is Adapter?
A. Adapter are bridging classes that bind data to Views(such as List Views) used in the user interface. The adapter is responsible for creating for creating the child Views used to represent each item within the parent View, and providing access to the underlying data.

11. Implicent Intents and Late Runtime Binding? 
A. An implicit Intent is mechanism that lets anonymous application components service action request. That means you can ask the system to launch an Activity that can perform a given action without knowing which application ,or Activity , will do so.

12. How many ways data stored in Android? 
A. 1.SharedPreferences 
    2.Internal Storage 
    3.External Storage 
    4.SQLite Database 
    5.Network connection

13. What is Drawable? 
A. A compiled visual resource that can be used as a background, title, or other part of the screen. It is compiled into an android.graphics. drawable subclass.

14. What are the Features of Android?

Application framework enabling reuse and replacement of components :

Dalvik virtual machine optimized for mobile devices.

Integrated browser based on the open source WebKit engine.
Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0
specification (hardware acceleration optional).
SQLite for structured data storage.
Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).
GSM Telephony (hardware dependent).
Bluetooth, EDGE, 3G, and WiFi (hardware dependent).
Camera, GPS, compass, and accelerometer (hardware dependent).
Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE.

15. What is needed to make a multiple choice list with a custom view for each row?
A. Multiple choice list can be viewed by making the CheckBox android:id value be “@android:id /text1". That is the ID used by Android for the CheckedTextView in simple_list_item_multiple_choice. 

16. Explain about the exceptions of Android?
A.The following are the exceptions that are supported by Android :
* InflateException : When an error conditions are occurred, this exception is thrown
* Surface.OutOfResourceException: When a surface is not created or resized, this exception is thrown
* SurfaceHolder.BadSurfaceTypeException: This exception is thrown from the lockCanvas() method, when invoked on a Surface whose is SURFACE_TYPE_PUSH_BUFFERS
* WindowManager.BadTokenException: This exception is thrown at the time of trying to add view an invalid  WindowManager.LayoutParamstoken.

17. Explain the Architecture of Android ?
A. Top -> Applications (Contacts, Browser, Phone, etc)
Below Applications -> Application Framework(Activity Manager, Window Manager, Content Providers, View System, Package manager, Telephony manager, Resource, Notification, Location managers)
Below Application Framework -> System Libraries(Like Sqlite, webkit, SSL, OpenGL, Media Framework etc) & Android Runtime( Core Libraries and DVM).
Atlast Last -> Linux Kernel (which composed of drivers like display, camera etc.)

18. Describe the APK format ?
A.The APK file is compressed the AndroidManifest.xml file, application code (.dex files), resource files, and other files. A project is compiled into a single .apk file.

19. What features does it have? 
A . 1.Navigate by section, topic or contributor 
      2. Download your homepage and favourites for offline reading with the touch of a button,or schedule a  daily download for a time that suits you 
      3.Browse our award-winning audio and video content 
      4.Save contributors, topics and sections to your favourites folder 
      5.Add favourites to your homescreen with an expanded view or link 
      6.Swipe through stunning full-screen picture galleries 
      7.Share articles and galleries via the Android share function 
      8.View content in portrait or landscape orientation

20. Where is the UI Designer? 
A. Mono for Android does not bundle a UI designer to create the UI XML files We do not provide an integrated UI designer in Mono for Android 1.0. No decisions past that have been made. We will be listening to user feedback to decide where to put resources for the future versions.

21. How do I turn off, or reboot Android?
A. In earlier releases, you had to pull the battery or press the reset button, in newer releases, you can hold down the 'end call' button and see a menu.

22. Can the user set a priority?
 A. Don’t know, post your question to the developer’s community board.

23. What are the downsides of Android?
A. Well, if you ask me, the Android OS isn’t quite as forgiving to wireless beginners as the iPhone is.Setting up your e-mail, contacts and calendar on Android is a breeze (if you’re all about Gmail, that is),but when it comes to, say, your music and videos, you’re on your own with Android, which lacks an official media syncing client for the desktop. With the iPhone, you do all your syncing on easy-to-use iTunes, which also lets you manage your e-mail accounts, contacts, apps and photos. Then again, you can only use iTunes for syncing the iPhone, while Android users have a variety of third-party options.

That’s just one example, but in general, Android gives you more options and choices about how you manage your phone and your mobile content — great for experienced and advanced users, but potentially intimating for new mobiles.


On the other hand, while beginners might appreciate the (usually) smooth, user-friendly experience that Apple has devised for the iPhone, advanced users may (and often do) get frustrated by Apple’s tight control over what they can and can't do on the iPhone. It’s a trade-off, plain and simple, and your choice of platform depends on what’s right for you.


24. What are the hottest new Android phones out right now?
A. Well, earlier this summer we got the HTC Evo 4G, which supports Sprint’s budding, next-generation WiMax data network and boasts a 4.3-inch display-the same size as the screen on the Motorola Droid X, another eye-popper of a phone, except it’s on Verizon instead of Sprint. Samsung is in the midst of releasing a series of what it calls its Galaxy S-class Android phones: They’re thin and light, they all have high-contrast 4--inch "Super AMOLED" screens, and they’re available (or will be soon) on all four of the big U.S. carriers. If you’re looking for an Android phone with a slide-out QWERTY, consider the new Motorola Droid 2 on Verizon or the upcoming Samsung Epic 4G for Sprint.

25. What is an action? 
A. The Intent Sender desires something or doing some task.

26. Can I use the GoToMeeting app for Android on my Android device?
A. Yes. If you’re running Android 2.2 or higher, you can install the GoToMeeting app from the Android Market to join meetings and webinars as an attendee. We recommend using devices with a 1Ghz processor or higher for optimal performance.

27. Does Android support Adobe Flash in the browser? 
A.Flash support varies by device with Android 2.1. The Samsung Acclaim does not have Flash support upon launch, but the HTC Desire will support Flash Lite 4.0 running Android 2.1. Flash 10.1 support is coming to Android-powered phones with Android 2.2.

28. How do I find and download updates to the E.ON Android application? 
A. Any updates to our App will appear on your notification menu at the top of your screen. Just tap on the E.ON App icon and you'll be taken into the Android Market and be presented with the E.ON App download page.

29. What is a resource? 

A. user defined JSON, XML, bitmap, or other file, injected into the application build process, which can later be loaded from code.

30. Describe Briefly the Android Application Architecture ?
Android Application Architecture has the following components:
Services like Network Operation Intent - To perform inter-communication between activities or servicesResource Externalization-such as strings and graphics
Notification signaling users - light, sound, icon, notification, dialog etc. 
Content Providers - They share data between applications .

31. What is an Application ? 
A. Collection of one or more activities, services, listeners, and intent receivers. An application has a single manifest, and is compiled into a single .apk file on the device.

32. What are fragments in Android Activity ? 
A. Fragment represents a behavior or a portion of user interface in an Activity. And it is a self-contained component with its own UI and lifecycle. 

33. Types of Android applications? 
A.  1.Foreground
      2.Background
      3.Intermittent
      4.Widget

34. What are Native Android Actions?
A. Native Android applications also use Intents to launch Activities and sub Activities :
ACTION-ANSWER Opens an Activity that handles immediately initiates a call using the number supplied in the Intent URI.Genereally it's considered better from to use ACTION_DIAL if possible.
ACTION_DELETE Starts an Activity hat lets you delete the data specified at that Intent's data URI.
ACTION_DIAL Brings up a dialer application with the number to dial pre-populated from the Intent URI. By default this is handled by the native Android phone dialer.
ACTION_EDIT Requests an Activity that can edit that data at the specified Intent URI.
ACTION_INSERT
ACTION_PICK
ACTION_SEARCH
ACTION_SENDTO
ACTION_SEND
ACTION_VIEW
ACTION_WEB_SEARCH

35. What is an activity? 
A. A single screen in an application, with supporting Java code.

An activity presents a visual user interface for one focused endeavor the user can undertake.


For example, an activity might present a list of menu items users can choose from or it might display photographs along with their captions.


36. Describe a real time scenario where android can be used? 
A .Imagine a situation that you are in a country where no one understands the language you speak and you can not read or write. However, you have mobile phone with you.

37. Will it work on my phone?
A.The app will work on all phones and tablets running Android version 1.6 and above.

38. How to select more than one option from list in android xml file?
A. Give an example.
Specify android id, layout height and width as depicted in the following example.

39. How much does it cost? 
A.The app is free and ad-supported. 

40. What languages does Android support for application development? 
A.Android applications are written using the Java programming language.

41. How do I save the app to my SD card?

A. From the device's Settings menu, go to Applications > Manage applications > The Guardian. Under the data header, choose "Move to SD card".

42. Describe Android Application Architecture?

A.Android Application Architecture has the following components:
    1.Services – like N
    2.Intent – To perform inter-communication network Operation between activities or services
    3.Resource Externalization – such as strings and graphics
    4.Notification signaling users – light, sound, icon, notification, dialog etc.

43. What is the Android Open Source Project? 
A. We use the phrase “Android Open Source Project” or “AOSP” to refer to the people, the processes,and the source code that make up Android.

44. What is Mono for Android? 

A. Mono for Android is a software development kit that allows developers to use the C# language to create mobile applications for Android-based devices.Mono for Android exposes two sets of APIs, the core .NET APIs that C# developers are familiar with as well as a C# binding to Android's native APIs exposed through the Mono.Android.* namespace.You can use Mono for Android to develop applications that are distributed through the Android Application Stores or to deploy software to your personal hardware or the Android simulator.

45. Why did we open the Android source code? 
A .Google started the Android project in response to our own experiences launching mobile apps. We wanted to make sure that there would always be an open platform available for carriers, OEMs, and developers to use to make their innovative ideas a reality. We also wanted to make sure that there was no central point of failure, so that no single industry player could restrict or control the innovations of any other. The single most important goal of the Android Open-Source Project (AOSP) is to make sure that the open source Android software is implemented as widely and compatibly as possible, to everyone’s benefit.

46. What is included in Mono for Android? 
 A. Mono for Android consists of the core Mono runtime, the Mono for Android bindings to the native Android APIs, a Visual Studio 2010 plugin to develop Android applications and an SDK that contains the tools to build, debug and deploy your applicationsOur Visual Studio 2010 plugin allows developers to use Visual Studio 2010 to develop, debug and deploy their applications to an Android simulator, an Android device, or the Android Application Store.

47. What is the Guardian app for Android?
 A.The Guardian app for Android delivers all the best content from guardian.co.uk to your phone or tablet. Read the latest news, sport, comment and reviews, watch video, listen to brodcasts and browse stunning picture galleries while on the move.

48. Will my users need to install Mono? 
A. No, When you deploy your application to the app store the Mono mobile runtime is statically linked to your application. No additional dependancies are needed. From the users point of view, there is no difference between an application created in Java and an application created using Mono for Android, other than a slightly larger (~4.4MB) application size.

49. In a previous release, XMPP was turned into GTalk. Will a future version have XMPP? 
A. Goal is to have XMPP support after 1.0. Later they said both GTalk and XMPP were post 1.0 features. -Ed

50. What is the API profile exposed by Mono for Android? 

A. Mono for Android uses the same API profile for the core libraries as MonoTouch.Specifically, MonoTouch and Mono for Android both support a Silverlight-based API, without Silverlight's UI libraries (e.g. no XML, no WindowsBase.dll, etc.), and free of the sandboxing limitations of Silverlight.

51.What’s so special about Android?
A. Unlike the proprietary iPhone operating system (now known as "iOS,"), which is under the complete control of Apple — and the same goes for Research in Motion’s BlackBerry OS or Microsoft’s Windows Phone platform — Google released Android as an open-source OS under the auspices of the Open Handset Alliance, leaving phone manufacturers (relatively) free to tweak Android as they see fit for a given handset.

That’s one thing that’s special about Android. Another thing is that it just happens to be a really good OS, the first one in the post-iPhone wireless era to really give Apple a run for its money. Android may not be as sleek or polished as iOS (that’s my humble opinion, at least), but it’s fast and powerful, with an intuitive user interface that’s packed with options and flexibility. It’s also being constantly improved courtesy of the big brains at Google, making the Android experience sleeker by the day.


52. How is Mono for Android licensed? 
A. Mono for Android is a commercial/proprietary offering that is built on top of the open source Mono project and is licensed on a per-developer basis. 

53. Are Android phones called "Droids"?

 A. Not necessarily. "Droid" is a brand name used by Verizon Wireless for its Android-based phones — the Droid X, the Droid Eris, the Droid Incredible and so on. The HTC Evo 4G on Sprint is not a "Droid," perse, but it’s still an Android smartphone.

54. When will it be available in a ROM? 

 A. No time soon. Folks are working on it, but you'll need a lot of patience before it (if ever) arrives .

55. Why would I (potentially) choose an Android phone over an iPhone? 
A. Well, for a variety of reasons — although I should point out that I’m actually a fan of both operating
systems. (Sorry to disappoint the smartphone flame warriors out there.)

One reason to go the Google way is that Android phones boast tight integration with Google services like Gmail, Google Calendar, Google Contacts and Google Voice — perfect for anyone who uses Google for all their e-mails, contacts and events. Indeed, one of the coolest things about Android phones is that the first time you fire one up, you enter your Google user name and password, and voila: All your Google messages, contacts and other info start syncing into your new handset automatically, no desktop syncing needed. 

Android is also far more open when it comes to applications. Whereas Apple takes a "walled garden" approach to its App Store, Google won’t restrict you from installing apps that aren’t featured in its official Android Marketplace. iPhone users, on the other hand, must "jailbreak" their phones if they want to install apps that weren’t approved by Apple for inclusion in the App Store. 

Last but not least, because Android is open to all manufacturers, a wide variety of Android phones are available to choose from — big and small, souped-up and pared-down, some with slide-out keyboards (good luck convincing Steve Jobs to put a slide-out QWERTY on the iPhone) and some that are all-touchscreen, all the time. Indeed, in the past few months, a new Android phone has debuted practically every week, while we only get a single new iPhone each year. 

56. Are the Android releases available in a ROM? 
A. No, Android is not yet available in a ROM format.Currently Android is installed by using a clean SD Card, and booted from there.It is booted by running a special application called 'Haret.exe' residing on your SD Card which will terminate the Windows kernel and boot into Linux/Android.It can't easily be run from ROM because
a) it's too experimental to risk putting in ROM and then killing a device and
b) WinMo does some hardware initialization that isn't documented, but is needed before Android can run. 

57. If I have a Motorola Android-based device that doesn’t have the Android Market app, can I still download the GoToMeeting app? 
A.Yes. Attendees using Motorola Android-based devices in China can now download the GoToMeeting app from SHOP4APPS™ – Motorola’s preinstalled Android application storefront. The GoToMeeting app is not yet localized in Chinese, but it is available in English, German, French, Spanish and Italian. 

58. Can you deploy executable JARs on Android? Which packaging is supported by Android? 
A. No. Android platform does not support JAR deployments. Applications are packed into Android Package (.apk) using Android Asset Packaging Tool (aapt) and then deployed on to Android platform. Google provides Android Development Tools for Eclipse that can be used to generate Android Package. 

59. How can I download the GoToMeeting app?
A. You can download the GoToMeetng app from the Android Market by signing in to your Google account linked with your Android device and searching for the GoToMeeting app to install it. If you don’t see an Install button, you may not be running Android 2.2 or higher – the minimum system requirement needed to install the GoToMeeting app.

You can also download the GoToMeeting app from the Amazon Appstore (only available in the U.S.), which lets you instantly download the GoToMeeting app to an Android device.


If you have the GoToMeeting app pre-loaded onto your device, you’ll need to first upgrade to the latest version of GoToMeeting. To upgrade, select the GoToMeeting daisy icon and then select the Upgrade button to install the most recent version of the app.



60. How will you record a phone call in Android? How to get a handle on Audio Stream for a call in Android? 
A. Permissions.PROCESS_OUTGOING_CALLS: Allows an application to monitor, modify, or abort outgoing calls.

61. What were your initial impressions of Android development?  
A.Maxim Petrov: Android developing (and actually, any software developing) is not about knowing the language - languages are just tools, so adding a tool to a toolbox is usually not a problem (I moved to Android/Java/C dev right from Ruby - and these are completely different languages). Given experience with any other languages, you can move to Android pretty quickly, at least start prototyping something, though, you need to fight the initial quirks (like SDK installation, lack of good documentation, android SDK/Eclipse and framework bugs, and the Android core devs' "you can't do that, please don't do that").Android development infrastructure is very immature, while Android end user can never notice the immaturity of the platform (as actually, it's not so immature on end user side), the development side of things is really lacking in many areas. 

For example, documentation is lacking, often conflicts with real state of things and it's just not enough. Though, this is balanced by the fact that Android is open source - you can just go check the source, and the source is the best documentation, but you need to get used (I am) to this approach. For example, Honeycomb sources are not published yet, and this immediately raised questions, like how do they activate that menu button in bottom status bar.

62. Why cannot you run standard Java bytecode on Android? 
A. Android uses Dalvik Virtual Machine (DVM) which requires a special bytecode. We need to convert Java class files into Dalvik Executable files using an Android tool called "dx". In normal circumstances, developers will not be using this tool directly and build tools will care for the generation of DVM compatible files. 

63. What made you jump into Android all of a sudden? Why not iOS or other mobile platforms?
A. Maxim Petrov: I've never intended to do any mobile startup, but I got an Android phone first (Nexus One), not iPhone, so I started to look into this platform first. The lack of Google's own music app was obvious. I think if it was iPhone, not Nexus One, I could go developing for iOS instead. Though, you know, there are a lot more really good apps that already exist for iOS (and existed a year ago), all niches are filled, Apple is pretty restrictive (I don't think PowerAMP iPhone version would have ever been accepted in the Appstore). You can jump into Android quickly - just download the SDK, install adb driver, and you can develop - for your phone, for your friends (first beta testers), it's much easier to start on Android, but I can only compare to what I've read about iOS development as I haven't developed anything for iPhone.

64. Android application can only be programmed in Java? 
A. False. You can program Android apps in C/C++ using NDK .

65. What is a Content Provider ?
A. A class built on ContentProvider that handles content query strings of a specific format to return data in a specific format. See Reading and writing data to a content provider for information on using content providers.

66. What do I do if I have problems downloading your App? 
A. If you receive a "Download unsuccessful" message when trying to download our App you can try the 
following steps: 

Restart your phone and then try downloading the app again. 

Make sure that you’re connected to your network – if you’re not you’ll need to contact your mobile service provider

Wait up to 10 minutes and try to download our App again.

If you get stuck at "Starting download" then:
Make sure that you’re connected to your network – if you’re not you’ll need to contact your mobile service provider.If your request to download our App doesn’t start at all then try the below: Check your connectivity as stated above .Make sure that your phone has enough available space to install our App. If you need to, try uninstalling some apps that you don’t use anymore or moving them to your SD card. Request the download again using Android Market from your device.

67. What is an DDMS ?
A. Dalvik Debug Monitor Service, a GUI debugging application shipped with the SDK. It provides screen capture, log dump, and process examination capabilities.

68. What is a Sticky Intent? 

A. Sticky Intent is also a type of Intent which allows a communication between a function and a service sendStickyBroadcast() performs a sendBroadcast(Intent) known as sticky, i.e. the Intent you are sending stays around after the broadcast is complete, so that others can quickly retrieve that data through the return value of registerReceiver(BroadcastReceiver, IntentFilter). In all other ways, this behaves the same as sendBroadcast(Intent). One example of a sticky broadcast sent via the operating system is ACTION_BATTERY_CHANGED. When you call registerReceiver() for that action -- even with a null BroadcastReceiver -- you get the Intent that was last broadcast for that action. Hence, you can use this to find the state of the battery without necessarily registering for all future state changes in the battery.

69. What is an Intent? 
A. class (Intent) which describes what a caller desires to do. The caller will send this intent to Android's intent resolver, which finds the most suitable activity for the intent. E.g. opening a PDF document is an intent, and the Adobe Reader apps will be the perfect activity for that intent (class). 

70. Introduction of Android?
Android is an operating system for mobile devices that includes middleware and key applications, and uses a modified version of the Linux kernel. It was initially developed by Android Inc..It allows developers to write managed code in the Java language, controlling the device via Google-developed Java libraries…

The Android SDK includes a comprehensive set of development tools . These include a debugger, libraries, a handset emulator (based on QEMU), documentation, sample code, and tutorials. Currently supported development platforms include x86-architecture computers running Linux (any modern desktop Linux distribution), Mac OS X 10.4.8 or later, Windows XP or Vista. 

Android does not use established Java standards, i.e. Java SE and ME. This prevents compatibility among Java applications written for those platforms and those for the Android platform. Android only reuses the Java language syntax, but does not provide the full-class libraries and APIs bundled with Java SE or ME 

71. What is a Dalvik ? 
A. The name of Android’s virtual machine. The Dalvik VM is an interpreter-r-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.

72. How the nine-patch Image different from a regular bitmap? Alternatively, what is the difference between nine-patch Image vs regular Bitmap Image?

A.It is one of a resizable bitmap resource which is being used as backgrounds or other images on the device. The NinePatch class allows drawing a bitmap in nine sections. The four corners are unscaled; the middle of the image is scaled in both axes, the four edges are scaled into one axis.

73. What is BroadReceivers?
A. BroadcastReceiver is a component that does nothing but receive and react to broadcast announcements.
For example, the battery is low or that the user changed a language preference.

74. What dialog boxes are supported in Android ?Android supports 4 dialog boxes: 
A. 1. AlertDialog: An alert dialog box supports 0 to 3 buttons and a list of selectable elements, including check boxes and radio buttons. Among the other dialog boxes, the most suggested dialog box is the alert dialog box. 
2. ProgressDialog: This dialog box displays a progress wheel or a progress bar. It is an extension of AlertDialog and supports adding buttons.
3. DatePickerDialog: This dialog box is used for selecting a date by the user. 
4. TimePickerDialog: This dialog box is used for selecting time by the user. 

75. Android latest Version?
A. Android 4.0.3

76. What is Service?
A. Service doesn't have a visual user interface , but rather runs in the background for an indefinite period of time. For Example, a service might play background for music as the user attends to other matters.

77. Android Development Tools? 
A. The Android SDK and Virtual Device Manager Used to create and manage Android Virtual Devices (AVD) and SDK packages. 

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 your debugging your application.

Android Debug Bridge(ADB) A client-server application that provedes a link to a running emulator.It lets you copy files, install compiled application packages(.apk),and run shell commands.

78. What View Group in Android?
A. View Groups are extensions of the View class that can contain multiple child View.Extend the ViewGroup class to create compound controls made up of interconnected child Views.

79. What is Pending Intent? 
A.The PendingIntent class provides a mechanism for creating Intents that can be fired by another application at a later time. A pending Intent is commonly used to package an Intent will be fired in response to a future event,such as a widget View being clicked or a Notification being selected from the notification panel. 

80. What is View in Android?
A. Views are the base class for all visual interface elements(commonly known as controls or widgets). All UI controls,including the layout classes,are derived for View.

81. What is Adapter?
A. Adapter are bridging classes that bind data to Views(such as List Views) used in the user interface. The adapter is responsible for creating for creating the child Views used to represent each item within the parent View, and providing access to the underlying data.

82. Should we jump in to Android? What’s the guarantee that’s what I will see on a phone? Will service providers turn off things?

A. Keep in mind it hasn’t shipped yet, this is the most interesting time. Once it is open source, it could be locked down… they could create a derivative work.

We’re going to provide a piece of technology that tests the APIs. No time frame yet. The script will exercise the system. It’s a compatibility test suite, to make sure nothing got disabled or broken by accident, and also ensure that apps will work across OEMs. 

83. What if my app uses location API, and service provider shuts that off, can they? 
A. They can do that… it’s not a perfect world. Rather than having us dictate what carriers and OEMs support, we let developers develop killer apps that will require it. 

We want to ensure all the application development that goes on for Android… we want to give OEMs an incentive to keep things open. It’s a positive, self fulfilling vision.

84. If I’m a game developer and I’m building piece of content and I want to sell it, how do I do that and realize revenue?
A. Content distribution — we’ve thought of that. It’d be great if there were a place where people could go to safely download and pay for content.

85. We use SMS interception for system signalling. Is there a mechanism for an app to respond and stop the signaling chain? Is there security around that so that one vendor can’t hijack a message and respond to it?
A. There’s a mechanism where an application can register to receive a message with a certain signature and prevent others from getting it. We have a system of permissions apps are able to declare, enforce, and require to perform certain operations. Things like dial the phone, get to contacts, etc.. But these aren’t things that are baked in the core of the system. An arbitrary app could declare custom permissions.

As far as restricting another app, the model we’ve been going by… the phone is not controlled by the application vendor, it’s controlled by the user. Whether or not the permissions are granted is up to the user that owns the phone. If you created a protocol that intercepts an SMS and another party wrote an app that intercepts the same SMS and the user wants to use that, the user could be free to stick that in.


86. What’s up with all these different versions of Android, like "Donut," "Cupcake" and "Froyo"? 
A. Just as Apple does with iOS, Google continually updates Android with cool new features, leading to one 
"point" upgrade after another. 

The most recent version of Android is 2.2, code-named "Froyo" (for frozen yogurt, yum), adds features such as native USB tethering (for sharing your Android phone’s data connection with a laptop via a USB cable), mobile hotspot functionality (which turns your phone into a portable Wi-Fi hotspot that works with nearby Wi-Fi  devices) and — perhaps most important — support for Flash, meaning that Flash-powered videos and modules that (notoriously) don’t work on the iPhone will work on the Android Web browser. 

87. So if the current version of Android is 2.2, why are people still complaining about Android phones stuck with version 2.1, or even 1.6? 
A. Ah, well, here’s where we find one of the downsides of Google allowing so much diversity in terms of available Android handsets. Don’t get me wrong: Variety is a beautiful thing, especially when it comes to phones. But it also means that each new version of Android must be certified to work on a specific handset a long and sometimes drawn-out process that can leave users of a particular Android smartphone waiting weeks or even months to get the latest and greatest features. Indeed, manufactures and carriers may decide that it’s not worth the effort to upgrade their older phones to the latest Android version, leaving users high and dry. 

On the other hand, only a handful of iPhones exist, which makes it far easier for Apple to roll out a new version of iOS to everyone, all at once — or at least it used to be easy. Because of the hardware demands of iOS 4, we’ve already seen the original iPhone from 2007 get left behind, while users of the second generation iPhone 3G have complained bitterly that the new iOS has slowed their handsets to a crawl. So it goes. 

88. How many apps are available for Android? 
A. About 70,000 or so, growing by the day — still just a fraction of the 225,000-plus apps in the Apple App Store, but the official Android Marketplace has quite the head of steam, not to mention plenty of goodwill from the developer community given that Google doesn’t give apps the star-chamber treatment. 

89. So, how should I go about picking an Android phone?
A. Once you’ve zeroed in on a phone, find out which version of Android it’s running on. Is it the latest and greatest? (For now, only the Motorola Droid 2 is shipping with Android 2.2, although a 2.2 update for the HTC Evo 4G has finally arrived.) If not, ask when — and whether — an update is on the way.

90. What are Dalvik Executable files? 

A. Dalvik Executable files have .dex extension and are zipped into a single .apk file on the device. 

91. How does Android system track the applications? 
A. Android system assigns each application a unique ID that is called Linux user ID. This ID is used to track each application. 

92. When does Android start and end an application process? 

A. Android starts an application process when application's component needs to be executed. It then closes the process when it's no longer needed (garbage collection).

93. How can two Android applications share same Linux user ID and share same VM? 
 A. The applications must sign with the same certificate in order to share same Linux user ID and share same VM. 

94. Does Android support push email or is it pull? 
A. Android 2.1 supports push e-mail for Exchange mail and Gmail. 

95. Will these phones have world phone capabilities, with the ability to make calls, receive data in other countries? Or will they be able to use Google Voice to make calls?
A.Our Android-powered phones have Wi-Fi which can be used abroad for data, including Google Voice for making international calls. International Roaming for voice is available in several countries.

96. Will the App run on my Android phone? 
A. Yes, our App is fully compatible with any Android phone running Android software v2.1 or later. 

97. How do I install your App? 
A. You can install our App from the Android Market by following the below steps: 

Open the Android Market application in the Applications menu.

Hit the search icon and type in E.ON

To install it, hit the ‘Free’ button on the left hand side


In the next screen, it will give you more details about the application including the different functionalities it will need to access. Just click on OK to finish installing the application.

98. How will you record a phone call in Android? or How to handle an Audio Stream for a call in 

Android?
A. Permission.PROCESS_OUTGOING_CALLS: Will Allow an application to monitor, modify, or abort outgoing calls. So using that permission we can monitor the Phone calls.

99. Does Android support the Bluetooth serial port profile? 

A. Yes.

100. Can an application be started on powerup? 

A. Yes. 

101. How to Translate in Android? 
A. The Google translator translates the data of one language into another language by using XMPP to transmit data. You can type the message in English and select the language which is understood by the citizens of the country in order to reach the message to the citizens.

102. What are the advantages of Android? 

A. It is simple and powerful SDK. Licensing, Distribution or Development fee is not required.
Easy to Import third party Java library. Supporting platforms are – Linux, Mac Os, Windows.
Innovative products like the location-aware services, location of a nearby convenience store etc., are some of the additive facilities in Android. 
Components can be reused and replaced by the application framework. Optimized DVM for mobile devices.
 SQLite enables to store the data in a structured manner.
 Supports GSM telephone and Bluetooth, WiFi, 3G and EDGE technologies.
 The development is a combination of a device emulator, debugging tools, memory profiling and plug-in for Eclipse IDE.
 The customer will be benefited from wide range of mobile applications to choose, since the monopoly of wireless carriers like AT&T and Orange will be broken by Google Android. 

103. Describe Android Application Architecture. 
A. 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.

104. What is activity?

A. 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.

105. Describe the APK format.

A. 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.

106. What are the different phases of the Activity life cycle?

A. 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()

107. What is intent?

A. 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.

108. What is an Explicit Intent?

A. 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.

109. What is an Implicit Intent?

A. 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.

110. What is an AndroidManifest file?

A. 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.

111. What language does Android support for application development?

A. Android applications are written using the Java programming language.

112. What's the difference between a file, a class and an activity in android?

A. 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.

113. What is the significance of the .dex files?

A. 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.

114. What does ADT stand for?

A. ADT stands for Android Development Tools The Android SDK includes several tools and utilities to help you create, test, and debug your projects.

115. What is Dalvik Virtual Machine?

A. 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.

116. What is Android Runtime?

A. 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.

117. What is the Open Handset Alliance?

A. 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.

118. What is ViewGroup?

A. 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.

119. What is a Service?

A. 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.

120. What is the difference between Service and Thread?

A. 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.


121. What is a Toast Notification?
A. 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.

122. What is the importance of XML-based layouts?

A. The use of XML-based layouts provides a consistent and somewhat standard means of setting GUI definition format. In common practice, layout details are placed in XML files while other items are placed in source files.

123. What are containers?

A. Containers, as the name itself implies, holds objects and widgets together, depending on which specific items are needed and in what particular arrangement that is wanted. Containers may hold labels, fields, buttons, or even child containers, as examples.

124. What is Orientation?

A. Orientation, which can be set using setOrientation(), dictates if the LinearLayout is represented as a row or as a column. Values are set as either HORIZONTAL or VERTICAL.

125. What do you think are some disadvantages of Android?

A. Given that Android is an open-source platform, and the fact that different Android operating systems have been released on different mobile devices, there’s no clear cut policy to how applications can adapt with various OS versions and upgrades. One app that runs on this particular version of Android OS may or may not run on another version. Another disadvantage is that since mobile devices such as phones and tabs come in different sizes and forms, it poses a challenge for developers to create apps that can adjust correctly to the right screen size and other varying features and specs.

126. What is adb?

A. Adb is short for Android Debug Bridge. It allows developers the power to execute remote shell commands. Its basic function is to allow and control communication towards and from the emulator port.

127. What are the four essential states of an activity?

A. Active – if the activity is at the foreground. 
Paused – if the activity is at the background and still visible. 
Stopped – if the activity is not visible and therefore is hidden or obscured by another activity. 
Destroyed – when the activity process is killed or completed terminated.

128. What is ANR?

A. ANR is short for Application Not Responding. This is actually a dialog that appears to the user whenever an application have been unresponsive for a long period of time.

129. Which elements can occur only once and must be present?

A. Among the different elements, the and elements must be present and can occur only once. The rest are optional, and can occur as many times as needed.

130. Is there a case wherein other qualifiers in multiple resources take precedence over locale?

A. Yes, there are actually instances wherein some qualifiers can take precedence over locale. There are two known exceptions, which are the MCC (mobile country code) and MNC (mobile network code) qualifiers.

131. What are the key components of Android Architecture?
A. Android Architecture consists of 4 key components:
- Linux Kernel
- Libraries
- Android Framework
- Android Applications

132. What are the advantages of having an emulator within the Android environment?
A. - The emulator allows the developers to work around an interface which acts as if it were an actual mobile device.
- They can write, test and debug the code.
- They are safe for testing the code in early design phase

133. Tell us something about activityCreator?
A. - An activityCreator is the initial step for creation of a new Android project.
- It consists of a shell script that is used to create new file system structure required for writing codes in Android IDE.

134. What is AIDL?
A. - AIDL is the abbreviation for Android Interface Definition Language. 
- It handles the interface requirements between a client and a service to communicate at the same level through interprocess communication. 
- The process involves breaking down objects into primitives that are Android understandable.

135. What Is the Google Android SDK?
A. The Google Android SDK is a toolset that developers need in order to write apps on Android enabled devices. It contains a graphical interface that emulates an Android driven handheld environment, allowing them to test and debug their codes.

136. Describe the Android Framework.
A. The Android Framework is an important aspect of the Android Architecture. Here you can find all the classes and methods that developers would need in order to write applications on the Android environment.

137. What is the importance of having an emulator within the Android environment?
A. The emulator lets developers “play” around an interface that acts as if it were an actual mobile device. They can write and test codes, and even debug. Emulators are a safe place for testing codes especially if it is in the early design phase.

138. What is the use of an activityCreator?
A. An activityCreator is the first step towards the creation of a new Android project. It is made up of a shell script that will be used to create new file system structure necessary for writing codes within the Android IDE.

139. Describe Activities?
A. Activities are what you refer to as the window to a user interface. Just as you create windows in order to display output or to ask for an input in the form of dialog boxes, activities play the same role, though it may not always be in the form of a user interface.

140. What are Intents?
A. Intents displays notification messages to the user from within the Android enabled device. It can be used to alert the user of a particular state that occurred. Users can be made to respond to intents.

141. Differentiate Activities from Services.
A. Activities can be closed, or terminated anytime the user wishes. On the other hand, services are designed to run behind the scenes, and can act independently. Most services run continuously, regardless of whether there are certain or no activities being executed.

142. What is the importance of XML-based layouts?
A. The use of XML-based layouts provides a consistent and somewhat standard means of setting GUI definition format. In common practice, layout details are placed in XML files while other items are placed in source files.

143. What is the importance of Android in the mobile market?
A. Developers can write and register apps that will specifically run under the Android environment. This means that every mobile device that is Android enabled will be able to support and run these apps. With the growing popularity of Android mobile devices, developers can take advantage of this trend by creating and uploading their apps on the Android Market for distribution to anyone who wants to download it.





































Comments