How to become an Android developer

  • View
    120

  • Download
    2

Embed Size (px)

Text of How to become an Android developer

  • We're an independent design & development agency.

  • How to become an Android developer

    IVAN KOCAN

  • CONTENT

    Tools

    What to learn

    Code structure

    Web server communication

    Google API

    Design

    Git

    Terminal

    Collaboration

    Resources

  • TOOLS

  • ANDROID STUDIO

    Official Android IDE

    Eclipse is dead

    Uses gradle build system

    http://developer.android.com/tools/studio/index.htmlhttps://infinum.co/the-capsized-eight/articles/eclipse-is-dead-for-android-development-and-i-helped-kill-it

  • GRADLE BUILD SYSTEM

    Project automation tool

    Uses groovy for project configuration

    Gradle for Android and Java - Udacity

    https://gradle.org/http://www.groovy-lang.org/https://www.udacity.com/course/viewer#!/c-ud867/l-4328489198/m-4329862578

  • GENYMOTION

    Dont use default Android emulator

    Use Genymotion

    https://infinum.co/the-capsized-eight/articles/is-your-android-emulator-just-too-slowhttps://www.genymotion.com/#!/

  • WHAT TO LEARN WHEN STARTING?

  • ListViews

    Most commonly used view

    component

    RecyclerView

    https://developer.android.com/training/material/lists-cards.html

  • DATABASE

    Dont use built in database

    Use dbFlow

    Checkout Android talks #9 for more info

    https://github.com/Raizlabs/DBFlowhttps://www.youtube.com/watch?v=DVgumbi7Tbk

  • IMAGE LOADING

    No one likes out of memory exception

    Glide

    Universal Image Loader

    https://github.com/bumptech/glidehttps://github.com/nostra13/Android-Universal-Image-Loader

  • FRAGMENTS

    Very powerful

    Very useful

    Very confusing

  • LEARN HOW TO READ CODE

  • CODE STRUCTURE

  • MVP

  • MVP RESOURCES

    Antonio Leiva - Blog post

    Ivan Kut - Github example

    http://antonioleiva.com/mvp-android/https://github.com/ikust/hello-mvp

  • MVVM

  • WEB SERVER COMMUNICATION

  • Dont use standard java

    networking

    Use retrofit

    API CALLS

    http://square.github.io/retrofit/

  • JAVA NETWORKING

  • RETROFIT

  • JSON

    Data interchange format

    JSON lint

    GSON

    http://json.org/http://jsonlint.com/https://github.com/google/gson

  • XML

    Markup language

    Simple XML framework

    http://simple.sourceforge.net/

  • GOOGLE API

  • GOOGLE DEVELOPER CONSOLE

    Google APIs Console

    Cloud Messaging for Android

    Google Maps

    Youtube API

    https://console.developers.google.com

  • DESIGN

  • MATERIAL DESIGN

  • MATERIAL PALETTE

  • ANIMATIONS

  • MATERIAL DESIGN RESOURCES

    Official webpage

    Material palette

    Material up

    Material Design for Android Developers - Udacity

    http://www.google.com/design/spec/material-design/introduction.html#http://www.materialpalette.com/https://www.materialup.com/https://www.udacity.com/course/material-design-for-android-developers--ud862

  • GIT

  • GIT

    Very powerful versioning tool

    Helps you handle both large and small projects

    https://git-scm.com/book/en/v2/Getting-Started-Git-Basics

  • WEB BASED GIT REPOSITORIES

    Github

    Bitbucket

    https://github.com/https://bitbucket.org/

  • TERMINAL

  • TERMINAL

    Windows - CMD or Powershell

    Linux - Default terminal

    Mac - Default Terminal or iTerm

    Command line crash course

    https://www.iterm2.com/http://www.vikingcodeschool.com/web-development-basics/a-command-line-crash-course

  • COLLABORATION

  • GOOGLE DOCS & DRIVE

    Great tools for collaboration

    Keep all project documents in one place

    https://www.google.com/docs/about/

  • TASK MANAGMENT

    Trello

    Productive

    https://trello.com/https://productive.io/home

  • RESOURCES

  • WEB

    Android weekly

    Android developers blog

    Vogella

    Jake Wharton

    Chris Banes

    Android talks

    http://androidweekly.net/http://android-developers.blogspot.com/http://www.vogella.com/tutorials/Android/article.htmlhttp://jakewharton.com/https://chris.banes.me/https://infinum.co/our-stuff/android-talks

  • QUESTIONS?

  • Thank you!

    @TWITTER IKOCAN @EMAIL IVAN.KOCAN@INFINUM.HR

    www.infinum.co

    http://www.infinum.co