Posts tagged project

Dell Streak to get Android 2.1 update Sept 1st… in the UK

from Liliputing by Brad Linder
Dell Streak to get Android 2.1 update Sept 1st… in the UK: ”

The Dell Streak is a 5 inch Android tablet/smartphone that ships with Google Android 1.6. That’s right, it’s a nearly state-of-the-art machine with a 1GHz Qualcomm Snapdragon CPU, a 5 inch, 800 x 480 pixel display, and an operating system that’s a few iterations behind the latest version of Google Android.

But UK carrier O2 says it will begin rolling out a software update to customers on Wednesday, September 1st. Unfortunately, the update will only bring the tablet up to Google Android 2.1. Users will have to hold on a little longer for Android 2.2 which brings additional features including a faster Java compiler, installing apps to an SD card, and an option to “update all” apps from the Android Market.

That said, the O2 software update is expected to bring 720p HD video recording capabilities, multitouch gesture support. support for live wallpapers, and the ability to use multiple mail accounts, among other things.

Word on the street is that US customers may not get the Android 2.1 update at all, and instead will have to wait until Android 2.2 is available later this year. On the other hand, with early builds of Android 2.1 for the UK version of the Dell Streak hitting the web early, I wouldn’t be surprised to see unofficial versions for US users soon.

via Android Community and The Really Mobile Project

Dell Streak to get Android 2.1 update Sept 1st… in the UK is a post from: Liliputing

Android tutorial part 1 – Getting started

Are you thinking about making your own Android application? Maybe you are worried about that it is too complicated, or that you need to be the owner of an Android device. Well, you don’t need your own Android phone as you can use the free android emulator. Second, its very simple to get started and you only need basic knowledge about Java! In this tutorial I’ll demonstrate how you can setup your Eclipse installation to support Android programming, how to create your first app, and how to run it inside the emulator included with the Android SDK.


Eclipse – the best IDE for Android Development

Stating that Eclipse is the best IDE for Android development is by far only an assumption from my side. But as Google is providing it’s own Android Developer plug-in for Eclipse, this is for now, the standard way to develop Android apps. In fact, I don’t know about any other IDE’s that has its own integration or plug-in for developing on Android. As an Java developer you are probably familiar with Eclipse already, but if you are not, this is the time.


There are loads of other good Java compatible IDE’s out there, both open-source and commercial. If you insist, it is possible to develop Android apps with an IDE like IntelliJ, TextPad, NetBeans, JBuilder, VIM, emacs, or whatever your favorite editor is. But with another IDE or text-editor, you are more or less “on your own”. You would have to be familiar with Ant builder, running java from the command-line, and not to forget, miss out the great code-completion and incremental compiling features that ADT provides for you. With the Eclipse Android plug-in (ADT) you can jump straight to coding java and writing the XML files required to make your application.

Basics about an android application

An android app does not consist only of .java files like we are used to with other Java applications. Eclipse (ADT) will generate most of them for you, including the basic Activity class and basic configuration and layout XML files.


You may compare an Activity class with a HTML page. It’s a page that can can be filled with other components, like buttons, text and images, it can be closed and it can open other Activities. Activities can be stacked letting you create many “pages” or “windows”, just like another Java or HTML application.


You have less computer resources available that you have on a PC. You have to be efficient with Memory and CPU usage. If not you will create an application that will crash. If there is an error in your code, like an Exception, your app will crash. This is called a Force Close (FC). Your application may also suffer from what is called a Application Not Responding (ANR)

Use Android + AI for “Personal Robots”?

By Doug Fiedor
August 9, 2010

Nao, a robot designed by researchers at the University of Hertfordshire, is said to be “able to display and detect emotions”, The Telegraph in London reports.

Smartphone apps could be sharing your private data.


You might not give out your phone number to strangers, but the free app you downloaded on your phone might be doing just that.

Technology Review reported that apps downloaded on mobile devices can collect users’ sensitive data – such as phone number, location and contact lists – catching users as well as application developers unaware.

The App Genome Project, developed by the mobile security company, Lookout, examined more than 300,000 phone apps. They found that that most app developers don’t know that the code written by third-parties is harvesting users’ data.

“Mobile apps are doing a lot of things that people would not expect,” Lookout CEO John Hering told in someTechnology Review.

In one example, the project found that a wallpaper application for the Android gathers users’ data and then transmitted it to a server over an unencrypted network connection. The information included the device’s number, subscriber identification and even the voicemail number for the phone. It was estimated that the app was downloaded over 1.4 million times.

Apps for the iPhone, Blackberry and Android phones can all gather sensitive data from users. Both the iPhone and Android systems warn users that the app wants to collect sensitive data, but it doesn’t reveal what data is collected or where it will end up.

While the project didn’t find any actual malicious use of the data, they did say that third-party apps have the potential to take control of a phone. The project found instances where Androids released user data into logs that made it accessible to other applications. That vulnerability has since been addressed by Google and fixed in the v.2.2 versions of Android and beyond.

Nearly one-third of all free iPhone apps try to get a user’s location. Approximately 14 percent of iPhone and 8 percent of Android apps try to access users’ contact information.

The project found that almost half of the Android apps and over one-fifth of the iPhone apps depend on code written by third-party developers. The ‘application framework’ makes building the app easier, but might also allow it to do things the developer never intended.

“Apple and Goggle are doing a great job trying to keep these platforms secure,” Hering told Technology Review, “but that does not mean anything if the developers are introducing vulnerabilities using third-party development kits.”

Share/Save/Bookmark Subscribe

Rapid cloud development using App Engine for the Cycle Hire Widget Android application

