Although, various Android features work as is on My Cloud Home, there are few differences between a regular Android app and an On-Device app. Refer the following table to understand them before building your application.
|Regular Android App||On-Device App|
|A regular Android app has UI features.||My Cloud Home device is a headless Android system without any display interface. For this reason, a regular Android app cannot work directly on My Cloud Home.
To address this limitation, the My Cloud Home Device SDK provides an alternative UI rendering mechanism. You can build UI using standard web technologies and embed it into the application. Users can access this web interface using standard browsers or the embedded WebView. Refer Interacting with Users for more information.
|A regular Android app is designed to have a responsive UI.||The on-device app should have a minimal user interface as the UI is meant only for configuring the application. The app configuration runs in the background on My Cloud Home.|
|In a regular Android app, the backend service methods (such as Activity.runOnUiThread() or Handler) updates the UI.||In the on-device app, as the UI is built using standard web technologies and rendered on the browser, the backend service cannot update the UI. The web interface has to make a quick polling mechanism to get the latest information from background service to perform UI updates.|
|In a regular Android app, the mobile/tablet is tied to a single user account, and all the files are accessible to that particular user.||My Cloud Home device is a multi-user device. Each user has an individual space that only he/she has access to on the device.
The on-device application should be able to handle this multi-user scenario. Refer Working with Multiple Users for more information.
|A regular Android app and other mobile app is designed to keep users engaged and ensure repeat usage.||The on-device app should follow the "fire and forget" method and have minimal user interface and updates. Once configured successfully, the app should run reliably in the background.|
|A regular Android app's entry point is an 'Activity' with an intent-filter android:name= “android.intent.
|My Cloud Home app is dependent on 'Services' rather than 'Activities'. The application's entry point is 'StartupService' with an intent-filter android:name="START".|
|A regular Android app is built with network unavailability in mind, which means the mobile/tablet can go out of network many times in a day.||My Cloud Home apps are running on an Android device that is connected to an Ethernet cable. You may not need to spend too much time on handling network unavailability and interruptions.|
|A regular Android app is built to deal with Android fragmentation, which means the app could be running on many different flavors of Android.||For the on-device app, you will be targeting only one platform.|
Android Features Not Available on My Cloud Home Platform
The following table provides information on the Android features that are not available on the My Cloud Home platform.