The action bar:
is located at the top of the screen to support navigation and highlight important functionalities
replaces the title bar (which is often included into it)
is best used for actions across your app, like search, refresh and compose
can provide a quick link to app homeby tapping the app logo
is preferably not contextual, but actions can differ from page to page
Use when
You want to bring key actions on screen, so they are in sight. You don't want to hide them under the menu-button. The action bar is best used for common actions like search, refresh and compose. When screen real estate is valuable, consider putting actions in the options menu.
" In the latest Android Design in Action Roman Nurik (watch in YouTube) did a great roundup of UI design patterns that have not yet made their way to the official guidelines but are starting to appear in apps more frequently"
"Genymotion is a faster Android emulator for app testing and presentation. You can control simulated sensors like battery, GPS, accelerometer with the user-friendly interface, it includes powerful command line tools that allow you to build complex tests."
Additionally, you can feel free to use the Search bar selection mechanism as a replacement for tabs since it’s really just a fast pivot on a data set. If you have more than 3 data sets, tabs become problematic since no more than 3 can be onscreen at once. For example, look at how we implemented the Profile switching mechanism below:
The good news for developers is you get this highly functional contacts feature for free if users choose to sync contact information into your app
The good news for developers is you get this highly functional contacts feature for free if users choose to sync contact information into your app. QuickContact for Android provides instant access to a contact's information and communication modes.
QuickActions can be used as a replacement for our traditional dialog invoked by long press.
The dashboard pattern serves as a home orientation activity for your users. It is meant to include the categories or features of your application. We recommend including an Action bar on this screen as well. The dashboard can be static or dynamic. For example, in the case of our dashboard for Twitter, we used the goodness of Live Wallpapers introduced in 2.1 to create an animated dashboard complete with real-time trend bubbles and the Twitter bird silhouette.
You keep a search history so users upon returning to the search activity can have quick one-button access to previous searches.
e things you can try:
* send a Google Maps link and the Google Maps app from your phone should handle it
* send a link to a YouTube video and the video should start playing on your phone
* copy a
A bunch of sample apps for Android. Simple workarounds and examples for doing things on Android. Custom Progress Bar - A customized Progress Bar for android with your own animation Drag and Drop widgets on Android Ongoing notifications on Android HTML with images in a Text View Custom Expandable List Views on Android Custom List View - Phonebook Example Custom Title Bar Android WebView, Javascrip and CSS Unzip files on Android
For those of you that haven’t tried Dropbox, it’s a service that makes it remarkably easy to share files between multiple computers (it means you don’t have to keep emailing files between your home and work computers, or rely on a clunky USB stick). It’s also great for collaboration — we’ve been using it around the TechCrunch office to share files for years now
On an HTC Hero, this EXTRA_OUTPUT doesn't even work. It doesn't put your picture in
the file you specify, but it hands it to you thru a Mediastore uri. Apparently, the
only way to get a full size picture is to do all camera handling in your app instead
of using the IMAGE_CAPTURE intent.
I think Google have missed a trick on this one. They have defined standard intents
for media capture, but not specified standard responses (ie. the "data" parameter in
the onActivityResult Activity callback method). Other Android vendors (e.g. HTC
Hero) have created their own Camera applications that handle the standard
IMAGE_CAPTURE intent, but return different data & have different ways to save/return
the image information. All I want is to be able to fire a IMAGE_CAPTURE intent from
my own app, and get back a Uri reference to the captured image. Simple. I have no
requirement to further manipulate the image .. I just need the Uri to store in my
app's database for future reference.
Google Chrome to Phone Extension is a project consisting of a Chrome Extension, Android App, and supporting AppEngine server that enables users to send links from their Chrome desktop browser to their Android device using Android's Cloud to Device Messaging service.
It allows third-party application servers to send lightweight messages to
their Android applications. The messaging service is not designed for sending a
lot of user content via the messages. Rather, it should be used to tell the
application that there is new data on the server, so that the application can
fetch it.
C2DM makes no guarantees about delivery or the order of messages. So, for
example, while you might use this feature to tell an instant messaging
application that the user has new messages, you probably would not use it to
pass the actual messages.
An application on an Android device doesn’t need to be running to receive
messages. The system will wake up the application via Intent broadcast when the
the message arrives, as long as the application is set up with the proper
broadcast receiver and permissions.
It uses an existing connection for Google services. This requires users to
set up their Google account on their mobile devices.
C2DM imposes the following limitations:
The message size limit is 1024 bytes.
Google limits the number of messages a sender sends in aggregate, and
the number of messages a sender sends to a specific device
The ClientLogin token authorizes the application server to send messages to a
particular Android application. An application server has one ClientLogin token
for a particular 3rd party app, and multiple registration IDs. Each registration
ID represents a particular device that has registered to use the messaging
service for a particular 3rd party app.
PhoneGap is an open source development framework for building cross-platform mobile apps.
Build apps in HTML and JavaScript and still take advantage of core features in iPhone/iPod touch, iPad, Google Android, Palm, Symbian and Blackberry SDKs.
Rhodes is an open source Ruby-based framework to rapidly build native apps for all major smartphone operating systems (iPhone, Windows Mobile, RIM, Symbian and Android). These are true native device applications (NOT mobile web apps) which work with synchronized local data and take advantage of device capabilities such as GPS, PIM contacts and calendar, camera, native mapping, push, barcode, signature capture, and Bluetooth.