This post is another entry in our ongoing series of guest posts contributed by App Engine developers. Today we partner with Little Fluffy Toys Ltd to tell the story of how they were able to learn App Engine (plus Python) and launched their service paired with their Android application in less than a week!

Introduction
Last week, Little Fluffy Toys Ltd (LFT) launched an Android app to help its users find bicycles and rental locations in London. While this story doesn’t sound particularly phenomenal, how they accomplished this using Google App Engine (and Android) makes their application and its launch one of the most exciting success stories so far in 2010.
The development team at LFT were able to quickly come up-to-speed on learning a new programming language and development environment in order to build and launch the App Engine backend service for their Android mobile app to the world in less than one week. The executive summary:
  • Attended 1-hour Thursday night presentation on Google App Engine (Jul 22)
  • Started to learn Python and App Engine on Saturday afternoon
  • Launched live service Wednesday, announcing their Android app with an App Engine backend (Jul 28)
Before we get to the good stuff, a brief backgrounder on the project which spawned the application: metropolitan bicycle-sharing systems, specifically London’s. Based on the success and popularity of the Paris Vélib’ system, the Barclays Cycle Hire scheme originated mid-November back in 2008 from its mayor, a strong cycling proponent.
The system launched on July 30, 2010; however a month before the project neared its completion, a call for apps was given by the mayor seeking independent developers so that there would be a variety of mobile and web apps available by show time. Enter Little Fluffy Toys Ltd, creator of Cycle Hire Widget app for Android. Shortly after announcing their app and London’s bicycle system going live, I had a chance to discuss how their project came together with the help of App Engine.
NOTE: Cycle Hire Widget is only available in the Android Market if you are located within the UK. If you wish to view the application from outside the UK, please download and install it from within your Android browser via this link — bear in mind that the distances to your nearest rental/hire location will be ridiculous!
App Engine and LFT
As we mentioned above, the sole purpose of their App Engine app is to receive data from and provide data to the Android app running on users’ mobile phones. The App Engine stored data is “global” for all mobile clients out there, and this includes names, locations, and dynamic specifics related to each bike station such as the data found in the app’s screenshot below. Take note all the valuable data that is provided in real-time by App Engine:

If you’re a bit familiar with App Engine, you would no doubt have heard about it as a platform for web applications, but this is a use case highlighting App Engine for a non web-based server-side application where no part of the app is user-facing save for what gets sent back to the mobile app. While this type of app doesn’t get much press, it’s more common than people think.
I met Kenton Price, the director and chief architect of Little Fluffy Toys Ltd, at a developer event recently, and he seemed to think that App Engine would be the right tool for Cycle Hire Widget. It turned out to be true(!), and when I asked about LFT’s needs and how they were met by App Engine after their successful product launch, here is what he had to say:
“As you know we were massively against the clock with the launch of the cycle hire scheme, and we needed something we could get going with fast that would effortlessly scale to perhaps tens of thousands of mobile users. App Engine seemed the perfect choice from what we had read of it before the meeting, and after your presentation it was obviously the way to go. Your recommendation to use Python was scary given neither of us knew a thing about it, but then again we only knew Java from Android not from web development so we didn’t have the domain knowledge of building Java web services. So we went with Python, and it worked out really well. I’m astounded how we actually delivered this product in a very short space of time when we both have full schedules working on projects for our clients and other demanding outside interests. Particularly satisfying was having a solution that was agile and flexible enough to enable us to display live cycle availability data within hours of it becoming unexpectedly available at the launch, so we were live in the field with real-time data that very same launch morning, a feature our competitors are still struggling to replicate.”

Development experience
Reuben Harris, LFT’s chief technical officer, is the lead App Engine developer for the Cycle Hire Widget. He had a great experience even though he was new to Python as well as App Engine. What excited him the most, and what was his development experience like? He tells his story here:
“The single coolest thing about this project is that it was possible to go from a state of knowing nothing whatsoever about App Engine or Python (other than the mile-high view) to having a working and useful application inside of eight hours. We’re long-time geeks but we’re not geniuses. For us to pick up a new language, a new SDK, a new environment, a new way of doing things, and produce anything of value at all in such a short time speaks volumes about the value, potential, and quality of App Engine and Python.
After installing the App Engine SDK, yes, the very first thing I did was your online tutorial. I did “Hello World” to find my feet then continued into webapp, since a clean URL handler with easy ways to get at HTTP variables seemed essential. Then I immediately jumped into learning about data storage. And wow, what an enlightenment that turned out to be! Goodbye SQL, don’t think I’m going to miss ya…. :-)
Since the app’s purpose is to manage just ~400 simple objects representing Cycle Hire Stations, each of which contains only Plain Old Data types — no object references or anything possibly messy — I felt I knew enough to implement it now, and so I dived in. And it was so easy! I started with a handler to rebuild the datastore from scratch. Then I wrote a “get” type of handler to retrieve information about groups of hire stations (returning the data in JSON). Finally I wrote an “update” handler so that updated information about cycle hire stations could be posted, and that was it. Job done.
One thing that initially confounded me was an HTTP 500 error caused by our “reset” handler exceeding the 30-second request limit. For a while I was ready to despair; HTTP 500s to anyone with much ASP experience usually means a hideous low-level bug somewhere! However, once we discovered the problem, this was easy to fix by splitting the work into multiple requests (/reset1, /reset2, etc.) It’s an admin function that only we’d ever be using, so no harm done and no need to work out anything more clever.
I know we’ve barely scratched the surface of what can be done with App Engine. We’ve yet to use Memcache, background tasks, batched updates, or anything beyond simple cloud-based data storage. But that simple thing alone seemed then, and still seems, not far short of miraculous. To not have to worry about databases, servers, uptime, upgrades and above all scaling… to not have to think about any of that at all is such an immense freedom. I’m completely hooked on it and am unlikely to go back to my traditional server tools of MySQL and PHP.
To see Reuben’s work in action, check out this video demonstrating how to use the Cycle Hire Widget app while roaming the streets of London seeking a bike to rent:
Conclusion
Since the launch, the Cycle Hire Widget has gotten rave reviews from CNET, The Guardian, and The Londonist. They have even been featured by the Press Association of the UK and Ireland! One user commented on Android Market: “Can’t really think of a way to make it better,” a sentiment reflected in its very high feedback rating. It certainly does sound like quite a success. What does the future look like? I asked Kenton about how LFT came about as well as how they’re looking to improve their succeeding offerings, and here’s what he had to say:
“We formed Little Fluffy Toys Ltd as a vehicle for Android development where we do consultancy work as well as our own stuff like the Cycle Hire Widget and Social Wallpaper. Whilst all custom development enquiries are very welcome, we’re also interested in hearing from people or organisations that would like us to customise Cycle Hire Widget for their particular domain, whether it’s cycles with availability in another city, coffee shops with opening hours in a geographic region, or dieting group meetings at pertinent times nearby. You name it, there are a gazillion applications for it!”
Well, here on the App Engine team, we’re happy for Kenton and his team on being able to implement the server-side solution they needed in such a short period of time on App Engine, and better yet, to help out a worthy cause. Google itself is a socially responsible company that applauds efforts like the Barclays Cycle Hire, so we’re proud that technologies we provide such as Android and App Engine can be used to help make London and the Earth more sustainable!
Posted by Kenton Price & Reuben Harris, Little Fluffy Toys Ltd, and Wesley Chun, App Engine team

