Top Android Interview Questions And Answers
Top Answers to Android Interview Questions
|Type of Operating System||Open Source|
|OS Fragmentation||Multiple OS versions & interoperability concerns|
|Customization||Heightened customization possible|
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.
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.
Activity is to be declared in the manifest file. For example:
- <activity android:name=”.MyIntellipaat”>
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.
There are two types of Intent implicit and explicit intent, let see some more difference between them.
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); 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);
The 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 added this attribute to “application”. (The “icon” in “@drawable/icon” refers to the file name of the icon.)
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.
Read this blog, to get an idea about Android Game Developing.
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.
In Android, the action is a description of something that an intent sender desires.
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.
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.
• Entire lifetime – activity happens between onCreate and onDestroy
• Visible lifetime – activity happens between onStart and onStop
• Foreground lifetime – activity happens between onResume and onPause
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)
- AlertDialog : An alert dialogue 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 : It is used for selecting a date by the user.
- TimePickerDialog : It is used for selecting time by the user.
Learn more about Android in this Android Developer training course.
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 a different folder, the Android system selects the correct one automatically based on the device configuration.
The applications must sign with the same certificate in order to share same Linux user ID and share same VM.
No, Android platform does not support JAR deployments. Applications are packed into Android Package (.apk) using Android Asset Packaging Tool (AAPT) and then deployed onto Android platform. Google provides Android Development Tools for Eclipse that can be used to generate Android Package.
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.
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.
Click here, to become a certified Android developer.
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);
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”, “email@example.com”); i.putExtras(b); //where I is intent