(เด…เตบ)เด”เดฆเตเดฏเต‹เด—เดฟเด• Habr เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป - HabrApp 2.0: เด†เด•เตเดธเดธเต เดจเต‡เดŸเตเดจเตเดจเต

เด•เตเดทเต€เดฃเดฟเดคเดตเตเด‚ เด‡เดคเดฟเดจเด•เด‚ เดคเดฟเด•เดšเตเดšเตเด‚ เดตเดฟเดฐเดธเดตเตเดฎเดพเดฏ เด’เดฐเต เดธเดพเดฏเดพเดนเตเดจเด‚, เดžเดพเตป เด•เดŸเดจเตเดจเตเดชเต‹เด•เตเดจเตเดจเต เด‰เดฆเตเดฏเต‹เด—เดธเตเดฅเตป เดนเดฌเตเตผ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป, เด’เดฐเดฟเด•เตเด•เตฝ เด•เต‚เดŸเดฟ เดžเดพเตป เดŽเดจเตเดฑเต† เดตเดฟเดฐเดฒเตเด•เตพ เดตเดณเดšเตเดšเต, เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเดคเตเดค เด“เดฐเต‹ เดซเต€เดšเตเดšเดฑเดฟเดจเตเด‚ เด’เดจเตเดจเต. เด‡เดตเดฟเดŸเต†, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดญเดฟเดชเตเดฐเดพเดฏเดฎเดฟเดŸเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ, เด‡เดตเดฟเดŸเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเต‹เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเดจเตเดณเตเดณ เด…เดตเด•เดพเดถเด‚ เดจเดฟเดทเต‡เดงเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต, เดชเตŠเดคเตเดตเต‡, เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เดธเต‚เดคเตเดฐเดตเดพเด•เตเดฏเด™เตเด™เตพ เดธเตเด•เตเดฐเต€เดจเดฟเตฝ เดฆเตƒเดถเตเดฏเดฎเดพเด•เดพเดคเตเดคเดคเต?

(เด…เตบ)เด”เดฆเตเดฏเต‹เด—เดฟเด• Habr เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป - HabrApp 2.0: เด†เด•เตเดธเดธเต เดจเต‡เดŸเตเดจเตเดจเต
เด…เดคเต เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต: เดžเด™เตเด™เตพเด•เตเด•เต เดธเตเด–เดชเตเดฐเดฆเดฎเดพเดฏ, เดธเตเด–เด•เดฐเดฎเดพเดฏ, เดจเดฎเตเดฎเตเดŸเต‡เดคเดพเดฏ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดตเต‡เดฃเด‚. เดนเดฌเดฑเดฟเดจเตเดณเตเดณ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เด…เดชเต‡เด•เตเดทเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต?
เดธเดพเดนเดšเดฐเตเดฏเด‚ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป เดžเดพเตป เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เตเดฑเดšเตเดšเต เดธเตเด•เตเดฐเต€เตปเดทเต‹เดŸเตเดŸเตเด•เตพ เดจเตฝเด•เดŸเตเดŸเต†.

(เด…เตบ)เด”เดฆเตเดฏเต‹เด—เดฟเด• Habr เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป - HabrApp 2.0: เด†เด•เตเดธเดธเต เดจเต‡เดŸเตเดจเตเดจเตเด‡เดคเตเดชเต‹เดฒเต† เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดคเต‹เดจเตเดจเตเดจเตเดจเต เด…เดคเต - เดฏเตเดŸเต†. habr.com เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป

"เด…เดธเต—เด•เดฐเตเดฏเด™เตเด™เดณเตเดŸเต†" เดชเดŸเตเดŸเดฟเด•

  • 0-เตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏ เดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เด‰เดณเตเดณ เด’เดฐเต เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฃเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฑเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ
  • เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดŽเดดเตเดคเตเดจเตเดจเดคเต เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เดธเดพเดงเตเดฏเดฎเดฒเตเดฒ
  • เดตเต‹เดŸเตเดŸเต†เดŸเตเดชเตเดชเตเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ
  • เด‡เดฐเตเดฃเตเดŸ เดคเต€เดฎเดฟเตฝ เดซเต‹เตผเดฎเตเดฒเด•เตพ เดฆเตƒเดถเตเดฏเดฎเดฒเตเดฒ (เด•เดฑเตเดชเตเดชเดฟเตฝ เด•เดฑเตเดชเตเดชเต)
  • เดŽเดฒเตเดฒเดพ เดฌเตเด•เตเด•เตเดฎเดพเตผเด•เตเด•เตเด•เดณเตเด‚ เดฒเดญเตเดฏเดฎเดฒเตเดฒ

เด…เดคเต†, เด•เดดเดฟเดžเตเดž เดตเตผเดทเด‚ เด“เด—เดธเตเดฑเตเดฑเต เดฎเตเดคเตฝ เด†เดชเตเดชเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตโ€ŒเดคเดฟเดŸเตเดŸเดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เด…เดคเต เด‡เดชเตเดชเต‹เดดเตเด‚ เดฎเต‹เดถเดฎเดพเดฃเต. เดชเตŠเดคเตเดตเต‡, เด…เดคเต เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.

เด’เดจเตเดจเดพเด‚ เดญเดพเด—เด‚. เดชเตเดฐเดตเต‡เดถเดจเดคเตเดคเดฟเดจเดพเดฏเดฟ เดคเดฟเดฐเดฏเตเดจเตเดจเต.

เดฆเตเดฐเตเดค เด—เต‚เด—เดฟเตพ เด…เดจเตเดตเต‡เดทเดฃเด‚ "habrahabr API" เด‡เดคเต เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เด•เดพเดฒเดนเดฐเดฃเดชเตเดชเต†เดŸเตเดŸเดคเดพเดฃเต†เดจเตเดจเต เดชเดฑเดฏเตเดจเตเดจเต เดธเด‚เดญเดฐเดฃเดฟเดฏเดพเดฃเต Github-เตฝ, เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เด…เดชเตเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเดฟเดฒเตเดฒ เดจเดตเด‚เดฌเตผ เด•เตเดธเดจเตเดฎเตเด•เตเดธ เด•เตเดธเดจเตเดฎเตเด•เตเดธ, เด‡เดคเตเด‚ เด’เดฐเต เดจเดฟเดฎเดฟเดทเดคเตเดคเต‡เด•เตเด•เต, เดฐเดฃเตเดŸเดฐ เดตเตผเดทเด‚.

เด‡เดคเต PHP เด†เดฃเต†เดจเตเดจ เดตเดธเตเดคเตเดค เด…เดตเด—เดฃเดฟเดšเตเดšเต, เดคเดพเดดเต‡เด•เตเด•เต เดธเตเด•เตเดฐเต‹เตพ เดšเต†เดฏเตเดคเต เดตเดพเดฏเดฟเด•เตเด•เตเด•:

เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดเดกเดฟ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเต

เดชเตเดฐเดฏเต‹เดœเดจเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเต เดˆ เดซเต‹เด‚ Habrahabr-เตฝ, เดชเตเดคเดฟเดฏ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เดธเดพเดฐเดพเด‚เดถเดตเตเด‚ เด…เดคเดฟเดจเต เด’เดฐเต API เด†เดตเดถเตเดฏเดฎเดพเดฏเดคเดฟเดจเตเดฑเต† เด‰เดฆเตเดฆเต‡เดถเตเดฏเดตเตเด‚ เดจเดฟเด™เตเด™เตพ เดนเตเดฐเดธเตเดตเดฎเดพเดฏเดฟ เดตเดฟเดตเดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เด•เตเดธเดธเต เดฒเดญเดฟเด•เตเด•เดฃเดฎเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เดžเด™เตเด™เตพ เด’เดฐเต เด•เดคเตเดคเต เดŽเดดเตเดคเตเดจเตเดจเต (เดšเตเดฐเตเด•เตเด•เดคเตเดคเดฟเตฝ):

เด’เดฐเต เด•เดคเตเดคเต

