Android
An Android app is
a software application running on the Android platform.
Because the Android platform is built for mobile devices,
a typical Android app is designed for a smartphone or a
tablet PC running on the Android OS.
Android
UI Controls
Android provides a number
of standard UI controls that enable a rich user experience.
Designers and developers should thoroughly understand all of these controls for
the following reasons:
·
They are faster to implement. It can take up to ten times longer
to develop a custom control than to implement a user interface with standard
Android controls.
·
They ensure good performance. Custom controls rarely function as
expected in their first implementation. By implementing standard controls, you
can eliminate the need to test, revise and improve custom controls.
·
Android users expect standard controls. Through their
interactions with other Android apps, users become accustomed to Android’s
standard controls. Deviating from the standard Android user experience can
confuse and frustrate users, making them less likely to want to use your app
and incorporate it into their daily activities.
·
Activities. ...
·
User Interactions. ...
·
Layouts. ...
·
Screen Size. ...
·
Fragments. ...
·
Intents.
Activities
Android applications are composed of “activities” which are
unique, focused actions a user can take. Because it can be difficult or
time-consuming to scroll, zoom in, or click links on a small screen, it is
recommended that an app display only one activity per screen. This practice
presents the user with only the most relevant information and allows them to
launch a new screen for additional information, or click the “back” button to
view the previous activity. While a screen can expose multiple tasks, it should
help the user complete just one activity at a time.
User
Interactions
When a user first
downloads your application, he will make snap judgments on the usability and
intuitiveness of the application within the first few minutes of use. It is,
therefore, crucial to balance the creativity of your app with the standard user
interactions Android users have come to expect. These include:
·
Hard buttons: including Back, Menu, Home and Search buttons. Moreover,
back button behavior can be tricky and needs to be defined up-front for every
screen, as it is not always as simple as returning to the previous activities. If
the app offers only one activity, the back button should return the user to the
device’s home page.
·
Long press elements: Items of a list can be long pressed to open a context menu
that provides secondary information. “ToDo” list apps, for example, often use a
touch interaction to mark a task as completed and a long press interaction to
display a menu with “edit” or “delete” functionality.
Layouts
Android provides a number
of screen layout options.
First, Android developers
must specify whether each screen should follow a linear layout which manages controls in a horizontal or vertical
fashion, or a relative layout which
manages controls in relation to one another
A relative layout defines
the position of controls by their relationship to other components on the same
screen.
Android also offers
specific layout properties to control the way in which screen elements are
displayed across Android devices and during use:
·
Weight: The weight property allows the developer to determine how
free space is divided on the screen.
·
Gravity: Gravity is the term used for control alignment (right,
bottom, top, or left) on an Android device.
·
Density independence: Your application achieves “density independence” when it
preserves the physical size (from the user’s point of view) of user interface
elements displayed on screens with different densities. Without density
independence, a UI element (such as a button) will appear larger on a
low-density screen and smaller on a high-density screen.
Screen
Size
A common misconception is
that an Android app should be designed to support only a specific set of
Android devices. Many teams assume their app will only look right on a screen
of a particular screen size and limit their design to suit only a handful of
devices supporting that size. In reality, Android offers you tools needed to
develop a visually impressive interface that supports the full range of devices
and screen sizes on the market.
Fragments
A Smartphone should only display one activity per screen due to
its small screen size. Tablet devices, however, offer additional screen real
estate and are often used in a similar setting as a desktop or notebook,
meaning the application could show more information at once on the screen.
Using an Android construct called fragments, designers and developers can merge
portions of the UI onto one large screen or split them into individual screens
for use on small screens. This can help to reduce the number of interactions a
user must perform on a device with a large screen and eliminate wasted space.
The example below shows a Gmail interface on a tablet display.
This design uses fragments to display both the navigation list at left and the
Inbox content at right. The design reduces the number of screens that must load
before the user reaches the desired message.
If you anticipate your app will someday be used on a tablet
device, we strongly recommend you incorporate fragments into your design.
Designers need to be aware of the concept of fragments in order to design by
fragment, and developers also need to be aware of this concept and its
implementation details.
By designing custom, reusable fragments for each screen activity
at the beginning of the project, you can eliminate the need to create an
entirely new layout for a tablet device.
Intents
Android applications typically borrow from other applications
already on the device. Using intents you can simplify both the programming
requirements for your app and offer simpler, less cluttered screens.
If your app needs to perform a function beyond its core
abilities such as opening a photo, looking up a contact, or playing a video,
the team should investigate whether a tool that can perform that function
already exists in the OS or in a popular third-party app. If so, you can
leverage that functionality using intents.