Android Developer Live Q&A #37 – Elegant Code, Kotlin, Android, Software Architecture

Welcome to my livestream Q&A. It’s live, and it works best when you ask questions. I mostly do this for beginners (although I’m happy to chat about advanced topics with more senior devs), so if you’re a beginner, ASK SOME DAMN QUESTIONS.

Kotlin Clean Calculator:
https://github.com/BracketCove/KotlinMVPCalculator

Want a free preview of my Beginner Android Ebook? If you like my live unscripted content, you’ll probably like my scripted content even more:
http://wiseassblog.com/android/software%20architecture/2017/11/17/dropouts_guide_samples/

Slack Channel:
https://join.slack.com/t/wiseass/shared_invite/enQtMjg5OTc3NTk0MjI5LTc5ZmNiYjAyNzJmMzFiNGFjNzhiZTU4ZDdhNDE2NzA0ODEwZTJjYjNjOWNjMDA5YmEzMDlhN2ZjMGI1Yzg5NGM

Kotlin Style Guide
https://android.github.io/kotlin-guides/style.html

Repos:
https://github.com/BracketCove/KotlinMVPCalculator

https://github.com/BracketCove/Catalyft

https://github.com/BracketCove/AndroidRestTutorial

https://github.com/BracketCove/RoomDemo2017

https://github.com/BracketCove/PosTrainer

https://github.com/BracketCove/RecyclerViewTutorial2017

If you appreciate what I’m doing here, check out these options to support me over Social Media:

G+: https://plus.google.com/+wiseass

Facebook: https://www.facebook.com/wiseassblog/

Twitter: https://twitter.com/wiseass301

Patreon: https://www.patreon.com/bePatron?u=5114325

Beginner Android REST Tutorial – Implementing Retrofit REST Adapter, OKHttp, JSON, DataModel

In this tutorial series, I’ll be explaining the fundamentals of RESTful Web Services, and what the hell that actually means. In particular, I’ll be demonstrating how to build a basic REST API to pull Repository Data from GitHub’s REST Endpoint. We’ll use Retrofit, OKHttp, and a bit of RxJava magic to make it all work nicely.

In this video, we look at the information necessary to communicate with our REST Server, which happens to be GitHub. Using GitHub v3 API (although you may need to use a different version, if you’re here from the future). We’ll then create a POJO/DataModel to represent data retrieved from GH. With that, we can actually build the Rest Adapter, which is actually pretty simple (imo).

Github API v3:
https://developer.github.com/v3/

Project Repository:
https://github.com/BracketCove/AndroidRestTutorial

Looking for a brief introduction to building Android, Software Architecture, and Object Oriented Programming/Design? Check out my ebook:
http://wiseassblog.com/products/

Livestream on Sundays (9:00am GMT -7)
http://www.youtube.com/c/wiseAss/live

Patreon: https://www.patreon.com/bePatron?u=5114325

Github: https://github.com/BracketCove

Facebook: https://www.facebook.com/wiseassblog/

G+: https://plus.google.com/+wiseass

Twitter: https://twitter.com/wiseass301

Blog: http://wiseassblog.com/

Channel: wiseAss
Published: 2017-12-06 23:06:46
Duration: 28M39S
Views: 1205
Likes: 36
Favorites: 0

Dealing with Tiredness/Fatigue, Nutrient Deficiencies, Stress, and Mental/Physical Endurance

I was asked by my friend Aye to discuss tiredness, and I ended up rambling about it for quite a while on the Livestream. This is a largely unscripted talk, but I cover most of the practices and concepts I apply to reduce tiredness, and continue to perform well even when tired.

My livestream is directed towards Software Developers, so bear that in mind if you aren’t one.

Channel: wiseAss
Published: 2018-02-14 17:08:27
Duration: 26M12S
Views: 188
Likes: 27
Favorites: 0

RxJava: Observer Pattern on Steroids – Intro to RxJava theory and building event Streams

I’ve been planning to make a more polished tutorial on RxJava soon, but a viewer asked if I could discuss it at the start of one of my Livestream Q&A Sessions, so I put together a quick lesson.

My goal is to give you an understanding of the theory and concepts behind RxJava, as well as a glimpse of it’s fairly expansive capabilities. This lesson was live, and it’s a tough subject to talk about in terms that are intelligible, so please keep that in mind. I’ll make a better video when I have time.

Kotlin Calculator:
https://github.com/BracketCove/KotlinMVPCalculator

Livestream on Sundays (8:00am PST)
http://www.youtube.com/c/wiseAss/live

Patreon: https://www.patreon.com/bePatron?u=51…

Github: https://github.com/BracketCove

Facebook: https://www.facebook.com/wiseassblog/

G+: https://plus.google.com/+wiseass

Twitter: https://twitter.com/wiseass301

Blog: http://wiseassblog.com/

Channel: wiseAss
Published: 2018-02-13 17:34:47
Duration: 29M55S
Views: 315
Likes: 23
Favorites: 0

Beginner Android REST Tutorial – Project Demo and Overview

In this tutorial series, I’ll be explaining the fundamentals of RESTful Web Services, and what the hell that actually means. In particular, I’ll be demonstrating how to build a basic REST API to pull Repository Data from GitHub’s REST Endpoint. We’ll use Retrofit, OKHttp, and a bit of RxJava magic to make it all work nicely.

In this video, I open by demonstrating the facial expression of the average Eastern European. Afterwords, a brief demo and overview of the project.

