You are on page 1of 13

Describe the APK format. 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. What is an action? A description of something that an Intent sender desires. What is activity? A single screen in an application, with supporting Java code. What is intent? A class (Intent) describes what a caller desires to do. The caller sends this intent to Android's intent resolver, which finds the most suitable activity for the intent. E.g. opening a PDF file is an intent, and the Adobe Reader is the suitable activity for this intent. How is nine-patch image different from a regular bitmap? It is a resizable bitmap resource that can be used for backgrounds or other images on the device. The NinePatch class permits drawing a bitmap in nine sections. The four corners are unscaled; the four edges are scaled in one axis, and the middle is scaled in both axes. What languages does Android support for application development? Android applications are written using the Java programming language. What is a resource? A user-supplied XML, bitmap, or other file, injected into the application build process, which can later be loaded from code. 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. What's the difference between file, class and activity in android? File - It is a block of arbitrary information, or resource for storing information. It can be of any type. Class - Its a compiled form of .Java file . Android finally used this .class files to produce an executable apk Activity - An activity is the equivalent of a Frame/Window in GUI toolkits. It is not a file or a file type it is just a class that can be extended in Android for loading UI elements on view. What is a Sticky Intent? sendStickyBroadcast() performs a sendBroadcast (Intent) that is "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. What dialog boxes are supported in android?Android supports 4 dialog boxes:

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. ProgressDialog: This dialog box displays a progress wheel or a progress bar. It is an extension of AlertDialog and supports adding buttons. DatePickerDialog: This dialog box is used for selecting a date by the user. TimePickerDialog: This dialog box is used for selecting time by the user.

General Android questions


The Activity life cycle is must. Different phases of Activity Life cycle. For example: when and how the activity comes to foreground? Knowledge on AndroidManifest file, For example: Why do we need this file, What is the role of this file in Android app development. Different Kinds of Intents Different Kinds of Context Different Storage Methods in android Kinds of Log debugger and Debugger Configuration How to debug the application on real device. How do you ensure that the app design will be consistent across the different screen resolutions Thread concepts also plus points as we deal with the treads more. Can you able to build custom views and how? How to create flexible layouts, For example to place English, Chinese fonts. What is localization and how to achieve? What are 9-patch images How to avoid ANR status How to do Memory management Inter Process Communication (IPC) What is onCreate(Bundle savedInstanceState), Have you used savedInstanceState when and why? Fragments in an Activity When to use a service How to use a broadcast receiver and register it both in the manifest and in code Intent filters The types of flags to run an application How to do data intensive calculations using threads

Passing large objects (that can't be passed via intents and shouldn't be serialized) via a service Binding to a service and the service lifecycle How to persist data (both savedInstanceState and more permanent ways)

What is Android? Android is a software stack for mobile devices that includes an operating system, middleware and key applications. Explain the Architecture of android ? 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.) Describe the APK format. 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. What is an action? A description of something that an Intent sender desires. What is an activity? 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. Each one is implemented as a subclass of the Activity base class. What is a service? A service doesnt 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.

What is a Broadcast receivers? A broadcast receiver is a component that does nothing but receive and react to broadcast announcements. For example, announcements that the timezone has changed, that the battery is low or that the user changed a language preference. All receivers extend the BroadcastReceiver base class. Broadcast receivers do not display a user interface. However, they may start an activity in response to the information they receive, or they may use the NotificationManager to alert the user like(flashing the backlight, vibrating the device, playing a sound) What is a content provider? A content provider makes a specific set of the applications data available to other applications.The content provider extends the ContentProvider base class to implement a standard set of methods that enable other applications to retrieve and store data of the type it controls. However, applications do not call these methods directly. Rather they use a ContentResolver object and call its methods instead. What is intent? A class (Intent) describes what a caller desires to do. The caller sends this intent to Androids intent resolver, which finds the most suitable activity for the intent. How is nine-patch image different from a regular bitmap? It is a resizable bitmap resource that can be used for backgrounds or other images on the device. The NinePatch class permits drawing a bitmap in nine sections. The four corners are unscaled; the four edges are scaled in one axis, and the middle is scaled in both axes. What languages does Android support for application development? Android applications are written using the Java programming language. What is a resource? A user-supplied XML, bitmap, or other file, injected into the application build process, which can later be loaded from code. What Virtual Machine Android runs on? Dalvik virtual machine Android Latest Version? Android 3.0 How do you define the user interface? XML Format is the best.

Code Snippets: How to start a browser instance with some url ?


