/androidguide

Guide to getting started with Android for engineers & designers

Introduction

Prismatic just released our first native Android app! Download it here.

This is the internal guide I wrote to motivate some early Android decisions and educate everyone on the platform. This guide is intended for anyone from a new android engineer who just wants to write code as fast as possible, to designers who are interested in committing style changes or assets to the android repo.

Let me know if you have any feedback or additions! nick@eyesturnedskywards.com

Summary

  • Get your computer & environment set up to commit code! This covers git, Android Studio and Genymotion setup: guide
  • We've chosen to support all devices Android 4.0.3 (API 15) and above - details
  • We prefer stock and widely supported libraries over 'rolling our own' whenever possible - details
  • We are creative and take advantage of the unique attributes of Android and new ideas we want to implement. - details
  • All designs are relative and focus on fragment reuse - details
  • We'll use the play store to beta test with real users as early as possible. - how
  • Android libraries: These are all the libraries we use in the app today: libraries
  • App State: - Detailed post on how we manage client app state: post
  • Using Gradle - Here are some customizations we made to our gradle settings: build.gradle
  • Design resources: fonts, colors, icons, stencils for sketch and photoshop. A guide to how we added animations to the app: resources
  • Material Design: A guide for both existing and new apps interested in adopting material design elements: guide
  • General education and other android resources: education
  • Play Store: scripts to automate publishing new builds to the Play Store: from your computer, jenkins
  • Intents: a handy app to debug how your app handles intents: play store
  • dp & sp: remember to always use density independent pixels (dp) with all measurements and scale-independent pixels (sp) with fonts. dp is your friend but will still require specific testing, and there are tools for when you want to generate assets at multiple densities - details
  • generating assets: assets needs to be generated in multiple sizes for the different screen density buckets. there are tools for doing it automatically from sketch & photoshop - details
  • user facing strings: they should all be in one file for easy editing and translation - details
  • start & end vs left & right: in xml, those two are the same thing(s) and should always have the same measurements. They are specifically there to support right to left languages - details

Acknowledgements

Thank you to Mohammad Almalkawi, Saud Khan, Ade Oshineye, Paul Matthews, Ben Manes, and our very astute beta tests and the many authors of these libraries!

Let me know if you have any feedback or tips on email or Twitter. More Prismatic open source available here.


Wiki home | Android app | Prismatic Github | Prismatic | My email | My Twitter