рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА Android рдШреЛрд╖рдгрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ

рдбрд┐рдХреНрд▓реЗрд░реЗрдЯрд┐рд╡ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдХреА рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреЛ рдХрд╛рдлреА рдмрдврд╝рд╛ рд╕рдХрддреА рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдбреАрдкреНрд░реЛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдиреЗ рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдЬрдм рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ 3 рд╕реЗ 5 рдЧреБрдирд╛ рд╡реГрджреНрдзрд┐ рд╣реЛрддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдЕрдирд┐рд╡рд╛рд░реНрдп рднрд╛рд╖рд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛, рдХреЛрдЯрд▓рд┐рдиред


рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд░реНрдЧ рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдРрд╕реЗ рдкреНрд░рдХрд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреИрд╕реЗ: рдПрдо-рдХреЙрдорд░реНрд╕, рдкреА 2 рдкреА рд╡реНрдпрд╛рдкрд╛рд░, рд╕реЗрд╡рд╛рдПрдВ, рдмреИрдВрдХ рдФрд░ рд╡рд┐рддреНрдд, рдпрд╛рддреНрд░рд╛, рддрддреНрдХрд╛рд▓ рд╕рдВрджреЗрд╢рд╡рд╛рд╣рдХ рдФрд░ рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ, рдлрд┐рдЯрдиреЗрд╕ рдФрд░ рд╕реНрд╡рд╛рд╕реНрдереНрдп, рдЖрджрд┐ред


рдпрд╣ рддреНрд╡рд░рдг рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдШреЛрд╖рдгрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдХреЗрд╡рд▓ "рдХреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?" рдХрд╛ рд╡рд░реНрдгрди рд╣реИ, рдФрд░ "рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ?"ред


рдШреЛрд╖рдгрд╛рддреНрдордХ рдФрд░ рдЕрдирд┐рд╡рд╛рд░реНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред


рдЖрдХреГрддрд┐ рдореЗрдВ рджрд┐рдЦрд╛рдИ рдЧрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдореЗрдВ, рдПрдХ рдЯреБрдХрдбрд╝рд╛ (рдПрдХ рд▓рд╛рд▓ рд░реЗрдЦрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рдХреНрд░рдорд╛) рд╣реЛрддрд╛ рд╣реИред


рдЫрд╡рд┐

рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдХрдЕрдк рд╕рд░рд▓ рд╣реИ; рдЖрдИрдбреА рд░рд┐рд╕рд╛рдЗрдХреНрд▓рд░ рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ рдПрдХ рдкреБрдирд░реНрдирд╡реАрдиреАрдХрд░рдг рджреГрд╢реНрдп рд╣реИред рд╕реВрдЪреА рдЖрдЗрдЯрдо рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдХрдЕрдк рдЖрдЗрдЯрдоред Xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИред рдбреЗрдЯрд╛ рдкрд░ рд╕реНрдерд┐рдд рд╣реИ ред рдорд╛рд░реНрдХрдЕрдк рддрддреНрд╡реЛрдВ рдХреЗ рдирд╛рдо (рдЖрдИрдбреА) рд╕рд░реНрд╡рд░ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдирд╛рдореЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред


(). (MVP).


.


Item тАУ , .


Adapter тАУ RecyclerView.Adapter. , List. , , : getItemCount тАУ ; onCreateViewHolder тАУ View item.xml MyHolder; onBindViewHolder тАФ MyHolder ( ). MyHolder .

Presenter тАФ RxJava Retrofit. URL. iView ( MyFragment).


iView тАУ MyFragment.


MyFragment тАУ Fragment. . ( List.) , . , , , .

. , . тАФ . URL, RecyclerView item.xml.


тАФ , , . , :


recycler(URL, R.id.recycler, R.layout.item);

DePro. , :


component(TC.RECYCLER, model(URL), view(R.id.recycler, R.layout.item_news))

component тАУ ; TC.RECYCLER тАУ ( RecyclerView); model(URL) тАУ , URL; view id recycler- .


, .


DePro . (, , , ...) .


. :


activity( , id )


: activity(тАЬsplashтАЭ, R.layout.activity_splash)
.


: fragment(тАЬauth_phoneтАЭ, R.layout.fragment_auth_phone)


. MVP.


:


.component(TYPE, model(...), view(...), navigator(...))

TYPE тАФ , SPINNER, DRAWER, RECYCLER, MENU, MAP, PAGER .. model(...) . , , URL. view(...) , . navigator(...) . , navigator(start(R.id.video, YOUTUBE)) , R.id.video YOUTUBE. navigator- .


, :


 activity(String name, int layoutId)
        .component(TYPE, model(...), view(...), navigator(...))
        . . .
        .component(TYPE, model(...), view(...), navigator(...));

5 тАФ 10 .


DePro :


  • java (SLOC) 40-50 .
  • ( XML тАФ ) 15 тАФ 20 .
  • ( XML тАФ ) 3 тАФ 5 .
  • 2 тАФ 3 .

. Github.


рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рдбреАрдкреНрд░реЛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдкреВрд░реНрдг рдЪрдХреНрд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВрдЧреЗред


All Articles