1 2 3 4 Intent intent = new Intent(Intent.ACTION_VIEW); Uri u = Uri.parse("http://google.com"); intent.setData(u); startActivity(intent);

//Function called when return from a sub activity.


protected void onActivityResult(int requestCode, int resultCode, String data, Bundle extras) { 2} 1

//How to retrieve the device IMEI Number


TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 2 imei = mTelephonyMgr.getDeviceId(); 1

How to call a subactivity?


1 2 3 4 Intent intent = new Intent(this, SubActivity.class); //to pass data addintent.putExtra(name, value); startActivityForResult(intent, int)

What is android? 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 languages byte code which later transforms into .dex format files. What are the features of 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. Why to use Android? Android is useful because:

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 Describe Android Application Architecture. Android Application Architecture has the following components: Services like Network Operation Intent To perform inter-communication between activities or services Resource Externalization such as strings and graphics Notification signaling users light, sound, icon, notification, dialog etc. Content Providers They share data between applications What is the TTL (Time to Live)? Why is it required? TTL is a value in data packet of Internet Protocol. It communicates to the network router whether or not the packet should be in the network for too long or discarded. Usually, data packets might not be transmitted to their intended destination within a stipulated period of time. The TTL value is set by a system default value which is an 8-bit binary digit field in the header of the packet. The purpose of TTL is, it would specify certain time limit in seconds, for transmitting the packet header. When the time is exhausted, the packet would be discarded. Each router receives the subtracts count, when the packet is discarded, and when it becomes zero, the router detects the discarded packets and sends a message, Internet Control Message Protocol message back to the originating host. Explain IP datagram, Fragmentation and MTU. IP datagram can be used to describe a portion of IP data. Each IP datagram has set of fields arranged in an order. The order is specific which helps to decode and read the stream easily. IP datagram has fields like Version, header length, Type of service, Total length, checksum, flag, protocol, Time to live, Identification, source and destination ip address, padding, options and payload. MTU:- Maximum Transmission Unit is the size of the largest packet that a communication protocol can pass. The size can be fixed by some standard or decided at the time of connection Fragmentation is a process of breaking the IP packets into smaller pieces. Fragmentation is needed when the datagram is larger than the MTU. Each fragment becomes a datagram in itself and transmitted independently from source. When received by destination they are reassembled. Explain about the exceptions of Android. 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. What are the differences between a domain and a workgroup? In a domain, one or more computer can be a server to manage the network. On the other hand in a workgroup all computers are peers having no control on each other. In a domain, user doesnt need an account to logon on a specific computer if an account is available on the domain. In a work group user needs to have an account for every computer. In a domain, Computers can be on different local networks. In a work group all computers needs to be a part of the same local network. What are the dialog boxes that are supported in android? Explain. Android supports 4 dialog boxes: 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. ProgressDialog: This dialog box displays a progress wheel or a progress bar. It is an extension of AlertDialog and supports adding buttons. DatePickerDialog: This dialog box is used for selecting a date by the user. TimePickerDialog: This dialog box is used for selecting time by the user. What is needed to make a multiple choice list with a custom view for each row? 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. How to select more than one option from list in android xml file? Give an example. Specify android id, layout height and width as depicted in the following example. Describe a real time scenario where android can be used 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. With a mobile phone with android, 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. Describe the APK format. 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. What is an action? A description of something that an Intent sender desires.

What is activity? A single screen in an application, with supporting Java code. What is intent? A class (Intent) describes what a caller desires to do. The caller sends this intent to Androids intent resolver, which finds the most suitable activity for the intent. How is nine-patch image different from a regular bitmap? It is a resizable bitmap resource that can be used for backgrounds or other images on the device. The NinePatch class permits drawing a bitmap in nine sections. The four corners are unscaled; the four edges are scaled in one axis, and the middle is scaled in both axes. What languages does Android support for application development? Android applications are written using the Java programming language. What is a resource? A user-supplied XML, bitmap, or other file, injected into the application build process, which can later be loaded from code. 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. Whats the difference between file, class and activity in android? File It is a block of arbitrary information, or resource for storing information. It can be of any type. Class Its a compiled form of .Java file . Android finally used this .class files to produce an executable apk Activity An activity is the equivalent of a Frame/Window in GUI toolkits. It is not a file or a file type it is just a class that can be extended in Android for loading UI elements on view. What is a Sticky Intent? sendStickyBroadcast() performs a sendBroadcast (Intent) that is 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.

