Mobius 2019 рдореЙрд╕реНрдХреЛ рдореЗрдВ рд╕реНрдЯреИрдВрдб hh.ru рд╕реЗ рдПрдВрдбреНрд░реЙрдЗрдб рдХреНрд╡рд┐рдЬрд╝ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг

7-8 рджрд┐рд╕рдВрдмрд░ рдХреЛ рдореЛрдмрд╛рдЗрд▓ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЛрдмрд┐рдпрд╕ 2019 рдореЙрд╕реНрдХреЛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдореНрдореЗрд▓рди рдХрд╛ рдирд┐рдзрди рд╣реЛ рдЧрдпрд╛ред рд░рд┐рдкреЛрд░реНрдЯреНрд╕ рдкрдврд╝реА рдЬрд╛рддреА рд╣реИрдВ, рдореЗрд╣рдорд╛рдиреЛрдВ рдХреЛ рдЦрд┐рд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреБрд░рд╕реНрдХрд╛рд░ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рддреАрди рдХреНрд╡рд┐рдЬрд╝'рдУрд╡ рд╕реЗ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ hh.ruред





рдкреНрд░рд╢реНрди 1
рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдореЗрдВ рдкреНрд░рдХрд╛рд╢ рд╕рдВрд╡реЗрджрдХ рдХрд┐рд╕ рднреМрддрд┐рдХ рдорд╛рддреНрд░рд╛ рдХреЛ рдорд╛рдкрддрд╛ рд╣реИ?


рдЬрд╡рд╛рдм рд╣реИ

рд╡рд┐рд▓рд╛рд╕рд┐рддрд╛


рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг

https://developer.android.com/guide/topics/sensors/sensors_environment.html

рдПрд╕рдЖрдИ - рд▓рдХреНрд╕ (рд▓рдХреНрд╕) рдореЗрдВ рдорд╛рдк рдХреА рдЗрдХрд╛рдИ рд░реЛрд╢рдиреА ( рд░реЛрд╢рдиреА )


рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА





рдкреНрд░рд╢реНрди реи
рдореБрдЦреНрдп рдореБрджреНрджрд╛ рдЬреЛ рдЭрд╛рдореБрдореЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ


рдЬрд╡рд╛рдм рд╣реИ

рдорд▓реНрдЯреА-рдереНрд░реЗрдбреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?


рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг

рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, JMM рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдХрд┐ "рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рд▓рд┐рдЦреЗрдВ", рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛ рдореЗрдВ рдореЗрдореЛрд░реА рдореЙрдбрд▓ рдХреЛ рдХреИрд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рдо рд╕рд╣реА рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХреЗрдВред
"рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдХреНрдпрд╛ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛?" рд╕рд╣реА рдЙрддреНрддрд░ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдЖрдорддреМрд░ рдкрд░ рдЗрд╕ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред
"рд╣реЛрдирд╛ рдпрд╛ рди рд╣реЛрдирд╛" рдкреНрд░рд╕рд┐рджреНрдз рд╢реЗрдХреНрд╕рдкрд┐рдпрд░ рдХреЗ рдореЛрдиреЛрд▓реЙрдЧ рд╣реИрдорд▓реЗрдЯ рдХрд╛ рдПрдХ рдЕрдВрд╢ рд╣реИ рдФрд░, рдЬрд┐рд╕рдиреЗ рд╕реЛрдЪрд╛ рд╣реЛрдЧрд╛, рдЙрд╕рдХрд╛ рдмрд╣реБрдЕрд░реНрдереА рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред
рдЖрдЦрд┐рд░реА рд╡рд┐рдХрд▓реНрдк рдмрдЪрддрд╛ рд╣реИ - "рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрдврд╝реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдХреНрдпрд╛ рдкрдврд╝рд╛ рдЬрд╛рдПрдЧрд╛", рдЬреЛ рдХрд┐ рд╕рд╣реА рдЙрддреНрддрд░ рд╣реИред
рдЬреЗрдПрдордПрдо рдХреЗ рд╡рд┐рд╖рдп рдореЗрдВ, рд╣рдо рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЕрд▓реЗрдХреНрд╕рдИ рд╢рд┐рдкрд┐рд▓реЗрд╡ рдХреА рд░рд┐рдкреЛрд░реНрдЯ "рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЬреЗрдПрдордПрдо" рджреЗрдЦреЗрдВ


рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА





рдкреНрд░рд╢реНрди 3
рдХреЛрдб рдХреЗ рдЕрдЧрд▓реЗ рдмреНрд▓реЙрдХ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛ ...


Observable.create<Int> { emitter -> try { throw Exception("whoa") } finally { emitter.onNext(1) } }.subscribe { print("onNext $it + ") } 


рдЬрд╡рд╛рдм рд╣реИ

onNext 1 + OnErrorNotImplementedException


рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг

рдХреНрд░рд┐рдПрдЯ рдлрдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░, рд╣рдо рдПрдХ рдЯреНрд░рд╛рдЗ-рдЕрдВрддрддрдГ рдмреНрд▓реЙрдХ рдХрд╣рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдПрдХ рдЕрдкрд╡рд╛рдж ("рд╡реЛ") рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХ рджреЗрддреЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рдХреЛрдИ рдХреИрдЪ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рдмрд╛рдзрд╛ рдбрд╛рд▓рдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдСрдмреНрдЬрд░реНрд╡рд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдСрдирд░рд░ рд╣реИрдВрдбрд▓рд░ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЕрдкрд╡рд╛рдж ("рд╣реВрдЖ") рдХреЛ рдкрдХрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рд▓реЗрдХрд┐рди рджреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИрдВред
рдкрд╣рд▓рд╛: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдВрддрддрдГ рдПрдХ рдмреНрд▓реЙрдХ рд╣реИ рдЬрд┐рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдореЗрдВ, рд╣рдо рд╕реНрдЯреНрд░рд┐рдВрдЧ "onNext 1" рдХреЛ onNext рд╣реИрдВрдбрд▓рд░ рдХреЛ рднреЗрдЬрддреЗ рд╣реИрдВ, рдЬреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ "+" рд╡рд░реНрдг рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЗ рд╕рд╛рде рдЗрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдФрд░ рджреВрд╕рд░рд╛: onError рд╣реИрдВрдбрд▓рд░ рдХреЛ рд╕рджрд╕реНрдпрддрд╛ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП RxJava рдПрдХ рдЕрдкрд╡рд╛рдж "io.reactivex.exception.OnErrorNotImplementedException" рдлреЗрдВрдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХрдВрд╕реЛрд▓ рдкрд░ рдЖрдЙрдЯрдкреБрдЯ рднреА рд╣реИред рддреЛ рд╣рдо рд╕реНрдЯреНрд░рд┐рдВрдЧ "onNext 1 + OnErrorNotImplementedException" рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред


рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА





рдкреНрд░рд╢реНрди 4
рдиреАрдЪреЗ рд╕реВрдЪреАрдмрджреНрдз Android рдХрд╛ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдбреЗрд╡рд▓рдкрд░.android.com рджреНрд╡рд╛рд░рд╛ рд╕рдмрд╕реЗ рдХрдо рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?


рдЬрд╡рд╛рдм рд╣реИ

рд▓реЙрд▓реАрдкреЙрдк 5.0


рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг

https://developer.android.com/about/dashboards
12/10/2019 рд╕реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ


рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА





рдкреНрд░рд╢реНрди 5
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдирд╛рдо рдореЗрдВ 2 рдирд╣реАрдВ рд╣реИрдВ?


рдЬрд╡рд╛рдм рд╣реИ

Room2


рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг

рд░реВрдо рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 2.2.2 рд╣реИред рд▓реЗрдХрд┐рди рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдирд╛рдо рдкрд░ 2 рдирд╣реАрдВ рд╣реИрдВред
camera2
ViewPager2
Retrofit2


рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА





рдкреНрд░рд╢реНрди 6
рдХреЛрдЯрд▓рд┐рди рдореЗрдВ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реЛрдЧрд╛?


 mutableListOf<Any>() + mutableListOf() 


рдЬрд╡рд╛рдм рд╣реИ

рд╕реВрдЪреА <рдХреЛрдИ>


рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг

рдЙрддреНрддрд░ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ рдХрд┐ рдкрд░рд┐рдгрд╛рдо рдПрдХ MutableList рд╣реИред рд╣рдордиреЗ рдЦреБрдж рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХреЛрдЯрд▓рд┐рди рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рдРрд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ред рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИред
рдХреЛрдЯрд▓рд┐рди рдореЗрдВ, рдЖрдк + b рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдкрд░ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рд╕рдВрдЪрд╛рд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ a.plus (b) рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИред рдХреЛрдЯрд▓рд┐рди рд╕реНрд░реЛрддреЛрдВ рд╕реЗ MutableList рдХреЗ рд▓рд┐рдП рдкреНрд▓рд╕ рд╡рд┐рдзрд┐:


 public operator fun <T> Collection<T>.plus(elements: Array<out T>): List<T> { .. } 

рдЕрд░реНрдерд╛рддреН, рд╡рд╛рдкрд╕реА рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╕реВрдЪреА <T> рд╣реИ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реВрдЪреА <Any>ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рджреВрд╕рд░реЗ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддреА рд▓рд╕реНрдЯрдСрдл рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ, рдХреЛрдЯрд▓рд┐рди рдЦреБрдж рд╣реА рдЬреЛрдбрд╝ рдХреЗ рдкрд╣рд▓реЗ рддрд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЯрд╛рдЗрдк рдХрд░реЗрдВрдЧреЗред


рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА





рдкреНрд░рд╢реНрди 7
UI рдкрд░реАрдХреНрд╖рдг Android рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд░реВрдкрд░реЗрдЦрд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ?


рдЬрд╡рд╛рдм рд╣реИ

Mokko


рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг

рдПрд╕реНрдкреНрд░реЗрд╕реЛ рдЧреВрдЧрд▓ рдХреА рдПрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИред рдЗрд╕реЗ 2013 рдореЗрдВ рд╡рд╛рдкрд╕ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдореЗрдВ рдПрдХ рдХреНрд░рд┐рдпрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИ, рдХрд╛рдХрд╛рдУ рдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡реЗрдЪреНрдЫрд╛ рд╕реЗ
рдХреЛрдХрд╛рдУ, рдХреЛрдЯрд▓рд┐рди рдбреАрдПрд╕рдПрд▓ рдФрд░ рдПрд╕реНрдкреНрд░реЗрд╕реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпреВрдЖрдИ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдкреЗрдЬ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХрд╛рд╕реНрдкреНрд░реЗрд╕реНрд╕реЛ рдЖрдЧреЗ рднреА рдЪрд▓рд╛ рдЧрдпрд╛ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдУрдПрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛, рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг, рдлреНрд▓реИрд╢рд┐рдВрдЧ рдЯреЗрд╕реНрдЯ, рд▓реЙрдЧрд┐рдВрдЧ, рдПрдбреАрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рдХрд╛рд╕рдкреНрд░реЗрд╕реЛ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕рдореАрдХреНрд╖рд╛ рд▓реЗрдЦ
рдореЛрдХреЛ - рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ


рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА





рдкреНрд░рд╢реНрди 8
рддрд╕реНрд╡реАрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рддрд░рд╣ рдХрд╛ рд╕рдореНрдорд┐рд╢реНрд░рдг рдореЛрдб рдкреЛрд░реНрдЯрд░рдбрдл рд╣реИред


рдЬрд╡рд╛рдм рд╣реИ

рд╕реНрд░реЛрдд рдЦрддреНрдо


рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг

рдкреЛрд░реНрдЯрд░рдбрдл.рдореЛрдб рдХрд╛ рдирд╛рдо рдереЙрдорд╕ рдкреЛрд░реНрдЯрд░ рдФрд░ рдЯреЙрдо рдбрдл рдХреЗ рдирд╛рдо рдкрд░ рд░рдЦрд╛ рдЧрдпрд╛, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ 1984 рдореЗрдВ "рдХрдореНрдкреЛрдЬрд┐рдЯрд┐рдВрдЧ рдбрд┐рдЬрд┐рдЯрд▓ рдЗрдореЗрдЬреЗрдЬ" рд▓реЗрдЦ рд▓рд┐рдЦрд╛, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдЫрд╡рд┐ рдХреЛ рджреВрд╕рд░реЗ рдкрд░ рд╕реБрдкрд░рдЗрдореНрдкреЛрдЬ рдХрд░рдиреЗ рдХреЗ 12 рдСрдкрд░реЗрд╢рди рд╢рд╛рдорд┐рд▓ рдереЗред PorterDuff.Mode рдмрд╕ рдЖрдкрдХреЛ рдЗрди 12 рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред


рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА





рдкреНрд░рд╢реНрди 9
рдПрдВрдбреНрд░реЙрдЗрдб 10 рдкрд░ рдорд╛рдирдХ DatePickerDialog рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ?


рдЬрд╡рд╛рдм рд╣реИ

2


рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг

рдПрдВрдбреНрд░реЙрдЗрдб 4.4 рд╕реЗ 1
Android 6.0 рдФрд░ рдКрдкрд░ рд╕реЗ 2
рдПрдВрдбреНрд░реЙрдЗрдб 5.0 рдХреЗ 3
4 - рд░реВрд╕реА рдХрд╛рд░реНрдпрд╛рд▓рдпреЛрдВ рдореЗрдВ рдлрд░реНрдиреАрдЪрд░ рдХрд╛ рдПрдХ рдкрд╕рдВрджреАрджрд╛ рдЯреБрдХрдбрд╝рд╛ рдФрд░ рдПрдХ рдирдП рд╕рд╛рд▓ рдХрд╛ рд╕рдкрдирд╛ рдЙрдкрд╣рд╛рд░ - рджреАрд╡рд╛рд░ рдХреИрд▓реЗрдВрдбрд░


рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА





рдкреНрд░рд╢реНрди 10
рдкрд╣рд▓рд╛ Google Android рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдлрд╝реЛрди рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ рдХреЗ рд╕рд╣рдпреЛрдЧ рд╕реЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛


рдЬрд╡рд╛рдм рд╣реИ

рдПрдХ рдиреЗрдХреНрд╕рд╕


рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг

Google Nexus Google рдФрд░ рд╡рд┐рдирд┐рд░реНрдорд╛рдг рднрд╛рдЧреАрджрд╛рд░реЛрдВ рдХреЗ рд╕реНрдорд╛рд░реНрдЯрдлрд╝реЛрди рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реИред
Nexus G1 рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╣рд▓реЗ Android-рд╕реНрдорд╛рд░реНрдЯрдлреЛрди T-Mobile G1 рдпрд╛ HTC рдбреНрд░реАрдо рдХреЗ рд╕рд╛рде рднреНрд░рдорд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
Nexus One рдиреЗ HTC рдХрд╛ рднреА рдЙрддреНрдкрд╛рджрди рдХрд┐рдпрд╛ред рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдПрдВрдбреНрд░реЙрдпрдб 2.1 рдЪрд▓рд╛ рд░рд╣рд╛ рдерд╛ред
рдЧреИрд▓реЗрдХреНрд╕реА рдиреЗрдХреНрд╕рд╕ Google рдФрд░ рд╕реИрдорд╕рдВрдЧ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдпреБрдХреНрдд рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рддреАрд╕рд░рд╛ рдиреЗрдХреНрд╕рд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рд╣реИред
Nexus 11 рдкреНрд░реЛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред


рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА





рдкреНрд░рд╢реНрди 11
рдХреИрд╕реЗ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо wtf Android рд▓реЙрдЧрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо (Log.wtf ()) рдореЗрдВ рдбрд┐рдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?


рдЬрд╡рд╛рдм рд╣реИ

рдХреНрдпрд╛ рднрдпрдВрдХрд░ рдЕрд╕рдлрд▓рддрд╛ рд╣реИ!


рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг log.wtf
рд░реЗрд╕рд▓рд┐рдВрдЧ рдЯреЗрдХрдбрд╛рдЙрди рдлреЗрдбрд░реЗрд╢рди - рд╢реНрд░реГрдВрдЦрд▓рд╛ "рд╕рд╛рдЙрде рдкрд╛рд░реНрдХ" рдХреЗ 13 рд╡реЗрдВ рд╕реАрдЬрди рдХреА 10 рд╡реАрдВ рдХрдбрд╝реАред
Wtf рднреА рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реНрд▓реИрдВрдЧ рдореЗрдВ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдирд╛рдо рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рд╣рдмреНрд░ рдирд┐рдпрдореЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдм рдХреБрдЫ рдЬрд╛рдирддреЗ рд╣реИрдВред


рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА





рдкреНрд░рд╢реНрди 12
Appcompat рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХреНрдпрд╛ рд╣реИ?