เดชเดฟเดกเดฌเตเดฒเตเดฏเตเดŽ เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เดนเดฌเดฑเดฟเดจเต เด…เดชเต‡เด•เตเดท เดจเตฝเด•เดพเดจเตเดณเตเดณ เด†เด—เตเดฐเดนเดฎเตเดฃเตเดŸเต. เด‡เดคเดฟเดจเต เดจเดฟเดฐเดตเดงเดฟ เด•เดพเดฐเดฃเด™เตเด™เดณเตเดฃเตเดŸเต. 

เด†เดฆเตเดฏเดคเตเดคเต‡เดคเตเด‚ เดเดฑเตเดฑเดตเตเด‚ เดตเตเดฏเด•เตเดคเดตเตเดฎเดพเดฏเดคเต: เด†เตปเดกเตเดฐเต‹เดฏเดฟเดกเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดŽเดจเตเดฑเต† เดตเตเดฏเด•เตเดคเดฟเดชเดฐเดฎเดพเดฏ เด†เดตเดถเตเดฏเด•เดคเด•เตพ เดจเดฟเดฑเดตเต‡เดฑเตเดฑเตเดจเตเดจเดฟเดฒเตเดฒ.

เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต: เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เด‡เดฎเต†เดฏเดฟเตฝ เดตเดดเดฟ เดตเดฐเตเดจเตเดจ เดŽเดฒเตเดฒเดพเดคเตเดคเดฐเด‚ เด•เดพเดฐเตเดฏเด™เตเด™เดณเต†เดฏเตเด‚ เด•เตเดฑเดฟเดšเตเดšเต เดฎเดคเดฟเดฏเดพเดฏ เดจเต‡เดฑเตเดฑเต€เดตเต เด…เดฑเดฟเดฏเดฟเดชเตเดชเตเด•เตพ เด‡เดฒเตเดฒ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เตพ).

เดฎเต‚เดจเตเดจเดพเดฎเดคเต: เดŽเดจเตเดฑเต† เดคเดพเตฝเดชเตเดชเดฐเตเดฏเด™เตเด™เตพ เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเดคเตเดคเต เดŽเดจเดฟเด•เตเด•เต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดณเตเดณ เด†เดณเตเด•เดณเต†/เดนเดฌเตเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเตเดฏเด•เตเดคเดฟเด—เดค เดกเตˆเดœเดธเตเดฑเตเดฑเตเด•เตพ (เด’เดฐเต เดตเต€เด•เตเดทเดฃเด‚ เดชเต‹เดฒเต†).

เด‰เดคเตเดคเดฐเด‚, เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดตเดณเดฐเต† เดฎเดจเต‹เดนเดฐเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เด•เตเดฑเดžเตเดžเดคเต เดธเดคเตเดฏเดธเดจเตเดงเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต:

เดจเดฟเตผเดญเดพเด—เตเดฏเดตเดถเดพเตฝ, เดžเด™เตเด™เดณเตเดŸเต† API-เดฏเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด†เด•เตเดธเดธเต เดจเดฟเดฒเดตเดฟเตฝ เดฒเดญเตเดฏเดฎเดฒเตเดฒ. API เด…เดจเตเดคเดฟเดฎเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เดฟเดฏ เดถเต‡เดทเด‚ เด†เด•เตโ€Œเดธเดธเต เดจเตฝเด•เตเดจเตเดจเดคเต เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพ เดชเดฆเตเดงเดคเดฟเดฏเดฟเดŸเตเดจเตเดจเต, เดชเด•เตเดทเต‡ เดžเด™เตเด™เตพเด•เตเด•เต เด‡เดคเตเดตเดฐเต† เด•เตƒเดคเตเดฏเดฎเดพเดฏ เดคเต€เดฏเดคเดฟเด•เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ, เด•เดพเดฐเดฃเด‚ เดžเด™เตเด™เตพ เดจเดฟเดฒเดตเดฟเตฝ เดฎเดฑเตเดฑเต เดฎเตเตปเด—เดฃเดจเดพ เดœเต‹เดฒเดฟเด•เตพ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเดจเตเดจ เดคเดฟเดฐเด•เตเด•เดฟเดฒเดพเดฃเต.