How do you implement push vs. pull stacks in Android? Creating an Android Application using the Eclipse Plugin Using the Android Eclipse plugin is the fastest and easiest way to start creating a new Android application. The plugin automatically generates the correct project structure for your application, and keeps the resources compiled for you automatically. It is still a good idea to know what is going on though. Take a look at Overview of an Android Application to understand the basics of how an Android application works. It is also recommended that you take a look at the ApiDemos application and the other sample applications in the samples/ folder in the SDK. Finally, a great way to started with Android development in Eclipse is to follow both the Hello Android and Notepad code tutorials. In particular, the start of the Hello Android tutorial is an excellent introduction to creating a new Android application in Eclipse. Can I write code for Android using C/C++? Android only supports applications written using the Java programming language at this time. What languages does Android support? Android applications are written using the Java programming language. 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 What is Android Runtime? Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language. Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included dx tool.

The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management. Find the answers for the following Application lifecycle When to use a service How to use a broadcast receiver and register it both in the manifest and in code Intent filters Stuff about what manifest attributes and tags mean The types of flags to run an application FLAG_ACTIVITY_NEW_TASK FLAG_ACTIVITY_CLEAR_TOP How to do data intensive calculations using threads Passing large objects (that cant be passed via intents and shouldnt be serialized) via a service Binding to a service and the service lifecycle How to persist data (both savedInstanceState and more permanent ways) Creating an Android Application using the Eclipse Plugin Using the Android Eclipse plugin is the fastest and easiest way to start creating a new Android application. The plugin automatically generates the correct project structure for your application, and keeps the resources compiled for you automatically. It is still a good idea to know what is going on though. Take a look at Overview of an Android Application to understand the basics of how an Android application works. It is also recommended that you take a look at the ApiDemos application and the other sample applications in the samples/ folder in the SDK. Finally, a great way to started with Android development in Eclipse is to follow both the Hello Android and Notepad code tutorials. In particular, the start of the Hello Android tutorial is an excellent introduction to creating a new Android application in Eclipse.

Android Glossary
.apk extension 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. .dex extension 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. Action A description of something that an Intent sender wants done. An action is a string value

assigned to an Intent. Action strings can be defined by Android or by a third-party developer. For example, android.intent.action.VIEW for a Web URL, or com.example.rumbler.SHAKE_PHONE for a custom application to vibrate the phone. Activity A single screen in an application, with supporting Java code, derived from the Activity class. adb Android Debug Bridge, a command-line debugging application shipped with the SDK. It provides tools to browse the device, copy tools on the device, and forward ports for debugging. 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. Content Provider A class built on ContentProvider that handles content query strings of a specific format to return data in a specific format. Content URI A type of URI. Dalvik 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. DDMS Dalvik Debug Monitor Service, a GUI debugging application shipped with the SDK. It provides screen capture, log dump, and process examination capabilities. Drawable 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. Intent A class (Intent) that contains several fields describing what a caller would like to do. The caller sends this intent to Android's intent resolver, which looks through the intent filters of

all applications to find the activity most suited to handle this intent. Intent fields include the desired action, a category, a data string, the MIME type of the data, a handling class, and other restrictions. Intent Filter Activities and intent receivers include one or more filters in their manifest to describe what kinds of intents or messages they can handle or want to receive. An intent filter lists a set of requirements, such as data type, action requested, and URI format, that the Intent or message must fulfill. For Activities, Android searches for the Activity with the most closely matching valid match between the Intent and the activity filter. For messages, Android will forward a message to all receivers with matching intent filters. Intent Receiver An application class that listens for messages broadcast by calling Context.broadcastIntent(). Layout resource An XML file that describes the layout of an Activity screen. Manifest An XML file associated with each Application that describes the various activies, intent filters, services, and other items that it exposes. Nine-patch / 9-patch / Ninepatch image A resizeable bitmap resource that can be used for backgrounds or other images on the device. Query String A type of URI. Resource A user-supplied XML, bitmap, or other file, entered into an application build process, which can later be loaded from code. Android can accept resources of many types. Application-defined resources should be stored in the res/ subfolders. Service A class that runs in the background to perform various persistent actions, such as playing music or monitoring network activity. Theme A set of properties (text size, background color, and so on) bundled together to define various default display settings. Android provides a few standard themes, listed in R.style (starting with "Theme_"). URIs Android uses URI strings both for requesting data (e.g., a list of contacts) and for

requesting actions (e.g., opening a Web page in a browser). Both are valid URI strings, but have different values. All requests for data must start with the string "content://". Action strings are valid URIs that can be handled appropriately by applications on the device; for example, a URI starting with "http://" will be handled by the browser.

You might also like