Answer the following questions
1. Android
Ans :
Android is a software package and linux
based operating system for mobile devices such as tablet computers and
smartphones.
It is developed by Google and later the OHA (Open Handset Alliance). Java language is mainly used to write the android code even though other languages can be used.
The goal of android project is to
create a successful real-world product that improves the mobile experience for
end users.
There are many code names of android such
as Lollipop, Kitkat, Jelly Bean, Ice cream Sandwich, Froyo, Ecliar, Donut etc
which is covered in next page.
2. JDK
Ans :
The Java Development Kit (JDK) is a
cross-platformed software development environment that offers a collection of
tools and libraries necessary for developing Java-based software applications
and applets. It is a core package used in Java, along with the JVM (Java
Virtual Machine) and the JRE (Java Runtime Environment).
Beginners often get confused with JRE
and JDK, if you are only interested in running Java programs on your machine
then you can easily do it using Java Runtime Environment. However, if you would
like to develop a Java-based software application then along with JRE you may
need some additional necessary tools, which is called JDK.
3. Android
runtime
Ans :
Dalvik virtual machine: The Android
runtime also includes the Dalvik virtual machine, which enables every Android
application to run in its own process with its own instance of the Dalvik
virtual machine (Android applications are compiled into the Dalvik
executables). Dalvik is a specialized virtual machine designed specifically for
Android and optimized for battery-powered mobile devices with limited memory
and CPU.
Core Libraries: These are different
from Java SE and Java ME libraries. But these libraries provide most of the
functionalities defined in the Java SE libraries.
1. Data Structure 2. File Access 3.
Network Access 4. Utilities 5. Graphics
4. Intent
Ans :
An intent is an abstract description of
an operation to be performed. It can be used with startActivity to launch an
Activity, broadcastIntent to send it to any interested BroadcastReceiver
components, and Context.startService(Intent) or Context.bindService(Intent,
ServiceConnection, int) to communicate with a background Service.
An Intent provides a facility for
performing late runtime binding between the code in different applications. Its
most significant use is in the launching of activities, where it can be thought
of as the glue between activities. It is basically a passive data structure
holding an abstract description of an action to be performed.
5. Toast
Ans :
A toast provides simple feedback about
an operation in a small popup. It only fills the amount of space required for
the message and the current activity remains visible and interactive. Toasts
automatically disappear after a timeout. Use the makeText() method, which takes
the following parameters:
The application Context.
The text that should appear to the
user. The duration that the toast should remain on the screen. The makeText()
method returns a properly initialized Toast object.
6. Thread
Ans :
A thread is a thread of execution in a
program. The Java Virtual Machine allows an application to have multiple
threads of execution running concurrently.
Every thread has a priority. Threads
with higher priority are executed in preference to threads with lower priority.
Each thread may or may not also be marked as a daemon. When code running in
some thread creates a new Thread object, the new thread has its priority
initially set equal to the priority of the creating thread, and is a daemon
thread if and only if the creating thread is a daemon.
7. Runnable
Ans :
The Runnable interface should be
implemented by any class whose instances are intended to be executed by a
thread. The class must define a method of no arguments called run.
This interface is designed to provide a
common protocol for objects that wish to execute code while they are active.
For example, Runnable is implemented by class Thread. Being active simply means
that a thread has been started and has not yet been stopped.
In addition, Runnable provides the
means for a class to be active while not subclassing Thread. A class that
implements Runnable can run without subclassing Thread by instantiating a
Thread instance and passing itself in as the target.
8. Asynctask
Ans :
AsyncTask was intended to enable proper
and easy use of the UI thread. However, the most common use case was for
integrating into UI, and that would cause Context leaks, missed callbacks, or
crashes on configuration changes. It also has inconsistent behavior on
different versions of the platform, swallows exceptions from doInBackground,
and does not provide much utility over using Executors directly.
AsyncTask is designed to be a helper
class around Thread and Handler and does not constitute a generic threading
framework. AsyncTasks should ideally be used for short operations (a few
seconds at the most.) If you need to keep threads running for long periods of
time, it is highly recommended you use the various APIs provided by the
java.util.concurrent package such as Executor, ThreadPoolExecutor and
FutureTask.
An asynchronous task is defined by a
computation that runs on a background thread and whose result is published on
the UI thread. An asynchronous task is defined by 3 generic types, called
Params, Progress and Result, and 4 steps, called onPreExecute, doInBackground,
onProgressUpdate and onPostExecute.
9. Bounded
Ans :
A bound service is the server in a
client-server interface. It allows components (such as activities) to bind to
the service, send requests, receive responses, and perform interprocess
communication (IPC). A bound service typically lives only while it serves
another application component and does not run in the background indefinitely.
This document describes how to create a
bound service, including how to bind to the service from other application
components. For additional information about services in general, such as how
to deliver notifications from a service and set the service to run in the
foreground, refer to the Services document.
10. SQLiteDatabase
Ans :
SQLite is a opensource SQL database
that stores data to a text file on a device. Android comes in with built in
SQLite database implementation. SQLite supports all the relational database
features
Database – Package The main package is
android.database.sqlite that contains the classes to manage your own databases
Database – Creation
In order to create a database you just
need to call this method openOrCreateDatabase with your database name and mode
as a parameter. It returns an instance of SQLite database which you have to
receive in your own object.Its syntax is given below
SQLiteDatabase mydatabase =
openOrCreateDatabase("your database name",MODE_PRIVATE,null);
11. SQLiteOpenHelper
Ans :
A helper class to manage database
creation and version management.
You create a subclass implementing
onCreate(SQLiteDatabase), onUpgrade(SQLiteDatabase, int, int) and optionally
onOpen(SQLiteDatabase), and this class takes care of opening the database if it
exists, creating it if it does not, and upgrading it as necessary. Transactions
are used to make sure the database is always in a sensible state.
This class makes it easy for
ContentProvider implementations to defer opening and upgrading the database
until first use, to avoid blocking application startup with long-running
database upgrades.
For an example, see the NotePadProvider
class in the NotePad sample application, in the samples/ directory of the SDK.
12. Geocoding
and Reverse Geocoding.
Ans :
GeoCoding : A class for handling
geocoding and reverse geocoding. Geocoding is the process of transforming a
street address or other description of a location into a (latitude, longitude)
coordinate. Reverse geocoding is the process of transforming a (latitude,
longitude) coordinate into a (partial) address. The amount of detail in a
reverse geocoded location description may vary, for example one might contain
the full street address of the closest building, while another might contain
only a city name and postal code. The Geocoder class requires a backend service
that is not included in the core android framework. The Geocoder query methods
will return an empty list if there no backend service in the platform. Use the
isPresent() method to determine whether a Geocoder implementation exists.
Rev. Geocoding : Reverse-Geocoding is a
process used to convert coordinates (latitude and longitude) to human-readable
addresses. This is not exactly the opposite of Geocoding. In Geocoding, the
Place is associated with a name and fixed coordinates. These coordinates are
Double in nature. Negligible change in these coordinates may still refer to the
same place, but we shall never get the place name as it is associated with only
those fixed coordinates. Therefore, we shall definitely get the complete
address in reverse geocoding, but the place name is not guaranteed. Through
this article, we will show you an example of how to perform reverse-geocoding
in Android.
0 Comments