What Is New in Android 2.0
Android 2.0 Eclair was a major update that introduced significant new APIs and user-facing features. It laid the groundwork for modern Android development with improved accounts integration, a new browser, and enhanced graphics capabilities.
| Category | Key Changes |
|---|---|
| New Features | Sync Adapters, Bluetooth API 2.0, Multi-touch, New Browser, Live Wallpapers |
| Framework & API | Account Manager, Quick Contact, SearchManager, Camera Features |
| User Experience | Revamped UI, Virtual Keyboard, Contact & Messaging Updates |
How did Android 2.0 improve account synchronization?
The core improvement was the introduction of the Account Manager and sync adapter framework. This provided a standardized, secure way for apps to authenticate users and synchronize data with cloud services in the background.
Before this, every app had to roll its own login and sync logic. The new framework handles the heavy lifting of managing accounts, auth tokens, and scheduling sync operations. In practice, this meant users could add an account once and have their data seamlessly sync across the system.
What new UI capabilities did developers get?
Eclair brought major UI upgrades, most notably official multi-touch support and Live Wallpapers. The multi-touch API finally gave developers a standardized way to handle pinch-to-zoom and other complex gestures, which was a big deal for maps and web browsers.
Live Wallpapers let us create interactive, animated backgrounds. This opened up a new category of apps. The Quick Contact bar was another slick UI addition, providing a consistent way for users to quickly interact with contacts from any app.
Were there any browser and webview enhancements?
Yes, the browser got a massive overhaul. It featured a new UI with address bar and search box unification, support for double-tap zoom, and HTML5 capabilities. The updated WebKit engine brought much better performance and started closing the gap with desktop browsers.
For developers, this meant we could rely on better HTML5 support and a more modern JavaScript engine when building web apps or hybrid content. The double-tap zoom behavior in particular required us to think more about viewport and responsive design for mobile.
What about Bluetooth and hardware access?
Bluetooth got a major API bump to version 2.0 with support for more profiles. The key addition was Object Push Profile (OPP) for sending files like contacts and images between devices. This was a welcome update for apps dealing with media sharing.
The camera API also expanded with new features like flash support, digital zoom, scene mode, and white balance controls. For the first time, we had fine-grained control over camera behavior beyond just taking a simple picture.
FAQ
How do I implement a sync adapter for my app?
You need to create a service that extends
AbstractThreadedSyncAdapter and declare it in your AndroidManifest.xml with the appropriate permissions and
intent filter for android.content.SyncAdapter. The framework handles the scheduling and execution.
Is multi-touch support backward compatible with older devices?
No, the multi-touch APIs are
only available on Android 2.0 (API level 5) and higher. You need to check the build version at runtime and
provide fallback interaction for devices running Android 1.6 or earlier.
What's the best way to handle the new virtual keyboard?
The updated keyboard changes how text
input works. Use the new input method framework interfaces like InputMethodManager to control soft input
visibility and respond to state changes more reliably.
Can I use the new Bluetooth API to connect to headsets?
The Bluetooth API 2.0 added OPP but
headset profile support was still limited. For audio applications, you often needed to work with the existing
audio routing APIs rather than direct Bluetooth headset control.
How do Live Wallpapers affect performance?
Live Wallpapers run as a service and can impact
battery life if not optimized properly. Use surface holders efficiently, minimize rendering operations, and
pause animations when the wallpaper isn't visible.