[android-developers] Digest for android-developers@googlegroups.com – 25 Messages in 16 Topics

On Java Platform : The Android Mobile Development Platform

Android, an open source mobile platform with no upfront fees, has emerged as a new mobile development option that offers many benefits over competing platforms. But is it right for your project? In this reference guide, you'll learn all the nitty-gritty details you need to know to evaluate Android, including the tools and technologies for developing on the platform as well as the required costs. Armed with this information, you can make an informed decision as to whether or not Android is the right fit for your particular organization or development project.

Android Programming Languages

Native Android applications are written in Java. Applications requiring existing C/C++ libraries can take advantage of the Android Native Development Kit (NDK).

In addition to native Android applications written in Java, Adobe Flash and Adobe AIR support were added in Android 2.2, enabling a whole new group of developers to target Android devices.

Development Tools and Setup Costs

Unlike many mobile development platforms, Android is open and freely available. There are no developer fees or screening processes, nor must developers purchase expensive compilers or limit themselves to one specific operating system for development.

Android applications can be developed on a variety of operating systems, including:

  • Windows XP (32-bit), Vista (32-bit or 64-bit), and Windows 7 (32-bit and 64-bit)
  • Mac OS X 10.5.8 or later (x86 only)
  • Linux (tested on Linux Ubuntu 8.04 LTS, Hardy Heron)

In terms of integrated development environments (IDEs), developers have a number of choices. Eclipse is the most popular IDE for Android development because it offers a handy Android Development Tools (ADT) plugin. At the time of writing, the ADT plugin supported both Eclipse 3.4 and 3.5. Developers can use other IDEs if they desire; the command-line tools that come with the Android SDK facilitate Android development and provide many of the features available within the Eclipse ADT plugin (e.g. creating projects, packaging resources and generating Android package files for deployment to devices, etc.).

Android Devices: Features, Functions and Availability

The only real cost for Android developers is the acquisition of device hardware. Although the Android team has insisted that testing within the Android emulator is generally sufficient for most development, we feel that emulators are no real substitute for testing on (at least some) target devices.

Android Development Framework and APIs

The Android application framework includes familiar programming constructs, such as threads and processes and specially designed data structures to encapsulate objects used by the Android operating system. With Android, developers use familiar class libraries exposed through Android's Java packages to perform common tasks such as graphics, database access, network access, secure communications, and utilities. In addition to these familiar Java class libraries, such as java.net, developers can also rely on specialty libraries using well-defined open standards like OpenGL Embedded Systems (OpenGL ES), SQLite, and WebKit. The Android packages include support for:

  • User interface controls (Buttons, Dropdowns, Text Input, Grids, Tabs, Gallery)
  • Flexible user interface design and layout (programmatically or via XML)
  • Secure networking and Web-browsing features (SSL, WebKit, XML parsing)
  • Structured storage and relational databases (SQLite)
  • Powerful 2D and 3D graphics (including OpenGL ES 2.0)
  • Enhanced support for audio, still images, and video media in many formats, “ducking,” etc.
  • Access to underlying hardware sensor data, the camera, accelerometer, etc.
  • Access to underlying services like location-based services (LBS), Wi-Fi, Bluetooth, etc.
  • A robust unit testing framework for automated testing of Android apps

One of the Android platform's most compelling features is well-designed application integration. Developers can write applications that integrate seamlessly with other Android applications, including core platform applications such as the Browser, Maps, Contacts, Messaging, and Email.

On the Android platform, all apps are created equal. There is no distinction between native and third-party applications, enabling healthy competition among application developers. All Android applications use the same libraries and have access to the same permissions options and functionality. Android applications have direct access to the underlying hardware, allowing developers to write much more powerful applications.

The Android SDK also comes with extensive developer documentation. Developers can also find the complete documentation online with videos, the official Android developer blog and an active Android development community.

Android WebKIT JS/HTML framework : PhoneGap

