(рдЕрди)рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Habr рдПрдкреНрд▓рд┐рдХреЗрд╢рди - HabrApp 2.0: рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

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

(рдЕрди)рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Habr рдПрдкреНрд▓рд┐рдХреЗрд╢рди - HabrApp 2.0: рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
рдпрд╣ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛: рд╣рдореЗрдВ рдХреБрдЫ рдЖрд░рд╛рдорджрд╛рдпрдХ, рд╕реБрдЦрдж, рдЕрдкрдирд╛ рдХреБрдЫ рдЪрд╛рд╣рд┐рдПред рд╣реЗрдмрд░ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЖрдкрдХреЛ рдХреБрдЫ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджреЗрддрд╛ рд╣реВрдВред

(рдЕрди)рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Habr рдПрдкреНрд▓рд┐рдХреЗрд╢рди - HabrApp 2.0: рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ ╤Н╤В╨╛ - рдХрд╛ред habr.com рдПрдкреНрд▓реАрдХреЗрд╢рди

"рдЕрд╕реБрд╡рд┐рдзрд╛рдУрдВ" рдХреА рд╕реВрдЪреА

  • рдЖрдк рдРрд╕реЗ рдкреНрд░рдХрд╛рд╢рди рдХреЛ рд░реЗрдЯрд┐рдВрдЧ рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ рдЬрд┐рд╕рдХреА рд░реЗрдЯрд┐рдВрдЧ 0 рд╕реЗ рднрд┐рдиреНрди рд╣реЛ
  • рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦрдирд╛ рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрддрд╛
  • рдЬрдирдордд рд╕рдВрдЧреНрд░рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ
  • рдЧрд╣рд░реЗ рд░рдВрдЧ рдХреА рдереАрдо рдореЗрдВ рд╕реВрддреНрд░ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддреЗ (рдХрд╛рд▓реЗ рдкрд░ рдХрд╛рд▓рд╛)
  • рд╕рднреА рдмреБрдХрдорд╛рд░реНрдХ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВ

рд╣рд╛рдВ, рдРрдк рдХреЛ рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓ рдЕрдЧрд╕реНрдд рд╕реЗ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдЦрд░рд╛рдм рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рднрд╛рдЧ рдПрдХред рдкрд╣реБрдВрдЪ рдХреА рддрд▓рд╛рд╢ рд╣реИ.

рддреНрд╡рд░рд┐рдд Google рдХреНрд╡реЗрд░реА "рд╣рдмреНрд░рд╛рд╣рд╛рдмреНрд░ рдПрдкреАрдЖрдИ" рдпрд╣ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдлреА рдкреБрд░рд╛рдирд╛ рд╣реЛ рдЪреБрдХрд╛ рд╣реИ рдХреЛрд╖ Github рдкрд░, рддрдм рд╕реЗ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдирд╡рдореНрдмрд░ 21 2016, рдФрд░ рдпрд╣, рдПрдХ рдкрд▓ рдХреЗ рд▓рд┐рдП, рдврд╛рдИ рд╕рд╛рд▓.

рдЗрд╕ рддрдереНрдп рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ PHP рд╣реИ, рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВ рдФрд░ рдкрдврд╝реЗрдВ:

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрдИрдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

рд▓рд╛рдн рдЙрдард╛ рдпрд╣ рдлреЙрд░реНрдо Habrahabr рдкрд░, рдЖрдкрдХреЛ рдирдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рд░ рдФрд░ рдЙрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХрд╛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╡рд░реНрдгрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрд╕реЗ API рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЗрд╕рдореЗрдВ рдХреЛрдИ рдкреНрд░рд╢реНрди рдирд╣реАрдВ рд╣реИ, рдпрджрд┐ рдЖрдкрдХреЛ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо рдПрдХ рдкрддреНрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ (рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рдореЗрдВ):

рдкрддреНрд░

PWA рдкрд░ рдЖрдзрд╛рд░рд┐рдд Habr рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡реЗрджрди рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрдиреЗрдХ рдХрд╛рд░рдг рд╣реИрдВред 

рдкрд╣рд▓рд╛ рдФрд░ рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ: рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рджреВрд╕рд░рд╛: рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЪреАрдЬрд╝реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдореВрд▓ рд╕реВрдЪрдирд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдИрдореЗрд▓ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ) рд╕реЗ рдЖрддреА рд╣реИрдВред

рддреАрд╕рд░рд╛: рдореЗрд░реЗ рд╣рд┐рддреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдореЗрд░реА рд░реБрдЪрд┐ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ/рд╣рдмреЛрдВ рдкрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдбрд╛рдЗрдЬреЗрд╕реНрдЯ (рдПрдХ рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рдХреЗ рд░реВрдк рдореЗрдВ)ред

