Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Modularizing and Refactoring Android App with C...
Search
kobito-kaba
July 03, 2019
Programming
0
280
Modularizing and Refactoring Android App with Clean Architecture
kobito-kaba
July 03, 2019
Tweet
Share
More Decks by kobito-kaba
See All by kobito-kaba
新規プロジェクトでやってよかったことまとめ
kobitokaba
1
870
Youtube like BottomNavigation
kobitokaba
0
240
Slice Your App
kobitokaba
2
1.2k
Inside Jetpack
kobitokaba
2
150
Generating and Transforming Kotlin code
kobitokaba
0
120
Conference Tourism
kobitokaba
0
280
Inside Jetpack Architecture Components
kobitokaba
0
240
Kotlinもう一歩
kobitokaba
8
16k
Inside LifecycleObserver
kobitokaba
0
120
Other Decks in Programming
See All in Programming
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
560
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
1.3k
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
130
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
190
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
350
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
210
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
0
310
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
5.7k
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.7k
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 2
philipschwarz
PRO
0
150
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
520
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
140
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
Being A Developer After 40
akosma
91
590k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
45
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
42
What's in a price? How to price your products and services
michaelherold
247
13k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Thoughts on Productivity
jonyablonski
74
5k
How to build a perfect <img>
jonoalderson
1
4.9k
[SF Ruby Conf 2025] Rails X
palkan
0
720
Music & Morning Musume
bryan
47
7k
Context Engineering - Making Every Token Count
addyosmani
9
630
Google's AI Overviews - The New Search
badams
0
890
Transcript
None
None
None
None
None
None
None
None
https://youtu.be/GesiS2bkTKA
None
None
None
app bidding search product sell
APP BID SEARCH PRODUCT SELL
APP BID SEARCH PRODUCT SELL
APP BID SEARCH PRODUCT SELL
APP BID SEARCH PRODUCT SELL
Modularize
None
┐('~`;)┌
None
None
Inline Super Class
None
None
None
None
None
None
Inline Method
Inline Method
None
None
None
None
None
None
None
None
Why we use Clean Architecture? Why/How/What Clean Architecture? Ref:https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html
Why CleanArch.? • Reduce & prevent spaghetti codes • Increase
readable and testable codes • Clear scope of influence
How does design CleanArch? • Separation of stable & flexible
codes. • Make Flexible code dependent only on more stable code • Make the direction of dependence one direction
Over view(※): CleanArchitecture ※:Some interfaces, or classes are omitted
Presentation Layer • View: Activity, Fragment,.. • Presenter: Express view
logic, gateway for domain
Data Layer • DataStore: Gateway for DB/API, and generate Entity
Domain Layer • Entity: Express business data • Usecase: Express
business logic, gateway for presentaion • Repository: Interface between domain and data layer
Let’s see Sample Product • Sample Product: Click button ->
change TextView as several Lang https://github.com/kiuchikeisuke/Android-Studio-CleanArchitecture-template-forKotlin/tree/demo_for_droidcon
None
None
None
None
None
None
None
None
None
None
None
Thank you