Skip to content
Santhosh Vaiyapuri edited this page May 17, 2016 · 2 revisions

Requirements

Core

  • App validates all input from servers and users. If data does not exist or is in the wrong format, the app logs this fact and does not crash.

App includes support for accessibility. That includes content descriptions, navigation using a D-pad, and, if applicable, non-audio versions of audio cues.

  • App keeps all strings in a strings.xml file

enables RTL layout switching on all layouts.

App provides a widget to provide relevant information to the user on the home screen.

Google play services

Google Admob is used

Google analytics is used

Material Design

  • App theme extends AppCompat.
  • App uses an app bar and associated toolbars.

App uses standard and simple transitions between activities.

Building

  • App builds from a clean repository checkout with no additional configuration.

App builds and deploys using the installRelease Gradle task.

App is equipped with a signing configuration, and the keystore and passwords are included in the repository. Keystore is referred to by a relative path.

Data

  • App implements a ContentProvider to access locally stored data.
  • If it needs to pull or send data to/from a web service or API only once, or on a per request basis (such as a search application), app uses an IntentService to do so.
  • App uses a Loader to move its data to its views.

Further Improvements

  • App uses shared element transitions.
  • App makes use of parallax scrolling when more two or more items must scroll in the same activity.
  • Uses ShareActionProvider to share content with an outside application.
  • Makes use of Intent Extras to send rich content (i.e. a paragraph of content-specific text, a link and description, an image, etc).
Clone this wiki locally