Study Jam: Android for Beginners, Summary
-
Upload
constantine-mars -
Category
Software
-
view
159 -
download
2
Transcript of Study Jam: Android for Beginners, Summary
![Page 1: Study Jam: Android for Beginners, Summary](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/1.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/2.jpg)
Agenda
● Summary● Common mistakes and issues● Best examples ● Certificates ceremony● Group photo :)
![Page 3: Study Jam: Android for Beginners, Summary](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/3.jpg)
Stats
Started Jam: 62Final projects completed: 22Discussion projects: 8
![Page 4: Study Jam: Android for Beginners, Summary](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/4.jpg)
Common mistakes
![Page 5: Study Jam: Android for Beginners, Summary](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/5.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/6.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/7.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/8.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/9.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/10.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/11.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/12.jpg)
Best examples
![Page 13: Study Jam: Android for Beginners, Summary](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/13.jpg)
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](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/14.jpg)
Cool design, true OOP, ViewPager
![Page 15: Study Jam: Android for Beginners, Summary](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/15.jpg)
OOP, Design, Database, ORM
![Page 16: Study Jam: Android for Beginners, Summary](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/16.jpg)
Transparent, original design
![Page 17: Study Jam: Android for Beginners, Summary](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/17.jpg)
RecyclerView withCardView
![Page 18: Study Jam: Android for Beginners, Summary](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/18.jpg)
Good OOP and Design
![Page 19: Study Jam: Android for Beginners, Summary](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/19.jpg)
First in discussion
![Page 20: Study Jam: Android for Beginners, Summary](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/20.jpg)
San Francisco
![Page 21: Study Jam: Android for Beginners, Summary](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/21.jpg)
AnimationWith alpha
![Page 22: Study Jam: Android for Beginners, Summary](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/22.jpg)
Getting RealDiscussion, simple, but robust
![Page 23: Study Jam: Android for Beginners, Summary](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/23.jpg)
И еще много проектов, которые мы не успеем сегодня посмотреть и обсудить...
Но они наверняка будут скоро на Discussion
- И их увидит весь мир :)
![Page 24: Study Jam: Android for Beginners, Summary](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/24.jpg)
Certificates
![Page 25: Study Jam: Android for Beginners, Summary](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/25.jpg)
![Page 26: Study Jam: Android for Beginners, Summary](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/26.jpg)
![Page 27: Study Jam: Android for Beginners, Summary](https://reader031.fdocuments.in/reader031/viewer/2022030315/587db41a1a28abae2f8b6afd/html5/thumbnails/27.jpg)
Let’s take photo :)+ConstantineMars