рдмреЗрд╢рдХ, рдЙрддреНрддрд░ рдмрд╣реБрдд рд╕реБрдЦрдж рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдИрдорд╛рдирджрд╛рд░ рдерд╛:

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдорд╛рд░реЗ рдПрдкреАрдЖрдИ рддрдХ рдкрд╣реБрдВрдЪ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред рд╣рдо рдПрдкреАрдЖрдИ рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рджреЗрдиреЗ рдХреЗ рдмрд╛рдж рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рддрдХ рдХреЛрдИ рд╕рдЯреАрдХ рддрд╛рд░реАрдЦ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдлрд┐рд▓рд╣рд╛рд▓ рд╣рдо рдЕрдиреНрдп рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕реБрд▓рдЭрд╛рдиреЗ рдореЗрдВ рд╡реНрдпрд╕реНрдд рд╣реИрдВ.

"рдареАрдХ рд╣реИ, рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ! рд╣рдо рдХреБрдЫ рд▓реЗрдХрд░ рдЖрдПрдВрдЧреЗ!" - рдореИрдВрдиреЗ рдЦреБрдж рд╕реЗ рдХрд╣рд╛ рдФрд░ рджреЗрдЦрдиреЗ рд▓рдЧрд╛ред

рднрд╛рдЧ рджреЛред рдЧрд╣рд░реА рдЦреБрджрд╛рдИ.

рддрд░реНрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдПрдкреАрдЖрдИ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ, рдФрд░ рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╣рд╛рд░реНрдбрд╡рд╛рдпрд░реНрдб рд╣реИред рдЖрдЗрдП рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ.

рдЪреВрдБрдХрд┐ рд╣рдо рдЯреНрд░реИрдлрд╝рд┐рдХ рд╕реЗ рдирд┐рдкрдЯ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡рд╛рдпрд░рд╢рд╛рд░реНрдХ рд╣рдорд╛рд░реА рдкрд╕рдВрдж рд╣реИред рдХреБрдЫ рдХрд╖реНрдЯреЛрдВ рдХреЗ рдмрд┐рдирд╛, рдлрд╝реЛрди рдХреЛ рдбреЗрд╕реНрдХрдЯреЙрдк рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЦреЛрд▓рддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ:

(рдЕрди)рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Habr рдПрдкреНрд▓рд┐рдХреЗрд╢рди - HabrApp 2.0: рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
рд╕рд╛рдл рд╣реИ рдХрд┐ рдХреБрдЫ рднреА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ

рд╣рд╛рдВ, рд╕рдм рдХреБрдЫ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ред рдлрд┐рд░ рдЖрдкрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЕрдВрджрд░ рд╣реА рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ред

рд╡рд┐рдШрдЯрд┐рдд . APK, рдЖрдЗрдП рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред рдХрд┐рд╕реА рднреА рдПрдкреАрдЖрдИ рдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП? рд╕рд╣реА, рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ, рд╡рд╣ рд╕реНрдерд╛рди рдЬрд╣рд╛рдВ рд╕рднреА рдЕрдиреБрд░реЛрдз рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рд╕рдВрднрд╡рддрдГ http(s) рд╣реИ, рдЖрдЗрдП "https://" рдвреВрдВрдврдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ:

рдлрд╛рдЗрд▓ рдореИрдВ AuthLinkManager.smali рдкрд╛рдирд╛

.field OAUTH:Ljava/lang/String; = "https://habrahabr.ru/auth/o/%s/"
.field OAUTH_PARAMS:Ljava/lang/String; = "?client_id=%s&response_type=token&redirect_uri=%s"
.field OAUTH_REDIRECT_URL:Ljava/lang/String; = "http://cleverpumpkin.ru"

рдпрд╣ рдПрдВрдбреНрд░реЙрдЗрдб рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИ (рджрд▓рд╡рд┐рдХ рд╡реА.рдПрдо.), рдордиреБрд╖реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдХрд╛рдлреА рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рд╣реИред рдЗрди рддреАрди рд╕реНрдерд┐рд░рд╛рдВрдХ, рдЙрдирдХреА рд╕рд╛рдордЧреНрд░реА рдФрд░ рдирд╛рдо рдХреЗ рд╕рд╛рде-рд╕рд╛рде GitHub рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ GET.

рдЖрдЗрдП рдЖрдЧреЗ рджреЗрдЦреЗрдВ. рдЦреЛрдЬ рдореЗрдВ рдЖрдЧреЗ рдЬреЛ рдлрд╝рд╛рдЗрд▓ рдЖрддреА рд╣реИ рд╡рд╣ рд╣реИ NetworkModule.smali:

const-string v0, "https://habr.com/api/v1/"

рдФрд░ рдпрд╣рд╛рдВ рдЖрдкрдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рдЬрд╛рдиреЗ рдХрд╛ рд╕реНрдерд╛рди рд╣реИ!

рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдмрд╛рдХреА рд╣реИ - client_id, рдЬреЛ рд╕рдВрднрд╡рддрдГ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдЗрд╕ рдкрд╛рда рдХреЛ рдЦреЛрдЬрдиреЗ рд╕реЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдорд┐рд▓реА...

рд▓реЗрдХрд┐рди рдЕрдЪрд╛рдирдХ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореЗрд░реА рдирдЬрд╝рд░ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдкрдВрдХреНрддрд┐рдпреЛрдВ рдкрд░ рдкрдбрд╝реА:

const-string p8, "log-tag"
invoke-static {p8, p2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдПрдХ рд▓реЙрдЧ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реИред рд▓реЗрдХрд┐рди рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреНрдпрд╛?

рднрд╛рдЧ рддреАрдиред рдпреЗ рд▓реЙрдЧ рд╣реИрдВ!

рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ adb logcat рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЧ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП.

(рдЕрди)рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Habr рдПрдкреНрд▓рд┐рдХреЗрд╢рди - HabrApp 2.0: рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛

рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ, рд▓реЙрдЧ рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рднреА рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдирд┐рдХрд▓реЗред

рдпрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рд╡рд╣реА рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП client_idрд▓реЗрдХрд┐рди рдЯреЛрдХрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдФрд░ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ ╨╕ ╨┐╨░╤А╨╛╨╗╤М рд╕реНрдкрд╖реНрдЯ рдкрд╛рда рдореЗрдВ!

рдХреБрдЫ рд╖рдбрдпрдВрддреНрд░ рд╕рд┐рджреНрдзрд╛рдВрддрд▓реЙрдЧ рдореЗрдВ рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдорд╛рддреНрд░ рдЙрдкрд╕реНрдерд┐рддрд┐ рд╕реЗ рдХреБрдЫ рднреА рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрди рд▓реЙрдЧ рдХреЛ рдХреЗрд╡рд▓ рд░реВрдЯ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдпрд╛ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рд╣реА рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ adb. рд▓реЗрдХрд┐рди рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рд╣реИрдмрд░ рдкрдврд╝рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдореЗрдВ рдРрд╕реЗ рдПрдВрдбреНрд░реЙрдЗрдб рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреА рд╣реИ, рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдмрди рдЬрд╛рддреА рд╣реИред

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рд╡рд╛рдИ рдЕрдбреНрдбреЗ рдкрд░ "рдореБрдлрд╝реНрдд рдЪрд╛рд░реНрдЬрд┐рдВрдЧ" рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЦрд╛рддрд╛ рдЪреЛрд░реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд┐рд╕реЗ рд╣реИ?
рдЗрди рд▓реЙрдЧ рд╕реЗ рд╣рдо рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ:

  • client_id ╨╕ apikeyрдкрд╣реБрдБрдЪрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдПрдкреАрдЖрдИ;
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдпреВрдЖрд░рдПрд▓ (рдЕрдЬреАрдм рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднрдВрдбрд╛рд░ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ, рд╢рд╛рдпрдж рдпрд╣ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?)

рдРрд╕рд╛ рд╣реА рд╣реБрдЖ. рдЗрд╕ рдЫреЛрдЯреЗ рд╕реЗ рд╢реЛрдз рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдХ рдЫреЛрдЯреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдо рдЪрд▓ рд░рд╣рд╛ рд╣реИ - рдПрдХ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд╣рдорд╛рд░рд╛ рдЕрдкрдирд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред рдореИрдВ рдЙрди рд▓реЛрдЧреЛрдВ рд╕реЗ, рдЬреЛ рд╕рдВрджреЗрд╢ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдмрд╛рдХреА рд╕рднреА рд╕реЗ рд╡реЛрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВ (рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред

рдзрдиреНрдпрд╡рд╛рдж!

рдХреЗрд╡рд▓ рдкрдВрдЬреАрдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реА рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдореЗрдВ рднрд╛рдЧ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рдЗрди рдЗрди рдХрд░реЗрдВрдХреГрдкрдпрд╛ред

рдХреНрдпрд╛ рдЖрдк рд╣реИрдмрд░ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ?

  • рд╣рд╛рдБ, рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдБ, рдореИрдВ рдЗрд╕рд╕реЗ рдЦреБрд╢ рд╣реВрдБ

  • рд╣рд╛рдВ, рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ

  • рдирд╣реАрдВ, рдореИрдВ рдЕрдкрдиреЗ рдлрд╝реЛрди рдкрд░ рд╡реЗрдм рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдБ

  • рдирд╣реАрдВ, рдореИрдВ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ Habr рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдБ

357 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдорддрджрд╛рди рдХрд┐рдпрд╛ред 30 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд░рд╣реЗред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