Skip to main content

Android's Home Screens

Physical layout of an Android Device

Android devices use touch screens. Most have no physical keyboard, but you can also find a number of models with a slide-out keyboard or an attachable keyboard dock for tablets. Around your device you'll find the ususal physical buttons for power on/off, volume on/off, audio connector, micro-USB (for charging, connecting to a PC and in some devices connecting to HDMI using an adapter). You'll typically have both back- and front-facing cameras.

Home Screen Layout and Operations

You just have to press the screen gently, no need to push hard, when you operate the device. After you've unlocked the device as described in the previous chapter then you'll be presented with the home screen. In Android you have actually 3-7 home screens, depending on your Android device model. You move between them by sweeping the screen to the right or to the left. The one in the middle is often THE Home screen.
Remember, Android is highly customizable, many manufactureres start by putting a "skin" on top of "vanilla" Android. You're not just watching a set of static icons, like on some other phones. The user can change many things, for example add widgets with live data (for example: weather, stocks, news), live wallpapers, apps, folders, etc. So what you'll see here are examples of home screens, but the general layout principles holds across all of them. Each home screen has a number of columns and rows, depending on the screen size and resolution. For a phone the grid may be 4*4, a tablet may have its home screens divided into a grid with 8 columns and 7 rows.

Galaxy Nexus Layout (Android 4)

Let's start by looking at the Galaxy Nexus, which is a Google-designed phone using "vanilla" Android 4. On the top of the screen you'll find the Notification & Status Bar. This is where your phone can give you information about new emails, SMS, missed calls, as well as status information, e.g. the time, battery level etc. You can see the details by sweeping the Notification Bar downwards, like a drop down curtain. When you scroll to the left or right among the home screens, the Notification Bar is always there at the top. The Notification Bar is described in more detail in the next chapter.
Below that is the Google Search Box. Just tap it and an on-screen keyboard will pop-up and you can enter searches. The middle portion is where you can place widgets, shortcuts to apps and folders. In this example we have a widget for a transparent analog clock, then an app icon (serving as a shortcut) to the camera app. To the right of that you have a folder with a number of Google apps that comes pre-loaded with your device.
Below the main part of the screen comes the Apps Dock. You can think of it as a Favorites tray. When you scroll left or right to other home screens, the Apps Dock will remain in place (just like the Notification bar) since it usually points to the most commonly used apps. In this example we have 5 items, from left to right: Phone dialer, Internet browser, Apps Drawer (which will show all your installed apps), Messenger and Camera.
At the bottom you have on-screen buttons, for the Galaxy Nexus they are: ReturnHome and Recent apps, which makes it easy to do multi-tasking on Android.

Comments

Popular posts from this blog

Quicksort implementation by using Java

 source: http://www.algolist.net/Algorithms/Sorting/Quicksort. The divide-and-conquer strategy is used in quicksort. Below the recursion step is described: 1st: Choose a pivot value. We take the value of the middle element as pivot value, but it can be any value(e.g. some people would like to pick the first element and do the exchange in the end) 2nd: Partition. Rearrange elements in such a way, that all elements which are lesser than the pivot go to the left part of the array and all elements greater than the pivot, go to the right part of the array. Values equal to the pivot can stay in any part of the array. Apply quicksort algorithm recursively to the left and the right parts - the previous pivot element excluded! Partition algorithm in detail: There are two indices i and j and at the very beginning of the partition algorithm i points to the first element in the array and j points to the last one. Then algorithm moves i forward, until an element with value greater or equal

Live - solving the jasper report out of memory and high cpu usage problems

I still can not find the solution. So I summary all the things and tell my boss about it. If any one knows the solution, please let me know. Symptom: 1.        The JVM became Out of memory when creating big consumption report 2.        Those JRTemplateElement-instances is still there occupied even if I logged out the system Reason:         1. There is a large number of JRTemplateElement-instances cached in the memory 2.     The clearobjects() method in ReportThread class has not been triggered when logging out Action I tried:      About the Virtualizer: 1.     Replacing the JRSwapFileVirtualizer with JRFileVirtualizer 2.     Not use any FileVirtualizer for cache the report in the hard disk Result: The japserreport still creating the a large number of JRTemplateElement-instances in the memory        About the work around below,      I tried: item 3(in below work around list) – result: it helps to reduce  the size of the JRTemplateElement Object        

Stretch a row if data overflows in jasper reports

It is very common that some columns of the report need to stretch to show all the content in that column. But  if you just specify the property " stretch with overflow' to that column(we called text field in jasper report world) , it will just stretch that column and won't change other columns, so the row could be ridiculous. Haven't find the solution from internet yet. So I just review the properties in iReport one by one and find two useful properties(the bold  highlighted in example below) which resolve the problems.   example: <band height="20" splitType="Stretch" > <textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true"> <reportElement stretchType="RelativeToTallestObject" mode="Opaque" x="192" y="0" width="183" height="20"/> <box leftPadding="2"> <pen lineWidth="0.25"/>