Top Android Interview Questions And Answers
Top Android Interview Questions And Answers
Top Answers to Android Interview Questions
- 1. Why cannot you run standard Java bytecode on Android?
Android uses Dalvik Virtual Machine (DVM) which requires a special bytecode. First of all, we have 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.
- 2. Can Android application only be programmed in Java?
No, it is not necessary. You can program Android apps can be created using NDK in C/C++. The NDK is a toolset that allows you to implement parts of your app using native-code languages such as C and C++. Typically, good use cases for the NDK are CPU-intensive applications such as game engines, signal processing, and physics simulation.
- 3. Where will you declare your activity so the system can access it?
Activity is to be declared in the manifest file. For example:
Code 1. <manifest></manifest> 2. <application></application> 3. <activity android:name=".MyIntellipaat"></activity>
- 4. What is the difference between a regular .png and a nine-patch image?
It is a resizable bitmap resource that can be used for backgrounds or other images on the device. NinePatch class permits drawing a bitmap in nine sections. The nine patch images have extension as.9.png. It allows extension in 9 ways, i.e. 4 corners that are unscaled, 4 edges that are scaled in 1 axis, and the middle one that can be scaled into both axes.
- 5. What is the difference between an implicit intent and explicit intent?
There are two types of Intent implicit and explicit intent, let see some more difference between them.
1) Implicit: Implicit intent is when you call system default intent like send email, send SMS, dial number
Intent sendIntent = new Intent(); sendIntent.setAction(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_TEXT, textMessage); sendIntent.setType("text/plain") startactivity(sendIntent);
2) Explicit: Explicit intent when you call you’re on application activity from one activity to another
For example, first activity to second activity
Intent intent = new Intent(first.this, second.class); startactivity(intent);
- 6. Where can you define the icon for your Activity?
Icon for an Activity is defined in the manifest file.
Code <activity android:icon="@drawable/app_icon" android:name=".MyTestActivity"></activity>
which means you have to Open AndroidManifest.xml.Right under the root “manifest” node of the XML, we can see the “application” node. We have add this attribute to “application”. (The “icon” in “@drawable/icon” refers to the file name of the icon.)
- 7. What is ADB?
ADB stands for Android Debug Bridge. It is a command line tool that is used to communicate with the emulator instance. ADB can control your device over USB from a computer, copy files back and forth, install and uninstall apps, run shell commands, and more. It is a client-server program that includes three components:
• A client, which runs on your development machine. You can invoke a client from a shell by issuing an adb command. Other Android tools such as DDMS also create adb clients.
• A server, which runs as a background process on your development machine. The server manages communication between the client and the adb daemon running on an emulator or device.
• A daemon, which runs as a background process on each emulator or device instance.
- 8. 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.
- 9. What is action in Android?
Action, in Android, is a description of something that an Intent sender desires.
<action android:name=”string” />
Adds an action to an intent filter. An element must contain one or more elements. If it doesn’t contain any, no Intent objects will get through the filter.
- 10. What is an ANR notification in Android?
ANR is short for Application Not Responding. Android systems show this dialog if the application is performing too much of task on the main thread and has been unresponsive from a long time.
- 11. Enumerate 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
- 12. How do you find any view element into your program?
Findviewbyid : Finds a view that was identified by the id attribute from the XML processed inActivity.OnCreate(Bundle).
[Android.Runtime.Register("findViewById", "(I)Landroid/view/View;", "GetFindViewById_IHandler")] public virtual View FindViewById (Int32 id)
- 1. Which dialog boxes can you use in your Android application?
AlertDialog: an alert dialog box supports 0 to 3 buttons and a list of selectable elements.
ProgressDialog: an extension to AlertDialog and you may add buttons to it. It shows a progress wheel or a progress bar.
DatePickerDialog: used for selecting a date by the user.
TimePickerDialog: used for selecting time by the user.
- 2. Name the resource that is a compiled visual resource and can be used as a background, title, or in other part of the screen.
Drawable is the virtual resource that can be used as a background, title, or in other parts of the screen. It is compiled into an android.graphics.drawable subclass. A Drawable resource is a general concept for a graphic which can be drawn. The simplest case is a graphical file (bitmap), which would be represented in Android via a BitmapDrawable class.
The Drawable is stored as individual files in one of the res/drawable folders. . The ADT project creation wizard creates these folders by default. You would store bitmaps for different resolutions in the -mdpi, -hdpi, -xhdpi, -xxhdpi subfolders of res/drawable If these bitmaps are provided in different folder, the Android system selects the correct one automatically based on the device configuration.
- 3. 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.
- 4. 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.
- 5. Is it okay to change the name of an application after its deployment?
It is not recommended to change the application name after its deployment because this action may break some functionality. For example, shortcuts will not work if you change application name.
- 6. How can 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 tasks of the codes can be placed, so that the main thread runs with minimal periods of unresponsive time.
- 7. How can your application perform actions that are provided by other application e.g. sending email?
Intents are created to define an action that we want to perform and launches the appropriate activity from another application.
Code Intent intent = new Intent(Intent.ACTION_SEND);intent.putExtra(Intent.EXTRA_EMAIL, recipientArray); startActivity(intent);
- 8. How will you pass data to sub-activities?
We can use Bundles to pass data to sub-activities. There are like HashMaps that and take trivial data types. These Bundles transport information from one Activity to another
Code Bundle b=new Bundle(); b.putString(“Email”, “firstname.lastname@example.org”); i.putExtras(b); //where I is intent