|
|
||||||||||||||||||||
|
|
||||||||||||||||||||
|
HTC Hero
Learn More or go to http://sprint.com/hero
Samsung Moment
Learn More or go to http://sprint.com/moment Getting Started with Android Application Development
Get the Tools Tutorials Android Discussion and Support
Sprint Developer Sandbox
The Sprint Developer Sandbox provides developers with free access to network services. Core capabilities, such as location, messaging and geo-fencing, are accessible over the HTTP protocol using a RESTful API. The location API utilizes network triangulation to determine the device location, even if there is a weak or no GPS available. GPS is not a requirement of the location service, just the user's permission. With the Sandbox APIs, new creative application mashups can be created third-party APIs such as Twitter, Facebook or OpenSocial. See "Sprint Services" at Sprint Developer Sandbox for API Specifications.
Prerequisites The Sandbox is a lightweight API. Any programming languages that is able to send and receive messages over HTTP is able to use the Sandbox APIs. The handset must be a CDMA phone to use the services. GPS is not required on the handset to use the location service.
Getting Started
Hello, world, I am here! Here is pseudo-code of a function call to the location service using Apache HttpComponents, which is included in Android SDK.
public class getLocation(String mdn, String apiKey){ HttpHost target=new HttpHost("sprintdevelopersandbox.com",80,"http"); HttpEntity entity = null; HttpClient client = new DefaultHttpClient(); String urlString = "/devSandbox/resources/location?key="+apiKey+"&mdn="+mdn; HttpGet get = new HttpGet(urlString); HttpResponse response = client.execute(target, get); entity = response.getEntity(); } Download Android Sandbox Sample App & Complete Source Code
See "Sprint Services" at Sprint Developer Sandbox for API Specifications.
Sandbox Discussion and Support You can discuss the Sprint Developer Sandbox and report issues at the Sprint Developer Forums. Develop
Developer Mode Enablement & Developer Code Signing
Unlike our Java ME devices, there is nothing specific you need to do for Android devices. You just need to make sure you enable the setting to download non-market applications.
Test
To be able to install your application to the device during development and testing phase (when it is not uploaded into Android Marketplace), you will be required to enable the setting to download non-market applications. You can go to this option fromthe home screen menu-> settings -> applications
Emulator Within the Android SDK is the Android emulator, the emulator functions as a means to test your application in a sandboxed environment. This emulator allows you to control of your virtual devices hardware profile: sdcard size, android target version, even the skin of the device is in the developers control.
Verify that your avd was successfully created:
Accessing this emulator device can be done by running the emulator command:
However this is not to say that the emulator is not without its own limitations. For example while you can simulate a phone call to the device, you cannot actual receive a real call. Also since the phone is virtual it lacks the ability to detect changes in hardware state, including but not limited to:
Sprint Virtual Developer Lab If you need access to hardware for testing purposes you can use Sprint Virtual Developer Lab.
On the Device There are two ways to access load your application, cable loading your application or OTA download. Eclipse will, if adb recognizes that a device is attached, launch your application to your phone when you click run (if not it will launch a dialog asking you to select an AVD image to load). However if your not using eclipse you can cable load your application from command line by typing:
adb install <your apk here>.apk
OTA (over the air) downloading of your applications can be done in two ways. You can either go through the process of signing and publishing your application to the android market, which is described here. Or you can use our Sprint CDMA Content Uploader ( OTA download utility). This utility temporarily hosts your application on one of our servers, its not a Sprint market place. Then it will send a text message to the device you wish to load your application on containing the link to that application. Click the link, download your apk.
Release
To publish your applications, register as an Android Market developer and get started with publishing, visit the Android Market:http://market.android.com/publish Browser Specifications
Android 1.5 Browser Specifications
Flash support on the HTC Hero HTC is awesome enough to ship the HTC Hero with support for Adobe Flash Platform technology. This opens an incredibly large segment of online videos, games and other rich Web content to the mobile device. The product that enables Flash on the HTC Hero is Adobe Flash Lite 3.1. This technology could be used as a web browser plug-in, a runtime engine for graphics or a runtime for standalone content. Flash Lite 3.1 is able to support most content designed for Flash Player 9 or earlier. Content created with ActionScript 2.0 is also playable with Flash Lite 3.1. However ActionScript 3.0 is unsupported by Flash Lite 3.1 at this time. For more details and specifications on Flash Lite 3.1 and for building Flash Lite 3.1 compatible websites, download the "Adobe Flash Lite 3.1 web browsability" PDF from Adobe here.
Access to Sprint Sandbox APIs With the Android being on the Sprint Now Network, additional networking services are available to take advantage of in your web application. Continuous location services is achievable through the Location API, all without draining the device batteries. Send SMS alerts for free with the Messaging service. Create Geofences around town to send custom alerts and warnings. All the APIs are designed as RESTful APIs, so your web application start utilizing the services immediately. Visit the Sprint Developer Sandbox for API references and account creation.
Google Gears Built-In Google Gears is a browser plugin that adds new features to the browser, new features enables more advanced web applications. On the Desktop web, Google Gears is an optional user-installed plugin. Since Google Gears is available on all Android phones, a unique breed of web applications can be developed specifically for the Android. There are three Google Gears modules that are worth your time exploring: Database, Geolocation and the LocalServer modules. The Database module provides a browser-local relational data storage that is specific to that particular browser. The database is accessible through JavaScript using SQL syntax supported by SQLite and a few modified SQL commands. Gears also includes a SQLite extension for full text search called fts2.
Obtaining the device's geographical location is not only limited to native applications; the Geolocation module enables web applications to access to the same location sources, such as the onboard GPS or server-based providers. Web applications are able acquire the user's location in a numbers of methods from obtaining to their current position, their last known position or to watch how their position changes over time. Interesting location-aware mobile application can certainly be built with the Geolocation module.
The most exciting Google Gears module of all, hands down, is the LocalServer module. By the very nature of mobile devices, the connection to the network is unreliable due to mobility and environment obstacles. The LocalServer module is incredible in that module is able to capture web application assets into a local cache. In the event a network connection is unavailable, the local cache is utilized thus allowing uninterrupted usage. Pair the LocalServer module and the Database module, web application can become an offline mobile application.
By bundling Google Gears in the Android browser, the Android is a great platform for advanced mobile web applications. Utilizing the Database and LocalServer modules, web applications can exists online as well as offline. Not only could web applications function offline with Google Gears, web applications can be location aware thanks to APIs provided by the Geolocation module.
For Google Gears references and demos, visit the Developer site. Cool Stuff
Featured apps
Want to see your App featured here? Please send your request to us.
Android Developer Tools
Android Native Development Kit, (NDK) http://developer.android.com/sdk/ndk/1.5_r1/index.html The Android NDK is a supplemental tool to the Android SDK that allows Android application developers to build portion of the apps in native code, such as C and C++. In certain classes of application, writing application code in native code could increase performance. The Android NDK includes a set of cross-tool chains to create native ARM binaries, a set of stable headers and a build environment.
Android Scripting Environment, (ASE) http://code.google.com/p/android-scripting/ The Android Scripting Environment (ASE) brings scripting languages to the Android. With ASE, scripting languages such as Python, Perl and JRuby are able to access many APIs available to normal Android applications. In addition, ASE allows you to edit, execute and interact with interpreters directly on the Android device.
Android Middleware Developer Tools
Appcelerator Titanium Mobile http://www.appcelerator.com/products/titanium-mobile/ Using only Javascript, HTML and CSS, Titanium allow web developers to create native Android applications. With Titanium, you get native access to device features such as geo-location and sensor controls. Sign up for their beta product now.
Netmite J2ME Runner http://www.netmite.com/android/ Netmite J2ME Runner ports existing J2ME or MIDP apps over to Android. With this tool, Developers can enter the Android Market quicker and with minimum code changes to their existing applications by converting existing j2mes into apk & upload to Android Market.
PhoneGap http://phonegap.com/ PhoneGap is an open source development tool for building mobile apps with HTML, CSS and Javascript. PhoneGap enables native services such as geo-location and sensors to the web with open standards. The entire library is open source.
Rhomobile http://www.rhomobile.com/products/rhodes Rhodes is an open source framework for building native mobile applications for all smartphone OS in Ruby. The applications are true native device applications, which means all the native services are all accessible through Rhodes.
ZXing http://code.google.com/p/zxing/ ZXing is an open-source, multi-format 1D/2D barcode imaging processing library. The focus of the project is to use the built-in camera on mobile phones to photograph and decode the barcode on the device, not on the server.
Locale http://www.twofortyfouram.com/ A dynamic settings manager for Android. Silence your ringer based on Location. With Locale, situations are created by specifying conditions for when the phone's settings should change. Thanks to the plug-ins from the Locale Developers Platform, Locale can practically do anything.
Applications
Layar, Augment Reality Browser http://layar.com/ Layar is a free application on your mobile phone which shows what is around you by displaying real time digital information on top of reality through the camera of your mobile phone.
Blogs, Communities, Links
FAQs
Q1: What version of Android is the HTC Hero/Samsung Moment utilizing ? Android V1.5. Any application created utilizing standard Android features of early OS releases should be supported on the HTC Hero. The SDK can be downloaded from http://developer.android.com/sdk/1.5_r3/index.html
Q2: Is there any type of code signing required or does Sprint restrict any of the Android APIs ? Sprint does not require any special code signing nor restrict any of the Android APIs. Developers need to follow the standard Android developer procedure for signing their application outlined here http://developer.android.com/guide/publishing/app-signing.html
Q3: What type of Location Based Services is supported on this and do I need any special privileges to utilize them? Answer part 1- Sprint's Android devices support the default Android LBS platform configurations/features and are available to all developers to utilize as outlined in http://developer.android.com/reference/android/location/LocationManager.html Answer part 2: Sprint also makes available network based LBS service calls that provide network triangulated fixes (so supports indoor and outdoor lat/long request) through its developer sandbox ('ex: where are my employees / friends on the Sprint network ?) The use of these services are stated in the Sprint Developer Sandbox T&Cs.
Q4: How do I get an Android Application installed on my Sprint devices ?
Q5: I am utilizing some specific features for Sprint in my application and need to know how to vary my app to take advantage of this
Q6: How can I utilize the Sprint Developer Network and Product Services from the Sprint Developer Sandbox on my Android device ? Answer: The Sprint Developer Sandbox services are built to be platform and interface agnostic through their lightweight http interface so they can be utilized in many different options:
Q7: How do I sell my android application Answer: Developers can make their application available through the Google Android Marketplace, http://www.android.com/market/. Sprint does not offer a Sprint managed Android storefront.
Q8: How do I test my Android application if I don't have an Android device? Answer Part 1: Deploy in the emulator of the Android SDK 1.5 http://developer.android.com/guide/developing/device.html Answer Part 2: To test on a real device, you can sign up for an account in the Sprint Virtual Developer Lab, http://developer.sprint.com/site/global/develop/application_testing/application_testing.jsp
Q9: I would like to get my Android application officially certified by Sprint, how is this possible ? Answer: Developers can apply to join the Sprint Professional Developer Program, and one of the benefits is Sprint will officially certify your Android application. |
||||||||||||||||||||