рдЬрд╡рд╛рдм рд╣реИ

1.1.0


рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг

AndroidX рдХреА рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рд╛рде , Google рдиреЗ рд╕рдорд░реНрдерди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдФрд░ 1 рд╕реЗ рдПрдХ рдирдИ рдЧрдгрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдирдпрд╛ androidx рдкреИрдХреЗрдЬ рдЬреЛрдбрд╝рд╛ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ Appcompat рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдЕрдм androidx.appcompat: appcompat рдореЗрдВ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг 1.1.0 рд╣реИред
Com.android.support:appcompat-v7 рдкреИрдХреЗрдЬ рдореЗрдВ, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдХреЗрд╡рд▓ 28.0.0 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рд╕рдВрд╕реНрдХрд░рдг 29.0.0 RC рдФрд░ 29.0.0 рдХрднреА рдирд╣реАрдВ рдирд┐рдХрд▓реЗред


рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА





рдкреНрд░рд╢реНрди 13
Google Android рдЯреАрдо рджреНрд╡рд╛рд░рд╛ Android рд▓реЛрдЧреЛ рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред


рдЬрд╡рд╛рдм рд╣реИ

Bugdroid



рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА





рдкреНрд░рд╢реНрди 14
рдиреМрдХрд░реА рдЪрд╛рд╣рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП hh рдЖрд╡реЗрджрди рдореЗрдВ рдХреНрдпрд╛ рдЕрдиреБрднрд╛рдЧ рдирд╣реАрдВ рд╣реИ?


рдЬрд╡рд╛рдм рд╣реИ

рдСрдЯреЛ рдЦреЛрдЬ


рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг

2018 рдХреЗ рдЕрдВрдд рдореЗрдВ, рдЖрд╡реЗрджрди рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рдирдпрд╛ рд╕реНрд╡рд░реВрдк рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдФрд░ "рдСрдЯреЛ рдЦреЛрдЬ" рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ "рдЦреЛрдЬ рд╕рджрд╕реНрдпрддрд╛" рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдлрд┐рд▓рд╣рд╛рд▓ "рдСрдЯреЛ рдЦреЛрдЬ" рдирд╛рдо рдХрд╛ рдХреЛрдИ рдЦрдВрдб рдирд╣реАрдВ рд╣реИред


рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА





рдкреНрд░рд╢реНрди 15
рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд░рддреАрдХ рдПрдХ рд╣рд░реЗ рд░рдВрдЧ рдХрд╛ рд░реЛрдмреЛрдЯ рд╣реИред рд▓реЛрдЧреЛ рдХреЗ рд▓реЗрдЦрдХ рдХреЛ рдЗрд░реАрдирд╛ рдмреНрд▓реЙрдХ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд┐рд╕ рдмрд╛рдд рдиреЗ рдЙрд╕реЗ рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛?


рдЬрд╡рд╛рдм рд╣реИ

рдЯреЙрдпрд▓реЗрдЯ рдХреЗ рджрд░рд╡рд╛рдЬреЗ рдкрд░ рдЖрджрдореА рдХреА рдЫрд╡рд┐


рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг

"рдЕрдВрдд рдореЗрдВ, рдЙрд╕рдиреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдирд╡ рд╕реНрд░реЛрдд рд╕реЗ рдкреНрд░реЗрд░рдгрд╛ рд▓реА: рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдкреБрд░реБрд╖ рдФрд░ рдорд╣рд┐рд▓рд╛ рдХреЗ рдЪрд┐рддреНрд░ рдЬреЛ рдЕрдХреНрд╕рд░ рдЯреЙрдпрд▓реЗрдЯ рдХреЗ рджрд░рд╡рд╛рдЬреЗ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред" рдиреНрдпреВрдпреЙрд░реНрдХ рдЯрд╛рдЗрдореНрд╕


рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА



рдкреНрд░рд╢реНрдиреЛрддреНрддрд░реА рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╣рдорд╛рд░реЗ рдбреЗрд╡рд▓рдкрд░ рдЬрд┐рдпреЛрд░реА рд░рд╛рдпрдмрд╛рдЦ рдЬрд┐рдпреЙрд░реНрдЧрд┐рд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

Source: https://habr.com/ru/post/hi480950/


All Articles