"เดถเดฐเดฟ เด•เตเดดเดชเตเดชเด‚ เด‡เดฒเตเดฒ! เดžเด™เตเด™เตพ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด•เตŠเดฃเตเดŸเต เดตเดฐเดพเด‚!" - เดžเดพเตป เดŽเดจเตเดจเต‹เดŸเต เดคเดจเตเดจเต† เดชเดฑเดžเตเดžเต เดจเต‹เด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เดฟ.

เดฐเดฃเตเดŸเดพเด‚ เดญเดพเด—เด‚. เด†เดดเดคเตเดคเดฟเดฒเตเดณเตเดณ เด–เดจเดจเด™เตเด™เตพ.

เดฒเต‹เดœเดฟเด•เตเด•เดฟเดจเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ, เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด…เดคเดฟเดจเต API-เดฏเดฟเดฒเต‡เด•เตเด•เต เด†เด•เตโ€Œเดธเดธเต เด‰เดฃเตเดŸเต, เด…เดคเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดฟเดฒเต‡เด•เตเด•เต เดนเดพเตผเดกเต เดตเดฏเตผ เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดจเดฎเตเด•เตเด•เต เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเดพเด‚.

เดžเด™เตเด™เตพ เดŸเตเดฐเดพเดซเดฟเด•เตเด•เตเดฎเดพเดฏเดฟ เด‡เดŸเดชเต†เดŸเตเดจเตเดจเดคเดฟเดจเดพเตฝ, เดตเดฏเตผเดทเดพเตผเด•เตเด•เต เดžเด™เตเด™เดณเตเดŸเต† เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดชเตเดชเดพเดฃเต. เด•เตเดฑเดšเตเดšเต เดตเต‡เดฆเดจเด•เดณเดฟเดฒเตเดฒเดพเดคเต†, เด’เดฐเต เดกเต†เดธเตเด•เตเดŸเต‹เดชเตเดชเต เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเตผ เดตเดดเดฟ เดซเต‹เตบ เด‡เดจเตเดฑเตผเดจเต†เดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด•เดฃเด•เตเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดคเต, เดžเด™เตเด™เตพ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดคเตเดฑเดจเตเดจเต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดจเต‹เด•เตเด•เตเดจเตเดจเต:

(เด…เตบ)เด”เดฆเตเดฏเต‹เด—เดฟเด• Habr เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป - HabrApp 2.0: เด†เด•เตเดธเดธเต เดจเต‡เดŸเตเดจเตเดจเต
เด’เดจเตเดจเตเด‚ เดตเตเดฏเด•เตเดคเดฎเดฒเตเดฒเต†เดจเตเดจเต เดตเตเดฏเด•เตเดคเด‚

เด…เดคเต†, เดŽเดฒเตเดฒเดพเด‚ เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดชเด•เตเดทเต‡ เด•เตเดฐเดฟเดชเตเดฑเตเดฑเต‹เด—เตเดฐเดซเดฟเดฏเดฟเตฝ เด•เตเดดเดชเตเดชเดฎเตเดฃเตเดŸเดพเด•เตเด•เดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เด…เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เด‰เดณเตเดณเดฟเตฝ เดคเดจเตเดจเต† เดจเต‹เด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.