This guide will help you setup your first android project but not a basic one. One taking advantage of WebKIT Javascript framework.

The first thing to do is to download and install all the required dependencies.

Please contribute platform specific instructions where needed.

Installing dependencies

1. Java JDK
If you do not already have the java JDK installed on you’r system, install the Java SE Development Kit – JDK 6 from here:
http://java.sun.com/javase/downloads/index.jsp

If you’re running Windows this is a standard installer file, just follow the on screen instructions for installation.

2. Eclipse
Install the Eclipse IDE for Java Developers from http://www.eclipse.org/downloads/. This a ZIP archive file, extract the folder “eclipse” for me I extracted eclipse
under C:eclipse . Most other flavors of Eclipse (like Aptana or platform specific builds) will also work, provided that you install all the necessary Eclipse plug-ins.

3. Android SDK
Install the Android SDK Package from here:
http://developer.android.com/sdk/index.html

Extract the downloaded archive and place it somewhere you’ll remember like C:sdkandroid-sdk-windows
and add the tools sub directory to your environment PATH. Additional information and instructions for adding the Android SDK to your PATH can be found at:
http://developer.android.com/sdk/installing.html

Be sure to do the following (WINDOWS):
Add android SDK to your Path
Add android sdk tools (android-sdk-windowstools) to your path. This is necessary
for ruby to find the command “android create project” later on.

4. ADT Plug-in for Eclipse
Install the ADT Plug-in for Eclipse as described here:
http://developer.android.com/sdk/eclipse-adt.html

5. Adding Android SDK components
Install at least the required Android SDK components using the Eclipse ADT plug-in, as described here:
http://developer.android.com/sdk/adding-components.html

You can also launch the ADT tool by running android in your terminal.

To verify your installation of Eclipse, Android SDK, ADT, and Java, you can build a sample “Hello World” application using the instructions located here:
http://developer.android.com/guide/tutorials/hello-world.html.

6. Apache ANT

Windows – download and unzip Apache ANT and add it to your PATH http://ant.apache.org/index.html.

7. Ruby

Windows – download and install Ruby from the official site http://www.ruby-lang.org/en/downloads/ or use the RubyInstaller (recommended) here http://rubyinstaller.org/

8. Installing PhoneGap
Now make sure you download the latest version of PhoneGap here:
http://github.com/phonegap/phonegap-android.

9. edit the droidgap ruby file

change target_id = 5 to target_id = 6 to target Android 2.0.1 if your phone is running 2.0.1

10. Build framework and sample application

C:Devmydroidphonegap-android>ruby ./droidgap c:/sdk/android-sdk-win
dows/ phonegap com.phonegap.droid.demo c:/Dev/mydroid/phonegap-android/example/ c:/dev/mydroid
/phonegap-android/phonegap/

11. Once the phonegap app has been generated launch eclipse

To load eclipse and be able to see the workspace location use the -showlocation parameter

c:eclipseeclipse -showlocation

12. Next is to import the generated project in eclipse, fix any compilation errors, include the phonegap jar in your project build path and finally edit AndroidManifest.xml otherway you are going to see few crashes when trying to access lower level java class

I replaced the < by { and > by }

{?xml version=”1.0″ encoding=”utf-8″?}
{manifest xmlns:android=”http://schemas.android.com/apk/res/android”
package=”com.tuniverse.droid”
android:versionCode=”1″
android:versionName=”1.0″}
{uses-permission android:name=”android.permission.INTERNET” /}
{uses-permission android:name=”android.permission.CAMERA” /}
{uses-permission android:name=”android.permission.VIBRATE” /}
{uses-permission android:name=”android.permission.ACCESS_GPS” /}
{uses-permission android:name=”android.permission.ACCESS_ASSISTED_GPS” /}
{uses-permission android:name=”android.permission.ACCESS_LOCATION” /}
{uses-permission android:name=”android.permission.ACCESS_COARSE_LOCATION” /}
{uses-permission android:name=”android.permission.ACCESS_FINE_LOCATION” /}
{uses-permission android:name=”android.permission.READ_PHONE_STATE” /}
{uses-permission android:name=”android.permission.RECEIVE_SMS” /}
{uses-permission android:name=”android.permission.RECORD_AUDIO” /}
{uses-permission android:name=”android.permission.MODIFY_AUDIO_SETTINGS” /}
{application android:icon=”@drawable/icon” android:label=”@string/app_name”}
{activity android:name=”.WebActivity”
android:label=”@string/app_name” android:configChanges=”orientation|keyboardHidden”}
{intent-filter}
{action android:name=”android.intent.action.MAIN” /}
{category android:name=”android.intent.category.LAUNCHER” /}
{/intent-filter}
{/activity}
{/application}
{/manifest}

13. When your app will build with no error, you can run the application
in the debugger or in the emulator.

