+ All Categories
Home > Technology > Beginner android

Beginner android

Date post: 06-Apr-2017
Category:
Upload: smriti-das
View: 24 times
Download: 0 times
Share this document with a friend
40
What I learned, learning Android Smriti Das Toronto Android Developers March 27 th 2017
Transcript
Page 1: Beginner android

What I learned, learning Android

Smriti DasToronto Android DevelopersMarch 27th 2017

Page 2: Beginner android

Presentation Outline• How’d I get here?• Udacity Android Basics• The other MOOC’s• Final thoughts, tips and tricks

Page 3: Beginner android

Who am I?• Grad school for climate change• Tonnes of data to crunch: R • How to program: Python• Neither really made any sense…

Page 4: Beginner android

Hacker Rank• 30 day learn to

code challenge• Java

Page 5: Beginner android

• Verbose, many moving parts but it struck a chord

Page 6: Beginner android

Maybe I should learn Android???

Page 7: Beginner android

LMGTFY• Holy learning resources Batman! • After investigating I noticed two things (1)

quality control (2) communication • Decided to stick to the MOOCs• At present, not much in person training in

Toronto

Page 8: Beginner android

Presentation Outline• How’d I get here?• Udacity Android Basics• The other MOOC’s• Final thoughts, tips and tricks

Page 9: Beginner android

Udacity

Launched June 2016

Page 10: Beginner android

How does it work?• $200 USD per month or free to audit*• Paying includes assignment feedback,

access to discussion forum and additional projects

• Assumes no prior background in programming (Computer Science, Java, SQL)

• Comprised of five modules that you take sequentially

Page 11: Beginner android

Five modules1. UI Design

2. User Input

3. Multi-Screen Apps

4. Networking

5. Data Storage

Page 12: Beginner android

UI Design• All courses are designed with a toy app

(build with them) and a project app (build on your own)

• This module is heavy on XML (viewgroups, linear vs relative layout)

• Introduce Android Studio, emulator/phone, official documentation

• Culiminates: one screen Birthday Card app

Page 13: Beginner android

User Input • How to make an

app interactive using Java

• Build a coffee ordering app/scoring app

• Introduce OOP, debugging and logging

Page 14: Beginner android

Multi-Screen Apps• Toy app: a translation app for the Miwok

language• Project app: tour guide• Introduce the Android Manifest, intents,

event listeners, view recycling and the activity lifecycle

• Optional lesson on fragments

Page 15: Beginner android

Networking

• Toy app: Quake report. Project app: News app

• JSON, Networking, Android System Architecture, Threads

Page 16: Beginner android

Data Storage

• Toy app: Pet Storage app. Project app: Inventory app

• SQLite, Databases & Content Providers

Page 17: Beginner android

Udacity: The Good

• Practice what they preach• Personal touch (welcoming, friendly,

upbeat)• Vignettes with Android Devs from Google

Page 18: Beginner android

Udacity: The Good

• Practical solutions for when you get stuck• Github!

Page 19: Beginner android

Udacity: The Bad

• Problem: not enough Java or Computer Science to continue with Developer Nanodegree

• Solution: take a proper course on both

Page 20: Beginner android

Udacity: The Bad

• Problem: bit packed in places • Solution: watch video multiple times

Page 21: Beginner android

Udacity: The Bad

• Problem: doesn’t cover everything* • Solution: augment with textbooks by doing

their projects (1) new concepts (2) explain confusing topics

Page 22: Beginner android

Question #1

Question: Will this allow me to make highly polished apps?

No. Udacity recommends going through the second set; Android Developer Nanodegree.

Page 23: Beginner android

Question #2

Question: I know Java/Development already, would I benefit taking the basics course?

Depends on time and your level of comfort.

Page 24: Beginner android

Presentation Outline• How’d I get here?• Udacity Android Basics• The other MOOC’s (most to least favourite)• Final thoughts, tips and tricks

Page 25: Beginner android

Coursera• Recently offered by Vanderbilt University• Free to audit, have to pay to access

discussion forum etc. • Covers fewer topics, however, does a

better job• Better job explaining unit test, Android

activity lifecycle, Android system architecture…

Page 26: Beginner android

Treehouse

• $25 USD per month• Similar set-up to

Udacity• Solutions were

unavailable

Page 27: Beginner android

Lynda

• Free through the Toronto Public Library• Recently have been updating their

offerings• Short to the point videos

Page 28: Beginner android

Udemy• Quality varies substantially (as does the

cost)• Rob Percival• Much of it out of date• Confusing code for a beginner• Other instructors might be worth

investigating?

Page 29: Beginner android

To be continued…

• Pluralsight• caster.io • other newer offerings

Page 30: Beginner android

Presentation Outline• How’d I get here?• Udacity Android Basics• The other MOOC’s• Final thoughts, tips and tricks

Page 31: Beginner android

Patience

• With learning concepts, debugging, Gradle etc.

• With yourself!

Page 32: Beginner android

Confidence is key

Page 33: Beginner android

Android can be hard

• Remember why you sat down to learn the skill in the first place!

Page 34: Beginner android

Ask questions

• A bit shy at first• One strategy for asking questions… • Reddit AndroidDev, LearnProgramming etc.

Page 35: Beginner android

Join the tribe

• By attending meet-ups like this one!• Learn more on your own with Google IO,

conferences, newsletters, podcasts etc.

Page 36: Beginner android

Tips from a Sr Dev #1

Android is not a platform where Google's framework is sufficient. Building an entire app using only the libraries provided by Google will make your life very difficult. Learn all the fundamentals, but also figure out which libraries are popular, since they'll probably be useful to you.

Page 37: Beginner android

Tips from a Sr Dev #2

If you want to learn a lot very quickly, build a side project and publish it to Google Play. Make it easy for your users to give you direct feedback by email. It’s the best way to figure out how your app does on different devices, in different languages, in different environments.

Lots of apps perform well on the latest devices running on WIFI, but are unbearable on a 3G connection on a 3 year old phone.

Page 38: Beginner android

Tips from a Sr Dev # 3

Include crash reporting in your apps, like Crashalytics or HockeyApp. Seeing where your app fails is the best way to get direct feedback on your code, and to quickly fix bugs.

Page 39: Beginner android

–David J. Malan

“Definitely difficult. Definitely doable.”

Page 40: Beginner android

Get in touch

Twitter: @evildas

Slack: @smriti

Email: [email protected]


Recommended