Sponsor

Top 80 Best Interview Questions for Android Programming with SoftwareTechIT












Interview Questions on Android 


1. What is Android?

It is an open-sourced operating system that is used primarily on mobile devices, such as cell phones and tablets. It is a Linux kernel-based system that’s been equipped with rich components that allows developers to create and run apps that can perform both basic and advanced functions.

2. What Is the Google Android SDK?
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.

3. What is the Android Architecture?
Android Architecture is made up of 4 key components:
- Linux Kernel
- Libraries
- Android Framework
- Android Applications

4. Describe the Android Framework.
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.

5. What is AAPT?
AAPT is short for Android Asset Packaging Tool. This tool provides developers with the ability to deal with zip-compatible archives, which includes creating, extracting as well as viewing its contents.

6. What is the importance of having an emulator within the Android environment?
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.

7. What is the use of an activityCreator?
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.

8. Describe Activities.
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.

9. What are Intents?
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.

10. Differentiate Activities from Services.
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.

11. What items are important in every Android project?

These are the essential items that are present each time an Android project is created:
- AndroidManifest.xml
- build.xml
- bin/
- src/
- res/
- assets/

12. What is the importance of XML-based layouts?
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.

13. What are containers?
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.

14. What is Orientation?
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.

15. What is the importance of Android in the mobile market?

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.

16. What do you think are some disadvantages of Android?
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.

17. What is adb?
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.

18. What are the four essential states of an activity?
- 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

19. What is ANR?
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.

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

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.

21. How are escape characters used as attribute?
Escape characters are preceded by double backslashes. For example, a newline character is created using ‘\\n’

22. What is the importance of settings permissions in app development?
Permissions allow certain restrictions to be imposed primarily to protect data and code. Without these, codes could be compromised, resulting to defects in functionality.

23. What is the function of an intent filter?
Because every component needs to indicate which intents they can respond to, intent filters are used to filter out intents that these components are willing to receive. One or more intent filters are possible, depending on the services and activities that is going to make use of it.

24. Enumerate the three key loops when monitoring an activity?
Entire lifetime – activity happens between onCreate and onDestroy
- Visible lifetime – activity happens between onStart and onStop
- Foreground lifetime – activity happens between onResume and onPause

25. When is the onStop() method invoked?
A call to onStop method happens when an activity is no longer visible to the user, either because another activity has taken over or if in front of that activity.

26. Is there a case wherein other qualifiers in multiple resources take precedence over locale?
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.

27. What are the different states wherein a process is based?
There are 4 possible states:
- foreground activity
- visible activity
- background activity
- empty process

28. How can the ANR be prevented?
One technique that prevents the Android system from concluding a code that has been responsive for a long period of time is to create a child thread. Within the child thread, most of the actual workings of the codes can be placed, so that the main thread runs with minimal periods of unresponsive times.

29. What role does Dalvik play in Android development?

Dalvik serves as a virtual machine, and it is where every Android application runs. Through Dalvik, a device is able to execute multiple virtual machines efficiently through better memory management.

30. What is the AndroidManifest.xml?
This file is essential in every application. It is declared in the root directory and contains information about the application that the Android system must know before the codes can be executed.

31. What is the proper way of setting up an Android-powered device for app development?
The following are steps to be followed prior to actual application development in an Android-powered device:
-Declare your application as “debuggable” in your Android Manifest.
-Turn on “USB Debugging” on your device.
-Set up your system to detect your device.

32. Enumerate the steps in creating a bounded service through AIDL.
1. create the .aidl file, which defines the programming interface
2. implement the interface, which involves extending the inner abstract Stub class as well as implanting its methods.
3. expose the interface, which involves implementing the service to the clients.

33. What is the importance of Default Resources?
When default resources, which contain default strings and files, are not present, an error will occur and the app will not run. Resources are placed in specially named subdirectories under the project res/ directory.

34. When dealing with multiple resources, which one takes precedence?
Assuming that all of these multiple resources are able to match the configuration of a device, the ‘locale’ qualifier almost always takes the highest precedence over the others.

35. When does ANR occur?
The ANR dialog is displayed to the user based on two possible conditions. One is when there is no response to an input event within 5 seconds, and the other is when a broadcast receiver is not done executing within 10 seconds.