To view the android log (emulator) open a shell (usually the same one than the one
used to lauch eclipse and run

abt logcat

If you want a nicer logcat output you can use some very cool python script to output the android log in color !!! Install python first from here

As you can see, the colored adb logcat is a huge improvement.

To easily use the code, copy the files color_console.py, coloredlogcat.py and logcat.bat to your Android SDK/Tools path like c:android-sdk-windows-1.5_r3toolslogcat.bat. Now, instead of running “adb logcat” just run “logcat”.

You can download the files here colored_logcat.zip (3 KB)
Thanks go to
Jeff Sharkey
André Burgaud

To install APK applications on your Android phone do the following:

Copy the APK file you want to install to your phone’s memory card and insert
the card into your Android phone.
Go to Android Market and search for the Apps Installer application.
Open it and click on the Install button.
After it is installed, just open it. It will show you all the APK files stored directly in the root directory of your memory card.
Just click on the application you want to install and it will be installed.

Using the Android SDK and USB driver

There is one more method that can be used, you can install APK files into your phone using the Android SDK. Download the Android SDK.

First of all, install the Android SDK on your computer. You will also need
to install the Android USB drivers to connect the SDK to your phone via USB. You can get instruction on how to install it from here

To install applications from other sources, you also need go to Settings -> Application Settings and enable Unknown Sources. Also go to Settings -> SD Card and Phone Storage -> Disable Use for USB Storage. You can enable it again later.

Next, just open Command Prompt and type: adb install path/file.apk

where path is the full path to the APK file and file is the name of the APK application file. Your application is now installed. This is all you need to do, now just open the application on your phone and use it.

Maps External Library – Google Projects for Android

Maps External Library – Google Projects for Android

Maps External Library

To make it easier for you to add powerful mapping capabilities to your application, the Google APIs add-on includes a Maps external library, com.google.android.maps. The classes of the Maps library offer built-in downloading, rendering, and caching of Maps tiles, as well as a variety of display options and controls.

The key class in the Maps library is MapView, a subclass of ViewGroup in the Android standard library. A MapView displays a map with data obtained from the Google Maps service. When the MapView has focus, it can capture keypresses and touch gestures to pan and zoom the map automatically, including handling network requests for additional maps tiles. It also provides all of the UI elements necessary for users to control the map. Your application can also use MapView class methods to control the MapView programmatically and draw a number of Overlay types on top of the map.

In general, the MapView class provides a wrapper around the Google Maps API that lets your application manipulate Google Maps data through class methods, and it lets you work with Maps data as you would other types of Views.

The Maps external library is not part of the standard Android library, so it may not be present on some compliant Android-powered devices. Similarly, the Maps external library is not included in the standard Android library provided in the SDK. The Google APIs add-on provides the Maps library to you so that you can develop, build, and run maps-based applications in the Android SDK, with full access to Google Maps data.

To use the classes of the Maps external library in your application, you need to:

The sections below provide more information.

Setting up a Maps Project

Once you’ve installed the Google APIs add-on, you can add Maps capabilities to any existing or new Android project. To give your application access to the Maps library, all you have to do is to set the project’s properties so that the build tools can locate the Maps library in the Google APIs add-on. The process for doing that depends on whether you are developing in Eclipse with the ADT Plugin or developing using Ant.

Here’s how to set the build target, if you are developing on Eclipse with ADT:

  • If you want to add Maps to an existing application, right-click the project in Package Explorer, choose Properties > Android and then select a build target from the list displayed. You must choose the “Google APIs” build target.
  • If you are creating a new Android project in Eclipse, the New Project Wizard will ask you to specify the build target for the application. You must choose the “Google APIs” build target.

If you are developing in Ant, you use the android tool included in the SDK to set the build target for your project:

  • For an existing project, use the command android list targets to list the build targets available in your SDK. Locate the “Google APIs” target and note its ID. Then use the command android update project --target --path path/to/your/project/ to set the project to use the Google APIs add-on target.
  • For an new project, list the build targets as decribed above and use the command android create project --target --path path/to/your/project/ to set the project to use the Google APIs target.

Note that multiple versions of the Google APIs add-on are available, each targeting a specific Android platform API Level. Select the version whose API Level is appropriate for your application, based on the application’s android:minSdkVersion attribute, declared in the application’s manifest file.

For more information about working with Android projects, see Developing on Eclipse with ADT or Developing in Other IDEs, depending on your environment, on the Android Developers site.

For more information about API Levels and how to use them, see Android API Levels and the documentation for the manifest element.

Setting up an AVD

After you’ve built your project, you need to be able to run, debug, profile, and test it. To run your Maps-based application in the Android Emulator, you need to set up an Android Virtual Device (AVD) that is configured to use the Google APIs add-on. To set up the AVD, use the Android AVD Manager.

Launch the AVD Manager by using the android command without any options. If you are developing in Eclipse/ADT, you can also access the tool from Window > Android SDK and AVD Manager.

  1. Click the “New” button to begin creating a new AVD.
  2. In the dialog that appears, specify a name for the AVD and select the system image target that you want the AVD to use. Select one of the “Google APIs (Google Inc.)” targets, making sure to choose a version whose API Level matches the android:minSdkVersion attribute in your application’s manifest, as described above.
  3. Configure the other options and then click “Create AVD”.

Once you’ve finished creating the AVD, you can run it from the AVD Manager UI or you can use the emulator’s command-line interface. If you are developing in Eclipse, you can configure a Run Configuration to start the AVD and install your application on it.

For more information about AVDs, see Android Virtual Devices on the Android Developers site.

If you have a physical device that runs the appropriate platform (as determined by its API Level) and includes the Maps external library, you can also run, debug, and test your application on the device, rather than in the emulator. For more information, see Developing on a Device.

Referencing the Maps Library from the Application’s Manifest File

To use the classes of the Maps external library in an application, you must reference the library from the application’s manifest file. Specifically, you must add a element as a child of the element, with an android:name attribute whose value is com.google.android.maps. Here’s an example:

   ...             ...      ... 

The reference is required, because it enables the build tools to link your application against the Maps external library. It also ensures that the Android system will not install your application on a device unless the required library is available.

Using the Maps Classes in Your Application

The Maps library provides a variety of classes that let you display and manipulate Google Maps data in your application. To get started, first take a look at what’s available in the com.google.android.maps package.

The key class in the library is MapView, a subclass of ViewGroup in the Android standard library. The MapView class displays maps data from the Google Maps service and handles all of the interaction with the service. It includes all of the UI elements necessary for the user to control the map and also provides methods that let your application manipulate the map, draw overlays, and so on.

To use Maps in your application, extend the MapActivity class and then create a layout that includes a MapView element. For a quick-start on how to set up a MapView, read the Hello, MapView tutorial on the Android Developers site.

If you’d like to look at sample code, the Google APIs add-on includes an example application called MapsDemo that you can load into your development environment and run. The application is located in the Google APIs directory:

/add-ons/google_apis-/samples/MapsDemo

Note that, before your MapView objects can display data from the Google Maps service, you need to register with the service and receive a Maps API Key, as described below.

Getting a Maps API Key

If you aren’t familiar with how Android applications are signed, please see Signing Your Applications on the Android Developers site.

MapView objects display Maps tiles downloaded from the Google Maps service. Before you can use Google Maps data, you must register with the Maps service, agreeing to the Terms of Service and supplying an MD5 fingerprint of the certificate(s) that you will use to sign your application. For each registered certificate fingerprint, the service provides you with a Maps API Key — an alphanumeric string that uniquely identifies you and your certificate. You then store your API Key in your MapView objects, so that when they request Maps data, the server can determine that you are registered with the service.

For full information about how to get and use a Maps API Key, see Obtaining a Maps API Key.

If you do not store a valid Maps API Key in your MapView elements, you can still compile and run your application, but your MapView elements won’t be able to display data from the Maps server. For this reason, you should register for an API Key as soon as possible, once you begin development. Registering is free and takes only a few minutes.

Keep in mind that each Maps API Key is uniquely associated with a specific signing certificate. That means that:

  • When you are getting started on developing, you can register using the debug certificate created by the SDK tools.
  • When you are ready to publish your application, you need to register again using the certificate with which you will sign your application for release. You must then update your MapView elements so that they reference the release API Key, rather than the debug Key, and then sign your application with your release certificate.

Signing Your Application with the Proper Certificate

If you have followed the steps in Obtaining a Maps API Key, the final step to enable the display of Maps data is to sign your application with the proper certificate. The certificate you use to sign your application must match the certificate that is associated with the API Key in your MapView objects. For example:

  • If your MapView objects reference an API Key that you obtained by registering the debug certificate, then you must sign your application with the debug certificate.
  • If you want to sign your application for release, your MapView objects must reference an API Key that you obtained by registering your release certificate.

The Maps service allows your MapView objects to download data only if they identify themselves with an API Key that is registered to the application’s signer certificate. For this reason, remember that you must update the Maps API Key referenced by your MapView objects whenever you change signing certificates.

Android Market application downloads surpass 1 billion

Today’s Top Stories
1. Android Market application downloads surpass 1 billion
2. Apple issues iOS 4.1 beta update to iPhone developers
3. NPD: iTunes users show keen interest in cloud music services
4. Shazam Encore expands to Android
5. Mobile retail startup shopkick grabs $15 million in Series B

Editor’s Corner: With the World Cup over, what’s next for mobile TV?

Also Noted: Spotlight On… ‘FarmVille’ harvests real-world partnerships
Flirtomatic wraps up $9 million Series C round; absence of mobile web conventions causing headaches for publishers; and much more…

Wireless in the second quarter of 2010: How did the wireless industry perform in the second quarter of 2010? Check here throughout the second quarter earnings report season for full earnings reports from the wireless industry’s carriers, handset makers, equipment suppliers and others. Special report

News From the Fierce Network:
1. YouTube’s 4K support gives indie filmmakers hope, ups ante in online video race
2. Northland Cable becomes Northland Communications; Malone heading for the border?
3. Fujitsu, Indiana University verify PDL could benefit 40, 100 Gbps deployments

Editor's Corner

With the World Cup over, what’s next for mobile TV?

By Jason Ankeny Comment | Forward | Twitter | Facebook | LinkedIn

Jason AnkenyThe 2010 FIFA World Cup is now history. The biggest winner is Spain, which captured its first-ever World Cup trophy–obvious losers include the Netherlands (suffering its third title match defeat in as many championship berths), Italy (the 2006 champ, sent packing after the opening round), quality officiating (a seemingly endless series of egregious referee errors likely will force FIFA to revamp its rulebook), and peace and quiet (even days later, the ceaseless beehive-like buzz of the vuvuzelas still haunts my every conscious moment). What’s not clear is the fate of U.S. soccer: Landon Donovan’s last-minute game-winning goal against Algeria will live forever among the transcendent moments in American sports history, but Team USA quickly squandered newfound fan interest in its heroics, losing to Ghana in its next match. The jury’s also still out on mobile TV, which reached new viewership peaks during the month-long tournament–now that the World Cup is over, however, it’s unknown if or how mobile broadcast solutions will continue to attract U.S. subscribers moving forward.

With the vast majority of World Cup play unfolding during weekday hours in the U.S., sports media giant ESPN made the decision to stream all 64 matches live across its ESPN Mobile TV channel, available via both the MobiTV and FLO TV broadcast platforms. The payoff was huge: ESPN’s mobile coverage reached 1 million unique viewers during the tournament and registered 93 million total minutes of viewing. Credit ESPN for prominently incorporating mobile television services into its extensive World Cup promotional efforts–the network’s advertising made it plain that handsets were an integral part of its wall-to-wall multi-screen coverage. ESPN’s related mobile offerings (like its mobile website, ESPN 2010 FIFA World Cup App and ESPN ScoreCenter App) also scored big, together accounting for 98 million visits, 520 million page views, 6.2 million highlight video views and more than 2.5 million application downloads.

MobiTV adds that over the 31 days of the tournament, it streamed 108,291,096 World Cup minutes on ESPN Mobile TV–that’s the biggest live event to date on the app, which presents more than 1200 live sporting events per year. The aforementioned USA/Algeria match posted the highest average minutes per user, while the Spain/Netherlands championship attracted more unique viewers than any other 2010 World Cup matchup. Days prior to the tournament final, FLO TV announced several new service viewership benchmarks of its own, noting that three World Cup matches (France/Mexico, Mexico/South Africa and USA/Slovenia) now rank among its all-time most-watched programs–in addition, average viewership time increased to a record-breaking 41 minutes during the Mexico/Uruguay tilt. Team USA’s run also translated to sharp audience growth: 73 percent of all FLO TV viewers between 2:00 pm and 5:00 pm EST on June 26 were tuned in to the U.S. loss to Ghana. In all, FLO TV’s total usage minutes grew 34 percent in June over May, with close to one in five subscribers tuning in for more than an hour each viewing day.

But with the World Cup over, some familiar questions return. Given that mobile TV is such an event-driven medium, what’s the next spectacle that will galvanize viewership to comparable levels, let alone to even greater heights? The next World Cup is four long years away. The 2012 Summer Olympics are 24 months in the future. The best bet is the National Football League, which returns in September: Beginning this season, the NFL’s new operator partner Verizon Wireless will introduce to mobile the NFL Network’s NFL RedZone channel, which supplies live look-ins of every touchdown and signature play from the Sunday afternoon games. Verizon also will simulcast NBC’s Sunday Night Football and the NFL Network’s own Thursday Night Football matchups, with the cable channel’s related football programming airing live 24/7/365. Still, the NFL is synonymous with Sundays and primetime–most World Cup 2010 matches aired when U.S. viewers were at work, or on the way there, creating the perfect scenario for mobile consumption. A similarly ideal context may not come around again. But at least for a few weeks, Americans’ resistance to soccer crumbled, and their resistance to mobile TV followed suit–the challenge now is building on that momentum before it slips away. -Jason

Read more about: MobiTV, Mobile TV, Metrics, FLO TV

Today’s Top News

1. Android Market application downloads surpass 1 billion

By Jason Ankeny Comment | Forward | Twitter | Facebook | LinkedIn

Less than two years after Google opened its Android Market application storefront, consumers have now downloaded more than one billion Android apps to their smartphones according to estimates from analytics provider AndroLib.com. Although Android Market still lags far behind Apple’s rival App Store, which now tops 5 billion iPhone and iPod touch app downloads, developer and consumer interest in Android is clearly on the upswing–AndroLib reports that Android Market now boasts about 92,000 applications, and is on pace to surpass the 100,000 benchmark by the end of this month. Android developers have already submitted over 10,720 new Market applications through the first 15 days of July, compared to 15,288 new Android apps in all of June. A recent survey issued by market analysis and strategic advisory firmVisionMobile states that close to 60 percent of all mobile developers created software on Android during the first half of 2010–more than any other rival platform, including iPhone.

Android now accounts for 13.0 percent of the U.S. smartphone market, according to data issued last week by market research firm comScore. Smartphone ownership in the U.S. surpassed 49.1 million at the end of May 2010, an 8.1 percent increase over the previous three-month period–although Research In Motion’s BlackBerry operating system remains the dominant smartphone platform in the U.S., representing 41.7 percent of the market, its market share dropped 0.4 percent during the period as Android increased 4.0 percent. Android was the sole platform to grow its market share during that time: Apple’s iPhone slipped 1.0 percent to 24.4 percent, Palm’s webOS fell 0.6 percent to 4.8 percent and Microsoft’s Windows Mobile dropped 1.9 percent to 13.2 percent. comScore notes that despite losing share to Android, most smartphone platforms continued to gain subscribers.

Earlier this week, Google introduced App Inventor for Android, a free software tool enabling users to create their own Android applications regardless of previous programming experience. Under development for a year and tested in environments including grade schools, high schools and nursing schools, App Inventor for Android does not rely on conventional coding language–instead, consumers visually design the application’s appearance, using blocks to specify its behavior. “The goal is to enable people to become creators, not just consumers, in this mobile world,” said App Inventor project leader Harold Abelson, a Massachusetts Institute of Technology computer scientist on sabbatical at Google, in an interview with The New York Times.

For more on the Android Market download benchmark:
– check out the AndroLib.com website

Related articles:
Google introduces do-it-yourself Android app tool
Google’s next Android update targets user interface revamp
Google unveils Android 2.2 in escalating war against Apple
Nielsen: Android users younger than iPhone peers
Google aggressively wooing iPhone developers to Android

Read more about: Metrics, Google, Android Market, Android


2. Apple issues iOS 4.1 beta update to iPhone developers

By Jason Ankeny Comment | Forward | Twitter | Facebook | LinkedIn

Apple has released its iOS 4.1 beta update to registered iPhone developers. Tweaks include more accurate calculation and depiction of the smartphone’s signal strength (based on a formula recommended to Apple by operator partner AT&T), a revamped Game Center application (Apple’s forthcoming matchmaking and leaderboard service for iPhone gaming), spellcheck disabling and the addition of favorites to the new FaceTime video calling feature. Apple evangelist Michael Jurewitz first tweetedconfirmation of the iOS 4.1 beta on Wednesday afternoon–the update is available for download via the iPhone Dev Center.

Multiple online reports indicate the iOS 4.1 update does not improve ongoing issues with the new iPhone 4’s antenna. Apple said it will hold a news conference Friday to address the problem–spokesman Steve Dowling declined to supply details of who will speak at the event, to be held at Apple’s Cupertino, Calif. headquarters.

For more on the iOS 4.1 beta:
– read this MacRumors.com article

Related articles:
Apple issues iOS 4 update to iPhone 3GS and iPod touch
Apple now accepting iOS 4 app submissions
iAd sales top $60 million in advance of iPhone 4’s debut
Ovum: iPhone OS still dominating app developer focus

Read more about: iPhone, iOS 4, Apple


3. NPD: iTunes users show keen interest in cloud music services

By Jason Ankeny Comment | Forward | Twitter | Facebook | LinkedIn

More than a quarter of Apple (NASDAQ:AAPL) iTunes, iPhone and iPod users express strong interest in free cloud-based music services, with many willing to pony up a subscription fee to access their music libraries via multiple devices and platforms, according to a new consumer survey conducted by market research firm NPD Group. Asked their reactions on different free and premium options offering combinations of music streaming, music downloads and universal web access to their iTunes library, between 7 million and 8 million U.S. consumers tell NPD they would have serious interest in one of the paid alternatives, indicating a willingness to spend a minimum monthly fee of $10. NPD research also notes that a model giving consumers free streaming access to iTunes would attract 13 million to 15 million subscribers.

NPD estimates that total iTunes users in the U.S. exceed 50 million. “If the consumers who indicated strong interest in a paid subscription actually adopted one of those services at $10 per month, the market opportunity is close to $1 billion in the first year, which is roughly two-thirds the revenue garnered by the current pay-per-download model,” said NPD vice president and senior entertainment analyst Russ Crupnick in a prepared statement. “We don’t yet know what, if any, effect these services might have on the traditional pay-per-download music model, or whether consumers will ultimately spend more on digital music overall, if or when any of these options eventually rolls out.”

Earlier this year, The Wall Street Journal reported Apple is planning to introduce a web-based version of iTunes sometime this year. People familiar with the project said the so-called iTunes.com would enable consumers to purchase music without going through the dedicated iTunes program on desktops and iPhones. In addition, Apple plans to populate other websites with “buy” buttons, integrating iTunes transactions into Internet radio and music review sites. Apple acquired digital music startup Lala in December 2009 for a rumored $85 million, only to shut down the streaming music service on May 31.

The iTunes multimedia storefront now accounts for 70 percent of all premium music downloads in the U.S. according to NPD Group data released in late May. iTunes’ growth is slowing, however–NPD notes its share of the digital download market has remained essentially flat since the first quarter of 2009, increasing just 1 percentage point since that time. Rival AmazonMP3 increased its market share by 4 percentage points, and now represents 12 percent of the U.S. digital music market. Sales of digital tracks and albums accounted for 40 percent of overall U.S. music market share in the first quarter of 2010, a gain of 5 percentage points since Q1 2009, NPD said. Adding physical music purchases to the equation, iTunes still leads with 28 percent of all U.S. sales, a 4 percent year-over-year leap.

For more on the NPD iTunes survey:
– read this release

Related articles:
iTunes
now 70 percent of digital sales, but Amazon growing
Apple
flips the killswitch on Lala music service
Apple’s iTunes surpasses 10 billion song downloads
Record iTunes sales ignite Apple profits

Read more about: Mobile Music, Metrics, iTunes, Apple


4. Shazam Encore expands to Android

By Jason Ankeny Comment | Forward | Twitter | Facebook | LinkedIn

Mobile music discovery provider Shazam Entertainment launched its premium Shazam Encore application across Google’s Android platform. Priced at $4.99 U.S. and available in all 13 countries where the Android Market app storefront supports billing, Shazam Encore identifies music from any source, regardless of ambient noise–after users hold their handset to the audio feed for a few seconds, the clip is run through the company’s database of millions of tracks to find an exact match. The Android edition offers unlimited tagging and recommendation–it also includes features like song lyrics, tour information and YouTube videos for tagged artists. In addition, Shazam users in the U.S. can directly access Pandora to listen to a station from their tags. Shazam Freemium for Android will still remain available; users who download this version will receive a seven-day premium trial, followed by the option to upgrade to Shazam Encore or receive five tags per month.

In mid-May, Shazam announced its subscriber base now tops 75 million–in addition, users have now identified more than 1 billion songs. The company’s global footprint now stretches across 200 countries, and it expects to cross the 100 million user milestone by the end of this year.

For more on Shazam Encore for Android:
– read this release

Related articles:
Shazam
tops 75 million users, 1 billion song IDs
Shazam
launches audio recognition ad program
iFund invests in music discovery app Shazam
Shazam tries on Dockers for multi-platform ad campaign

Read more about: Shazam, Mobile Music, Android



5. Mobile retail startup shopkick grabs $15 million in Series B

By Jason Ankeny Comment | Forward | Twitter | Facebook | LinkedIn

Mobile retail solutions provider shopkick announced the close of a $15 million Series B financing round, bringing its total funding to $20 million–Greylock Partners led the new investment, with additional participation from Kleiner Perkins Caufield & Byers, Citi Growth Ventures & Innovation Group and SV Angel. Founded in 2009 by former CBS Mobile head Cyriac Roeding, shopkick’s CauseWorld application enables users to earn actual money by visiting retailers and restaurants, then donate the proceeds to charity on behalf of sponsors–more than 550,000 iPhone and Android owners have downloaded the app since it rolled out late last year, and with the aid of partners including Citi, Kraft Foods and Procter & Gamble, CauseWorld users have provided 300,000 meals to people in the U.S., donated $100,000 to Haitian earthquake victims, planted 80,000 trees, given 30,000 books to children and offset 4 million pounds of carbon.

shopkick plans to introduce a new mobile retail app later this summer. The firm said the new funding will enhance its location-based shopping capabilities and accelerate partnership development.