1) What is
Android?
--> It is an
open-sourced operating system that is used primarily on mobile devices, such as
cell phones and tablets. It is a Linux kernel-based system that’s been equipped
with rich components that allows developers to create and run apps that can
perform both basic and advanced functions.
2) What Is
the Google Android SDK?
--> The Google
Android SDK is a toolset that developers need in order to write apps on Android
enabled devices. It contains a graphical interface that emulates an Android
driven handheld environment, allowing them to test and debug their codes.
3) What is
the Android Architecture?
--> Android Architecture is made up
of 4 key components:
- Linux Kernel
- Libraries
- Android Framework
- Android
Applications.
4) Describe
the Android Framework.
--> The Android
Framework is an important aspect of the Android Architecture. Here you can find
all the classes and methods that developers would need in order to write
applications on the Android environment.
5) What is AAPT?
--> AAPT is short
for Android Asset Packaging Tool. This tool provides developers with the
ability to deal with zip-compatible archives, which includes creating,
extracting as well as viewing its contents.
6) What
is the importance of having an emulator within the Android environment?
--> The emulator
lets developers “play” around an interface that acts as if it were an actual
mobile device. They can write and test codes, and even debug. Emulators are a
safe place for testing codes especially if it is in the early design phase.
7) What is the use of
an activityCreator?
--> An
activityCreator is the first step towards the creation of a new Android
project. It is made up of a shell script that will be used to create new file
system structure necessary for writing codes within the Android IDE.
8 ) Describe
Activities.
--> Activities are
what you refer to as the window to a user interface. Just as you create windows
in order to display output or to ask for an input in the form of dialog boxes,
activities play the same role, though it may not always be in the form of a
user interface.
9) What are
Intents?
--> Intents
displays notification messages to the user from within the Android enabled
device. It can be used to alert the user of a particular state that occurred.
Users can be made to respond to intents.
10) Differentiate
Activities from Services.
--> Activities can
be closed, or terminated anytime the user wishes. On the other hand, services
are designed to run behind the scenes, and can act independently. Most services
run continuously, regardless of whether there are certain or no activities
being executed.
11) What
items are important in every Android project?
--> These are the
essential items that are present each time an Android project is created:
- AndroidManifest.xml
- build.xml
- build.xml
- bin
- src/
- res/
- assets/
12) What is the
importance of XML-based layouts?
--> The use of
XML-based layouts provides a consistent and somewhat standard means of setting
GUI definition format. In common practice, layout details are placed in XML
files while other items are placed in source files.
13) What are
containers?
--> Containers, as
the name itself implies, holds objects and widgets together, depending on which
specific items are needed and in what particular arrangement that is wanted.
Containers may hold labels, fields, buttons, or even child containers, as
examples.
14) What is
Orientation?
--> Orientation,
which can be set using setOrientation(), dictates if the LinearLayout is
represented as a row or as a column. Values are set as either HORIZONTAL or
VERTICAL.
15) What is the
importance of Android in the mobile market?
--> Developers can
write and register apps that will specifically run under the Android
environment. This means that every mobile device that is Android enabled will
be able to support and run these apps. With the growing popularity of Android
mobile devices, developers can take advantage of this trend by creating and
uploading their apps on the Android Market for distribution to anyone who wants
to download it.
16) What do you think
are some disadvantages of Android?
--> Given that
Android is an open-source platform, and the fact that different Android operating
systems have been released on different mobile devices, there’s no clear cut
policy to how applications can adapt with various OS versions and upgrades.
--> One app that runs on this particular
version of Android OS may or may not run on another version.
--> Another disadvantage is that since
mobile devices such as phones and tabs come in different sizes and forms, it
poses a challenge for developers to create apps that can adjust correctly to
the right screen size and other varying features and specs.
17) What is adb?
--> Adb is short
for Android Debug Bridge. It allows developers the power to execute remote
shell commands. Its basic function is to allow and control communication
towards and from the emulator port.
18) What are the four
essential states of an activity?
- Active
– if the activity is
at the foreground
- Paused
– if the activity is
at the background and still visible
- Stopped
– if the activity is
not visible and therefore is hidden or obscured by another activity - Destroyed
– when the activity
process is killed or completed terminated
19) What is ANR?
--> ANR is short
for Application Not Responding. This is actually a dialog that appears to the
user whenever an application have been unresponsive for a long period of time.
20) Which
elements can occur only once and must be present?
--> Among the
different elements, the and elements must be present and can occur only once.
The rest are optional, and can occur as many times as needed.
21) How
are escape characters used as attribute?
--> Escape
characters are preceded by double backslashes.
For example, a newlinecharacter is created
using ‘\\n’
22) What is
the importance of settings permissions in app development?
--> Permissions
allow certain restrictions to be imposed primarily to protect data and code.
Without these, codes could be compromised, resulting to defects in
functionality.
23) What is the
function of an intent filter?
--> Because every
component needs to indicate which intents they can respond to, intent filters
are used to filter out intents that these components are willing to receive.
One or more intent filters are possible, depending on the services and
activities that is going to make use of it.
24) Enumerate the
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
25) When is the
onStop() method invoked?
--> A call to
onStop method happens when an activity is no longer visible to the user, either
because another activity has taken over or if in front of that activity.
26) Is there a case
wherein other qualifiers in multiple resources take precedence over locale?
--> Yes, there are
actually instances wherein some qualifiers can take precedence over locale.
There are two known exceptions, which are the MCC (mobile country code) and MNC
(mobile network code) qualifiers.
27) What are the
different states wherein a process is based?
--> There are 4
possible states:
- foreground activity
- visible activity
- background activity
- empty process
28) How can the 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 workings of the codes can be placed, so that
the main thread runs with minimal periods of unresponsive times.
29) What role does
Dalvik play in Android development?
--> Dalvik serves
as a virtual machine, and it is where every Android application runs. Through
Dalvik, a device is able to execute multiple virtual machines efficiently
through better memory management.
30) What is
the AndroidManifest.xml?
--> This file is
essential in every application. It is declared in the root directory and
contains information about the application that the Android system must know
before the codes can be executed.
31) What is the proper
way of setting up an Android-powered device for app development?
--> The following
are steps to be followed prior to actual application development in an
Android-powered device: -Declare your application as “debuggable” in your
Android Manifest. -Turn on “USB Debugging” on your device. -Set up your system
to detect your device.
32) Enumerate the
steps in creating a bounded service through AIDL.1. create the .aidl file, which defines
the programming interface 2. implement the interface, which involves extending
the inner abstract Stub class as well as implanting its methods. 3. expose the
interface, which involves implementing the service to the clients.
33) What
is the importance of Default Resources?-
-> When default
resources, which contain default strings and files, are not present, an error
will occur and the app will not run. Resources are placed in specially named
subdirectories under the project res/ directory.
34) When dealing with
multiple resources, which one takes precedence?
--> Assuming that
all of these multiple resources are able to match the configuration of a
device, the ‘locale’ qualifier almost always takes the highest precedence over
the others.
35) When does ANR
occur?
--> The ANR dialog
is displayed to the user based on two possible conditions. One is when there is
no response to an input event within 5 seconds, and the other is when a
broadcast receiver is not done executing within 10 seconds.
36) What is AIDL?
--> AIDL, or
Android Interface Definition Language, handles the interface requirements
between a client and a service so both can communicate at the same level
through interprocess communication or IPC. This process involves breaking down
objects into primitives that Android can understand. This part is required
simply because a process cannot access the memory of the other process.
37) What data types
are supported by AIDL?
--> AIDL has
support for the following data types:
-string
-charSequence
-List
-Map
-all native Java data
types like int,long, char and Boolean
38) What is a Fragment?
--> A fragment is
a part or portion of an activity. It is modular in a sense that you can move
around or combine with other fragments in a single activity. Fragments are also
reusable.
39) What
is a visible activity?
--> A visible
activity is one that sits behind a foreground dialog. It is actually visible to
the user, but not necessarily being in the foreground itself.
40) When is the best
time to kill a foreground activity?
--> The foreground
activity, being the most important among the other states, is only killed or
terminated as a last resort, especially if it is already consuming too much
memory. When a memory paging state has been reach by a foreground activity,
then it is killed so that the user interface can retain its responsiveness to
the user.
41) Is it possible to
use or add a fragment without using a user interface?--> Yes, it is possible to do that,
such as when you want to create a background behavior for a particular
activity. You can do this by using add(Fragment,string) method to add a fragment
from the activity.
42) How do you remove
icons and widgets from the main screen of the Android device?
--> To remove an
icon or shortcut, press and hold that icon. You then drag it downwards to the
lower part of the screen where a remove button appears.
43) What are
the core components under the Android application architecture?
--> There are 5
key components under the Android application architecture: - services - intent
- resource externalization - notifications - content providers
44) What composes a typical
Android application project?
--> A project
under Android development, upon compilation, becomes an .apk file.This apk file
format is actually made up of the AndroidManifest.xml file, application code,
resource files, and other related files.
45) What is a Sticky
Intent?
--> A Sticky
Intent is a broadcast from sendStickyBroadcast() method such that the intent
floats around even after the broadcast, allowing others to collect data from
it.
46) Do all
mobile phones support the latest Android operating system?
--> Some
Android-powered phone allows you to upgrade to the higher Android operating
system version. However, not all upgrades would allow you to get the latest
version. It depends largely on the capability and specs of the phone, whether
it can support the newer features available under the latest Android version.
47) What is portable
wi-fi hotspot?
--> Portable Wi-Fi
Hotspot allows you to share your mobile internet connection to other wireless
device. For example, using your Android-powered phone as a Wi-Fi Hotspot, you
can use your laptop to connect to the Internet using that access point.
48) What is an
action?
--> In Android
development, an action is what the intent sender wants to do or expected to get
as a response. Most application functionality is based on the intended action.
49) What is the
difference between a regular bitmap and a nine-patch image?
--> In general, a
Nine-patch image allows resizing that can be used as background or other image
size requirements for the target device. The Nine-patch refers to the way you
can resize the image: 4 corners that are unscaled, 4 edges that are scaled in 1
axis, and the middle one that can be scaled into both axes.
50) What language is
supported by Android for application development?
--> The main
language supported is Java programming language. Java is the most popular
language for app development, whichmakes it ideal even for new Android
developers to quickly learn to create and deploy applications in the Android
environment.
51)Explain in brief about the important file and folder when you create new
android application.
When you create
android application the following folders are created in the package explorer
in eclipse which are as follows:
src: Contains the .java source files for
your project. You write the code for your application in this file. This file
is available under the package name for your project.
gen —This folder contains the R.java file.
It is compiler-generated file that references all the resources found in your
project. You should not modify this file.
Android 4.0 library:
This folder contains android.jar file, which contains all the class libraries
needed for an Android application.
assets: This folder contains all the
information about HTML file, text files, databases, etc.
bin: It contains the .apk file (Android
Package) that is generated by the ADT during the build process. An .apk file is
the application binary file. It contains everything needed to run an Android
application.
res: This folder contains all the resource
file that is used byandroid application. It contains subfolders as: drawable,
menu, layout, and values etc.
52).Explain
AndroidManifest.xmlfile in detail.
<?xml
version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.careerride">
<android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18"
/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name="com.example.careerride.MainActivity"
android:label="@string/app_name">
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
The
AndroidManifest.xml file contains the following information about the
application:
It contains the package name of the
application.·
The version code of the application is 1.This
value is used to identify the version number of your application.·
The version name of the application is 1.0·
The android:minSdkVersion attribute of the
element defines the minimum version of the OS on which the application will
run.·
ic_launcher.png is the default image that
located in the drawable folders.·
app_name defines the name of applicationand
available in the strings.xml file.·
It also contains the information about the
activity. Its name is same as the application name.·
53).Describe
android Activities in brief.
Activity provides the
user interface. When you create an android application in eclipse through the
wizard it asks you the name of the activity. Default name is MainActivity. You
can provide any name according to the need. Basically it is a class
(MainActivity) that is inherited automatically from Activity class. Mostly,
applications have oneor more activities; and the main purpose of an activity is
to interact with the user. Activity goes through a numberof stages, known as an
activity’s life cycle.
Example:
package com.example.careerride;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class
MainActivity extends Activity{
@Override protected
void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
publicbooleanonCreateOptionsMenu(Menu menu)
{
// Inflate the
menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu); return true;
}
}
When you run the
application onCreate method is called automatically.
54)Describe
Intents in detail.
An Android
application can contain zero or more activities. If you want to navigate
fromone activity to another then android provides you Intent class. This class
is available inandroid.content.Intent package.One of the most common uses for
Intents is to start new activities.
There are two types of
Intents.
55)Explicit
Intents Implicit Intents
Intents works in
pairs: actionand data. The action defines what you want to do, such as editing
an item, viewingthe content of an item etc. The dataspecifies what is
affected,such as a person in the Contacts database. The data is specified as
anUri object.
56)Explicitly
starting an Activity
Intent intent =
newIntent (this, SecondActivity.class);
startActivity(intent);
Here SecondActivity
is the name of the target activity that you want to start.
57)Implicitly
starting an Activity
If
you want to view a web page with the specified URL then you can use this
procedure.
Intent i =
newIntent(android.content.Intent.ACTION_VIEW,Uri.parse(“http://www.amazon.com”));
startActivity(i);
58)if you
want to dial a telephone number then you can use this method by passing the
telephone number in the data portion
Intent i = newIntent
(android.content.Intent.ACTION_DIAL,Uri.parse(“tel:+9923.....”));
startActivity(i);
In the above method
the user must press the dial button to dial the number. If you want to directly
call the number without user intervention, change the action as follows:
Intent i = newIntent android.content.Intent.ACTION_CALL,Uri.parse(“tel:+9923.....”));
startActivity(i);
If you want to dial
tel no or use internet then write these line in AndroidManifest.xml
<uses-permissionandroid:name=”android.permission.CALL_PHONE”/>
<uses-permissionandroid:name=”android.permission.INTERNET”/>
59)How to
send SMS in android? Explain with example.
SMS messaging is one
of the basic and important applications on a mobile phone. Now days every
mobile phone has SMS messaging capabilities, and nearly all users of any age
know how to send and receive suchmessages. Mobile phones come with a built-in
SMS application that enables you to send and receiveSMS messages. If you want
to send the SMS programmatically then follow the following steps.
60).Sending
SMS Messages Programmatically
Take a
button on activity_main.xml file as follows.
<Button
android:id="@+id/btnSendSMS"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:onClick=”sendmySMS”
android:text="sendSMS" />
According to above
code when user clicks the button sendmySMS method will be called. sendmySMS is
user defined method.
In the
AndroidManifest.xml file, add the following statements
<uses-permissionandroid:name=”android.permission.SEND_SMS”/>
Now we write the
final step. Write the given below method in MainActivity,java file
public void sendmySMS(View
v) {
SmsManagersms = SmsManager.getDefault();
sms.sendTextMessage("5556",
null, "Hello from careerRide", null, null);
}
In this example I have used two emulator. On
the first Android emulator (5554), click the Send SMSbutton to send an SMS
message to the second emulator(5556).
61).Describe
the SmsManager class in android.
SmsManager class is
responsible for sending SMS from one emulator to another or device.
You cannot directly
instantiate this class; instead, you call the getDefault() static method to obtain
an SmsManager object. You then send the SMS message using the sendTextMessage()
method:
SmsManagersms =
SmsManager.getDefault();
sms.sendTextMessage("5556",
null, "Hello from careerRide", null, null);
62).sendTextMessage()
method takes five argument.
destinationAddress — Phone number of the
recipient.·
scAddress — Service center address; you can
use null also.·
text — Content of the SMS message that you
want to send.·
sentIntent — Pending intent to invoke when the
message is sent.·
deliveryIntent — Pending intent to invoke when
the message has been delivered.·
63).How you
can use built-in Messaging within your application?
You can use an Intent
object to activate the built-in Messaging service.
You have to pass MIME type
“vnd.android-dir/mms-sms”, in setType method of Intent as shown in the
following given below code.
Intent intent = new
Intent (android.content.Intent.ACTION_VIEW);
intent.putExtra("address", "5556; 5558;");// Send the
message to multiple recipient. itent.putExtra("sms_body", "Hello
my friends!"); intent.setType("vnd.android-dir/mms-sms");
startActivity(intent);
What are different
data storage options are available in Android?
Different data
storage options are available in Android are:
SharedPreferences.
SQlite.
ContentProvider.
File Storage.
Cloud Storage.
64).Describe
SharedPreference storage option with example.
SharedPreference is
the simplest mechanism to store the data in android. You do not worry about
creating the file or using files API.It stores the data in XML files. SharedPreference
stores the data in key value pair.The SharedPreferences class allows you to
save and retrieve key-value pairs of primitive data types. You can use
SharedPreferences to save any primitive data: boolean, floats, int, longs, and
strings.The data is stored in XML file in the directory data/data//shared-prefs
folder.
65).Application
of SharedPreference
Storing the information about number of
visitors (counter).·
Storing the date and time (when your
Application is updated).·
Storing the username and password.·
Storing the user settings.·
Example:
For
storing the data we will write the following code in main activity on save
button:
SharedPreferences
sf=getSharedPreferences("MyData", MODE_PRIVATE);
SharedPreferences.Editored= sf.edit(); ed.putString("name",
txtusername.getText().toString());
ed.putString("pass",
txtpassword.getText().toString());
ed.commit();
In this example I
have taken two activities. The first is MainActivity and the second one is
SecondActivity.When user click on save button the user name and password that
you have entered in textboxes, will be stored in MyData.xml file.
Here MyData is the
name of XML file .It will be created automatically for you. MODE_PRIVATE means
this file is used by your application only.
txtusernameand
txtpassword are two EditText control in MainActivity.
For
retrieving the data we will write the following code in SecondActiviy when user
click on Load button:
Public static final
String DEFAULT=”N? A”;
DEFAULT
is a String type user defined global variable.If the data is not saved in XML
file and user click on load button then your application will not give the
error. It will show message “No Data is found”. Here name and pass are same
variable that I have used in MainActivity.
SharedPreferences
sf=getSharedPreferences("MyData", ontext.MODE_PRIVATE);
String
Uname=sf.getString("name", DEFAULT);
String
UPass=sf.getString("pass", DEFAULT);
if(name.equals(DEFAULT)||Pass.equals(DEFAULT))
{ Toast.makeText(this, "No data is found", Toast.LENGTH_LONG).show();
}
else
{
Txtusername.setText(Uname);
Txtpassword.setText(UPass) ;
}
No comments:
Post a Comment