Project Repository:
https://github.com/BracketCove/AndroidRestTutorial

Looking for a brief introduction to building Android, Software Architecture, and Object Oriented Programming/Design? Check out my ebook:
http://wiseassblog.com/products/

Livestream on Sundays (9:00am GMT -7)
http://www.youtube.com/c/wiseAss/live

Patreon: https://www.patreon.com/bePatron?u=5114325

Github: https://github.com/BracketCove

Facebook: https://www.facebook.com/wiseassblog/

G+: https://plus.google.com/+wiseass

Twitter: https://twitter.com/wiseass301

Blog: http://wiseassblog.com/

Channel: wiseAss
Published: 2017-12-05 21:47:57
Duration: 10M20S
Views: 726
Likes: 46
Favorites: 0

Live Android Kotlin Code – Catalyft Workout Log #1 | MVP, Packages Structure

Over the next few days, I’ll be rebuilding the first Application I ever wrote (on Android anyways) in Kotlin. I’ll take breaks to answer questions and chat.

Timestamps and Topics:
0:15 – Introduction and Overview.
2:40 – Disflaimer: I’m sharing my learning, not pretending to be a Kotlin Expert.
4:06 – If you appreciate what I do, and would like to see me do it better, here’s how to support me. Even if you can give $1, you’ll be helping me out and get priority for asking Questions.
6:25 – Kotlin tip: How do you achieve Static Variables (Constants), and Static Methods, in Kotlin?
Comparison of how I build Applications now, versus two years ago:
17:45 – Ranting about the word ViewModel (which I may be wrong about, open to discussing this). It seems to me that either ViewModel is not the right word, or the acronym MVVM is incomplete.
19:20 – Critiqueing old code
20:51 – First Database I ever wrote using SQLiteOpenHelper and AsyncTasks
22:10 – A Viewer mentions Presentation Mode in Android Studio. I wasn’t aware of this feature; thanks!
23:35 – How I used to use Activity Class (“God Activity”), versus how I use them now (Container Class for my MVP Objects).
25:10 – Still getting used to Kotlin Properties and calling this. Live is live, and sometimes you need to use the Google.
27:50 – What does Fragment.setRetainInstance(true) [Java], or this.retainInstance = true[Kotlin] do?
How might it help you decouple your MVP Objects from the tres fragile Lifecycle of Activities?
How did I learn about it? (Search Android lifecycle diagram)
How can Dependency Injection help with this daunting task of decoupling from orientation changes?
31:03 – God Activities are the opposite of following good Separation of concerns.
32:20 – How to build your Package Structure based on your Architecture, and the scope of your Classes:
Combination of Package by Layer and Package by Feature
34:45 – How to set up a multi-Module Android Project based on Clean Architecture
37:15 – Epicly long Gradle Sync
37:55 – End of epicly long Gradle Sync.
What is a Multi-Module Android Project and why did I choose Domain, App, Data as the Modules?
42:50 – Back to building Package structure.
43:50 – Do you need Dependency Injection. Does it have to be Dagger 2? How about Koin and Kodein.
**I’m quite happy to hear input about the performance and developer experience for Koin and Kodein. Comment here or send me a message.**
Is Dagger 2 just needlessly complicated or is there a reason why it’s complicated? Maybe something under the hood?
49:35 – back to Package structure building
55:20 – What are the first features you should build in a new Project? The ones which satisfy the basic requirements identified in the App’s Problem Domain.
55:50 – **Q&A Time**:
56:36 – How not to plan an hour+ live show, by Ryan Kay.
58:37 – Viewer Comment:
Viewer comment about online courses not teaching separation of concerns.
59:00 – In the simplest words, what is MVP and Separation of Concerns in general?
1:02:42 Viewer Question: How to get started with MVP/MVVM and Dependency Injection. I list some of my videos, and some resources from others.
1:07:15 – A brief look at how Dagger 2 avoids using Reflection and builds it’s Classes at compile time.
1:09:24 – Outro

A Dropout’s Guide to Designing and Building Android Apps (Beginner Android ebook):
http://wiseassblog.com/products/

Ebook Preview Available here:
http://wiseassblog.com/android/software%20architecture/2017/11/17/dropouts_guide_samples/

Slack Channel:
https://join.slack.com/t/wiseass/shared_invite/enQtMjY3MTcyOTExMjY3LWUxZGM2ZTBmMjI3NWI3YTUwMTFjNjI0MDc1ZWI3MTllYzFmNjQyNjc3MWI2MGYyODJkN2RmMjE4OGQ3MTJiNjA

Kotlin Style Guide
https://android.github.io/kotlin-guides/style.html

Repos:
https://github.com/BracketCove/KotlinMVPCalculator

https://github.com/BracketCove/AndroidRestTutorial

https://github.com/BracketCove/RoomDemo2017

https://github.com/BracketCove/PosTrainer

https://github.com/BracketCove/RecyclerViewTutorial2017

https://github.com/BracketCove/Calculator

If you appreciate what I’m doing here, check out these options to support me over Social Media:

G+: https://plus.google.com/+wiseass

Facebook: https://www.facebook.com/wiseassblog/

Twitter: https://twitter.com/wiseass301

Patreon: https://www.patreon.com/bePatron?u=5114325

Channel: wiseAss
Published: 2017-12-17 17:12:23
Duration: 1H11M46S
Views: 320
Likes: 21
Favorites: 0

Leave a Reply

Your email address will not be published. Required fields are marked *