36. What is AIDL?
AIDL, or Android Interface Definition Language, handles the interface requirements between a client and a service so both can communicate at the same level through interprocess communication or IPC. This process involves breaking down objects into primitives that Android can understand. This part is required simply because a process cannot access the memory of the other process.

37. What data types are supported by AIDL?
AIDL has support for the following data types:
-string
-charSequence
-List
-Map
-all native Java data types like int,long, char and Boolean

38. What is a Fragment?
A fragment is a part or portion of an activity. It is modular in a sense that you can move around or combine with other fragments in a single activity. Fragments are also reusable.

39. What is a visible activity?
A visible activity is one that sits behind a foreground dialog. It is actually visible to the user, but not necessarily being in the foreground itself.

40. When is the best time to kill a foreground activity?

The foreground activity, being the most important among the other states, is only killed or terminated as a last resort, especially if it is already consuming too much memory. When a memory paging state has been reach by a foreground activity, then it is killed so that the user interface can retain its responsiveness to the user.

41. Is it possible to use or add a fragment without using a user interface?
Yes, it is possible to do that, such as when you want to create a background behavior for a particular activity. You can do this by using add(Fragment,string) method to add a fragment from the activity.

42. How do you remove icons and widgets from the main screen of the Android device?
To remove an icon or shortcut, press and hold that icon. You then drag it downwards to the lower part of the screen where a remove button appears.

43. What are the core components under the Android application architecture?
There are 5 key components under the Android application architecture:
- services
- intent
- resource externalization
- notifications
- content providers

44. What composes a typical Android application project?
A project under Android development, upon compilation, becomes an .apk file. This apk file format is actually made up of the AndroidManifest.xml file, application code, resource files, and other related files.

45. What is a Sticky Intent?
A Sticky Intent is a broadcast from sendStickyBroadcast() method such that the intent floats around even after the broadcast, allowing others to collect data from it.

46. Do all mobile phones support the latest Android operating system?
Some Android-powered phone allows you to upgrade to the higher Android operating system version. However, not all upgrades would allow you to get the latest version.
It depends largely on the capability and specs of the phone, whether it can support the newer features available under the latest Android version.

47. What is portable wi-fi hotspot?
Portable Wi-Fi Hotspot allows you to share your mobile internet connection to other wireless device. For example, using your Android-powered phone as a Wi-Fi Hotspot, you can use your laptop to connect to the Internet using that access point.

48. What is an action?
In Android development, an action is what the intent sender wants to do or expected to get as a response. Most application functionality is based on the intended action.

49. What is the difference between a regular bitmap and a nine-patch image?
In general, a 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.

50. What language is supported by Android for application development?
The main language supported is Java programming language. Java is the most popular language for app development, which makes it ideal even for new Android developers to quickly learn to create and deploy applications in the Android environment.

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

52. Why cannot you run standard Java bytecode on Android?
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.

53. Can you deploy executable JARs on Android? Which packaging is supported by Android?
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.

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

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

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

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

58. When does Android start and end an application process?
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).

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

60. Can I use the GoToMeeting app for Android on my Android device?
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.

61. How can I download the GoToMeeting app?
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.

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

63.What made you jump into Android all of a sudden? Why not iOS or other mobile platforms?
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. What were your initial impressions of Android development?
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.

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

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

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

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

69. How do I install your App?
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.

70. How do I find and download updates to the E.ON Android application?
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.

71. What do I do if I have problems downloading your App?
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.

72. What is Intent?
A.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).

73. What is a Sticky Intent?
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.

74. How the nine-patch Image different from a regular bitmap? Alternatively, what is the difference between nine-patch Image vs regular Bitmap Image?
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.

75. What is a resource?
user defined JSON, XML, bitmap, or other file, injected into the application build process, which can later be loaded from code.

76.How will you record a phone call in Android? or How to handle an Audio Stream for a call in Android?
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.

77.Does Android support the Bluetooth serial port profile? Yes. 78. Can an application be started on powerup?
Yes.

79. How to Translate in Android?
The Google translator translates the data of one language into another language by using XMPP to transmit datYou 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.

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



Learn More Coding And Programming Develop Your Apps Ans Software's :- 

Post a Comment

0 Comments