Study Jam: Android for Beginners, Summary

27
Google Developers Study Jam Android for Beginners. Final Projects Constantine Mars Co-Organizer @ GDG Dnipropetrovs’k Senior Developer @ DataArt [email protected] +ConstantineMars

Transcript of Study Jam: Android for Beginners, Summary

Page 1: Study Jam: Android for Beginners, Summary

Google Developers Study Jam

Android for Beginners. Final Projects

Constantine MarsCo-Organizer @ GDG Dnipropetrovs’kSenior Developer @ DataArt

[email protected]+ConstantineMars

Page 2: Study Jam: Android for Beginners, Summary

Agenda

● Summary● Common mistakes and issues● Best examples ● Certificates ceremony● Group photo :)

Page 3: Study Jam: Android for Beginners, Summary

Stats

Started Jam: 62Final projects completed: 22Discussion projects: 8

Page 4: Study Jam: Android for Beginners, Summary

Common mistakes

Page 5: Study Jam: Android for Beginners, Summary

UX

● Mixing different languages (i.e. English + Latin)● Mixing color styles● Making too many elements in UI● Adding extra controls

Page 6: Study Jam: Android for Beginners, Summary

XML

● Auto-indent, rearrange code before commit● Don’t left empty tags● Don’t mix +id and onClick method name in the same tag● Keep single color and size style for icons● Don’t use Layout.background to display images, use ImageView with ScaleType● Use Styles

Page 7: Study Jam: Android for Beginners, Summary

Code duplication, copy-paste

Thing thing = new Thing();thing.setPrice(20);thing.setColor(RED);Thing thing2 = new Thing();thing2.setPrice(25);thing.setColor(GREEN);

Better:Thing thing = new Thing(20, RED);Thing thing2 = new Thing(25, GREEN);

OrThing thing = Thing.newInstance(20, RED);Thing thing2 = Thing.newInstance(25, GREEN);

Page 8: Study Jam: Android for Beginners, Summary

Long chain of calls

adapter.addFragment(SomeFragment.newInstance(list.get(i)),list.get(i).getName());

Better:

adapter.addFragment( SomeFragment.newInstance(list.get(i)), list.get(i).getName());

*use:● Spaces● New line● Auto-indent● Rearrange code

Page 9: Study Jam: Android for Beginners, Summary

Usage of design patterns

public class ClassicSingleton { private static ClassicSingleton instance = null; protected ClassicSingleton() { // Exists only to defeat instantiation. } public static ClassicSingleton getInstance() { if(instance == null) { instance = new ClassicSingleton(); } return instance; }}

Page 10: Study Jam: Android for Beginners, Summary

Fragments

● Pattern Fragment.newInstance()● .onCreateView() - don’t load assets here● Interaction with Activity - get callback in .onAttach()● Flexible UI, master-detail

Page 11: Study Jam: Android for Beginners, Summary

Common sense

● Unused folders, “test”, “androidTest”● Don’t put apk to github code, use Github Release feature● Don’t put different projects in one repo

Page 12: Study Jam: Android for Beginners, Summary

Best examples

Page 13: Study Jam: Android for Beginners, Summary

Good practices

● Spanned text, Html.fromHtml()● Menu.setShadowLayer()● Fragments● RecyclerView with CardView● Animations with alpha, translate● Real names for .apk● Be on Discussion Forum● Getting Real - making cool app, using only what you really know

Page 14: Study Jam: Android for Beginners, Summary

Cool design, true OOP, ViewPager

Page 15: Study Jam: Android for Beginners, Summary

OOP, Design, Database, ORM

Page 16: Study Jam: Android for Beginners, Summary

Transparent, original design

Page 17: Study Jam: Android for Beginners, Summary

RecyclerView withCardView

Page 18: Study Jam: Android for Beginners, Summary

Good OOP and Design

Page 19: Study Jam: Android for Beginners, Summary

First in discussion

Page 20: Study Jam: Android for Beginners, Summary

San Francisco

Page 21: Study Jam: Android for Beginners, Summary

AnimationWith alpha

Page 22: Study Jam: Android for Beginners, Summary

Getting RealDiscussion, simple, but robust

Page 23: Study Jam: Android for Beginners, Summary

И еще много проектов, которые мы не успеем сегодня посмотреть и обсудить...

Но они наверняка будут скоро на Discussion

- И их увидит весь мир :)

Page 24: Study Jam: Android for Beginners, Summary

Certificates

Page 25: Study Jam: Android for Beginners, Summary
Page 26: Study Jam: Android for Beginners, Summary
Page 27: Study Jam: Android for Beginners, Summary

Let’s take photo :)+ConstantineMars