Develop for Android

Important

This article describes functionality and guidance that is in public preview and may be substantially modified before it's generally available. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Surface Duo is a new dual-screen device that fits in your pocket. With two screens connected by a revolutionary 360° hinge, Surface Duo brings together the best of Microsoft and Android to re-imagine productivity on the go. Your Android and Xamarin Android apps will just work on the Surface Duo, but you can take a few steps to make them work better, and take advantage of the dual-screen nature of the Surface Duo to provide unique experiences for your users.

For more info, see Introducing Surface Duo.

Surface Duo SDK

Use the Surface Duo Software Development Kit (SDK) Preview to make your Android apps great for dual-screens. The SDK includes a Surface Duo emulator that you can use to develop and test your apps. It also includes APIs that let you enhance your app to take advantage of unique features of the device.

Follow these steps to develop your app for the Surface Duo:

  1. Read about the dual-screen app patterns to learn how you can optimize your app for dual-screen devices.

  2. Get the Surface Duo SDK and emulator.

  3. Bring your app to the Surface Duo

    • Use the emulator to test your app. It just works as a single-screen app.
    • Make incremental changes. Your app works better, side-by-side on two screens, or spanned across two screens.
    • Embrace new features. Enhance your app to provide unique experiences based on device postures and layout.

Additional resources

Get the latest news and updates from the Surface Duo Blog.

Android resources:

In Introduction to dual-screen devices, we outline several ways you can use existing features and techniques to make your app better on dual-screen devices. Use this existing documentation to learn more about implementing these features in Android apps.

Feature For more info, see... (developer.android.com)
Responsive app layouts Handle configuration changes
Make your app resizable
Build a Responsive UI with ConstraintLayout
Support a variety of inputs Touch and input overview
Drag-and-drop Drag and drop
Picture-in-picture for media Picture-in-picture support