1. What are the key components of Android Architecture?
Android Architecture consists of 4 key components: - Linux Kernel
- Libraries
- Android Framework
- Android Applications
2. What are the advantages of having an emulator
within the Android environment?
- 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
3. Tell us something about activityCreator?
- 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.
4. What do you know about Intents?
- Notification messages to the user from an Android enabled device
can be displayed using Intents. The users can respond to intents.
- There are
two types of Intents
- Explicit Intent,
-Implicit Intent.
5. What is an Explicit Intent?
- Explicit intent specifies the particular activity that should
respond to the intent. - They are used for application internal messages.
6. What is an Implicit Intent?
- In case of Implicit Intent, an intent is just declared. - It is
for the platform to find an activity that can respond to it. - Since the target
component is not declared, it is used for activating components of other
applications.
7. What do intent filters do?
- There can be more than one intents, depending on the services
and activities that are going to use them. - Each component needs to tell which
intents they want to respond to. - Intent filters filter out the intents that
these components are willing to respond to.
8. Where are lay out details placed? Why?
- Layout details are placed in XML files - XML-based layouts provide
a consistent and standard means of setting GUI definition format.
9. What do containers hold?
- Containers hold objects and widgets in a specified arrangement.
- They can also hold labels, fields, buttons, or child containers. .
10. What is Orientation?
- Orientation decides if the LinearLayout should be presented in
row wise or column wise fashion.
- The values are set using setOrientation()
-
The values can be HORIZONTAL or VERTICAL
11. What is it important to set permissions in app development?
- Certain restrictions to protect data and code can be set using
permissions. - In absence of these permissions, codes could get compromised
causing defects in functionality.
12. What is AIDL?
- 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.
13. What data types are supported by AIDL?
AIDL supports following data types:
-string
-List
-Map
-charSequence and
-all native Java data types like int,long, char and Boolean
14. Tell us something about nine-patch image.
- The Nine-patch in the image name refers to the way the image can
be resized: 4 corners that are unscaled, 4 edges that are scaled in 1 axis, and
the middle one that can be scaled into both axes. - A Nine-patch image allows
resizing that can be used as background or other image size requirements for
the target device.
15. Which dialog boxes are supported by android?
Android supports 4 dialog boxes:
a.) AlertDialog: Alert dialog box
supports 0 to 3 buttons and a list of selectable elements which includes check
boxes and radio buttons.
b.) ProgressDialog: This dialog box is an extension of
AlertDialog and supports adding buttons. It displays a progress wheel or bar.
c.) DatePickerDialog: The user can select the date using this dialog box.
d.)
TimePickerDialog: The user can select the time using this dialog box.
16. What is Dalvik Virtual Machine?
- It is Android's virtual machine. - It is an interpreter-only
virtual machine which executes files in Dalvik Executable (.dex) format. This
format is optimized for efficient storage and memory-mappable execution.
And MORE....
What is Android?
Android is a stack of software for mobile devices which includes
an 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 advantages of Android?
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.
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 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 is activity?
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.
Describe the APK format.
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.
What are the different phases of the Activity life cycle?
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()
Taken together, these seven methods define the
entire lifecycle of an activity.
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.
What is an Explicit Intent?
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.
What is an Implicit Intent?
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
What is an AndroidManifest file?
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.
What language does Android support for application development?
Android applications are written using the Java programming
language.
What's the difference between a file, a class and an 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 the significance of the .dex files?
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.
What does ADT stand for?
ADT stands for Android Development Tools The
Android SDK includes several tools and utilities to help you create, test, and
debug your projects.
What are the different tools in Android? Explain them?
The Android SDK and Virtual Device Manager- It is used to create
and manage Android Virtual Devices (AVD) and SDK packages. The AVD hosts an
emulator running a particular build of Android, letting you specify the
supported SDK version, screen resolution, amount of SD card storage available,
and available hardware capabilities (such as touch screens and GPS). 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 you're debugging your applications. Android Asset Packaging
Tool (AAPT) - Constructs the distributable Android package files (.apk).
Android Debug Bridge,(adb) - Android Debug Bridge, is 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.
What is Dalvik Virtual Machine?
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.
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.
What is the Open Handset Alliance?
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.
What is ViewGroup?
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.
What is a Service?
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.
What is the difference between Service and Thread?
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.
What is a Content Provider?
Content Providers are the only way to share data across Android
applications. They store and retrieve data thus making it accessible to all.
Content Providers give a uniform interface to access the data. Android platform
provides default implementations of content providers for data types like
audio, video, images, contact information etc.
What is a Toast Notification?
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.
What are the other Notifications?
A Status Bar Notification: It is used for persistent reminders
that come from the background and request the user's response. A Dialog
Notification: It is Used for Activity-related notifications.
No comments:
Post a Comment