เดตเดฟเด˜เดŸเดฟเดชเตเดชเดฟเดšเตเดšเต .apk, เดจเดฎเตเด•เตเด•เต เดจเต‹เด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เดพเด‚. เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ API-เดฏเตเด•เตเด•เต เดŽเดจเตเดคเดพเดฃเต เดตเต‡เดฃเตเดŸเดคเต? เดถเดฐเดฟ, เด…เดตเดธเดพเดจ เดชเต‹เดฏเดฟเดจเตเดฑเต, เดŽเดฒเตเดฒเดพ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเตเด‚ เดชเต‹เด•เตเดจเตเดจ เดธเตเดฅเดฒเด‚. เด‡เดคเต เด’เดฐเตเดชเด•เตเดทเต‡ http(เด•เตพ) เด†เดฃเต, เดจเดฎเตเด•เตเด•เต โ€œ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เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เด†เดตเดถเตเดฏเดฎเดพเดฃเต api;
  • เด‰เดชเดฏเต‹เด•เตเดคเตƒ เด…เด‚เด—เต€เด•เดพเดฐ URL (เดตเดฟเดšเดฟเดคเตเดฐเดฎเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เดˆ เดฐเต€เดคเดฟเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเตฝ เด’เดจเตเดจเตเดฎเดฟเดฒเตเดฒ, เด’เดฐเตเดชเด•เตเดทเต‡ เด‡เดคเต เดจเตฝเด•เดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต‡?)

เด…เด™เตเด™เดจเต†เดฏเดพเดฃเต เด…เดคเต เดธเด‚เดญเดตเดฟเดšเตเดšเดคเต. เดˆ เดšเต†เดฑเดฟเดฏ เด—เดตเต‡เดทเดฃเดคเตเดคเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ, เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เด‡เดคเดฟเดจเด•เด‚ เดจเดŸเดจเตเดจเตเด•เตŠเดฃเตเดŸเดฟเดฐเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต - เด’เดฐเต เดฎเตŠเดฌเตˆเตฝ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เดžเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เดจเดŸเดชเตเดชเดพเด•เตเด•เตฝ. เด’เดฐเต เดธเดจเตเดฆเต‡เดถเด‚ เดŽเดดเตเดคเดพเตป เดธเดนเดพเดฏเดฟเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดตเดฐเต‹เดŸเตเด‚ เดฎเดฑเตเดฑเต†เดฒเตเดฒเดพเดตเดฐเต‹เดŸเตเด‚ เดตเต‹เดŸเตเดŸเตเดšเต†เดฏเตเดฏเดพเตป เดžเดพเตป เด†เดตเดถเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต (เด•เดพเดฐเดฃเด‚ เด†เตผเด•เตเด•เต†เด™เตเด•เดฟเดฒเตเด‚ เด‡เดคเต เด†เดตเดถเตเดฏเดฎเตเดฃเตเดŸเต‹ เดŽเดจเตเดจเต เดฎเดจเดธเดฟเดฒเดพเด•เตเด•เดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต).

ะกะฟะฐัะธะฑะพ!

เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดค เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต เดฎเดพเดคเตเดฐเดฎเต‡ เดธเตผเดตเต‡เดฏเดฟเตฝ เดชเด™เตเด•เต†เดŸเตเด•เตเด•เดพเตป เด•เดดเดฟเดฏเต‚. เดธเตˆเตป เด‡เตปเดฆเดฏเดตเดพเดฏเดฟ.

เดจเดฟเด™เตเด™เตพ Habr เดฎเตŠเดฌเตˆเตฝ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹?

  • เด…เดคเต†, เดžเดพเตป เด…เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต, เดžเดพเตป เด…เดคเดฟเตฝ เดธเดจเตเดคเตเดทเตเดŸเดจเดพเดฃเต

  • เด…เดคเต†, เดžเดพเตป เด…เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต, เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด…เดธเตŒเด•เดฐเตเดฏเด‚ เด‰เดฃเตเดŸเดพเด•เตเด•เตเดจเตเดจเต

  • เด‡เดฒเตเดฒ, เดžเดพเตป เดŽเดจเตเดฑเต† เดซเต‹เดฃเดฟเตฝ เดตเต†เดฌเต เดชเดคเดฟเดชเตเดชเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต

  • เด‡เดฒเตเดฒ, เดžเดพเตป เดŽเดจเตเดฑเต† เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเดฟเตฝ เดจเดฟเดจเตเดจเดพเดฃเต Habr เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต

357 เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพ เดตเต‹เดŸเตเดŸเต เดšเต†เดฏเตเดคเต. 30 เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพ เดตเดฟเดŸเตเดŸเตเดจเดฟเดจเตเดจเต.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•