(เจ…เจฃ) เจ…เจงเจฟเจ•เจพเจฐเจค เจนเฉˆเจฌเจฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ - เจนเฉˆเจฌเจฐ เจเจช 2.0: เจชเจนเฉเฉฐเจš เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ

เจ‡เฉฑเจ• เจธเฉเจธเจค เจ…เจคเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ•เจพเจซเจผเฉ€ เจฌเฉ‹เจฐเจฟเฉฐเจ— เจธเจผเจพเจฎ, เจฎเฉˆเจ‚, เจ‰เฉฑเจฅเฉ‹เจ‚ เจจเจฟเจ•เจฒ เจฐเจฟเจนเจพ เจนเจพเจ‚ เจ…เจงเจฟเจ•เจพเจฐเฉ€ ะฟั€ะธะปะพะถะตะฝะธะต ั…ะฐะฑั€ะฐ, ะฒ ะบะพั‚ะพั€ั‹ะน ั€ะฐะท ะทะฐะณะธะฑะฐะป ะฟะฐะปัŒั†ั‹, ะฟะพ ะพะดะฝะพะผัƒ ะทะฐ ะบะฐะถะดัƒัŽ ะฝะตั€ะฐะฑะพั‡ัƒัŽ ั„ะธั‡ัƒ. ะขัƒั‚, ะฝะฐะฟั€ะธะผะตั€, ะฝะตะปัŒะทั ะฟั€ะพะบะพะผะผะตะฝั‚ะธั€ะพะฒะฐั‚ัŒ, ะทะดะตััŒ ะพั‚ะบะฐะทั‹ะฒะฐัŽั‚ ะฒ ะฟั€ะฐะฒะต ะณะพะปะพัะฐ, ะธ ะฒะพะพะฑั‰ะต, ะฟะพั‡ะตะผัƒ ะฝะต ะฒะธะดะฝะพ ั„ะพั€ะผัƒะป ะฝะฐ ัะบั€ะฐะฝะต?

(เจ…เจฃ) เจ…เจงเจฟเจ•เจพเจฐเจค เจนเฉˆเจฌเจฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ - เจนเฉˆเจฌเจฐ เจเจช 2.0: เจชเจนเฉเฉฐเจš เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ
ะ‘ั‹ะปะพ ั€ะตัˆะตะฝะพ: ะฝัƒะถะฝะพ ั‡ั‚ะพ-ั‚ะพ ัƒะดะพะฑะฝะพะต, ะฟั€ะธัั‚ะฝะพะต, ัะฒะพั‘. ะงั‚ะพ ะฝะฐัั‡ั‘ั‚ ัะฒะพะตะณะพ ะฟั€ะธะปะพะถะตะฝะธั ะดะปั ะฅะฐะฑั€ะฐ?
เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจธเจฎเจเจฃ เจฒเจˆ เจฎเฉˆเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉเจ เจธเจ•เฉเจฐเฉ€เจจเจธเจผเจพเจŸ เจฆเจฟเฉฐเจฆเจพ เจนเจพเจ‚เฅค

(เจ…เจฃ) เจ…เจงเจฟเจ•เจพเจฐเจค เจนเฉˆเจฌเจฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ - เจนเฉˆเจฌเจฐ เจเจช 2.0: เจชเจนเฉเฉฐเจš เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพเจ•เฉเจ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ‡เจธ เจจเฉ‚เฉฐ - เจฆเจพ. habr.com เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ

"เจ…เจธเฉเจตเจฟเจงเจพเจตเจพเจ‚" เจฆเฉ€ เจธเฉ‚เจšเฉ€

  • เจคเฉเจธเฉ€เจ‚ เจ‰เจธ เจชเฉเจฐเจ•เจพเจธเจผเจจ เจจเฉ‚เฉฐ เจฆเจฐเจœเจพ เจจเจนเฉ€เจ‚ เจฆเฉ‡ เจธเจ•เจฆเฉ‡ เจœเจฟเจธ เจฆเฉ€ เจฐเฉ‡เจŸเจฟเฉฐเจ— 0 เจคเฉ‹เจ‚ เจตเฉฑเจ–เจฐเฉ€ เจนเฉˆ
  • เจŸเจฟเฉฑเจชเจฃเฉ€ เจฒเจฟเจ–เจฃเจพ เจนเจฎเฉ‡เจธเจผเจพ เจธเฉฐเจญเจต เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ
  • เจชเฉ‹เจฒ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡
  • เจ—เฉ‚เฉœเฉเจนเฉ‡ เจฅเฉ€เจฎ เจตเจฟเฉฑเจš เจซเจพเจฐเจฎเฉ‚เจฒเฉ‡ เจฆเจฟเจ–เจพเจˆ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเฉ‡ (เจ•เจพเจฒเฉ‡ เจคเฉ‡ เจ•เจพเจฒเฉ‡)
  • ะ”ะพัั‚ัƒะฟะฝั‹ ะฝะต ะฒัะต ะทะฐะบะปะฐะดะบะธ

เจนเจพเจ‚, เจเจช เจจเฉ‚เฉฐ เจชเจฟเจ›เจฒเฉ‡ เจธเจพเจฒ เจ…เจ—เจธเจค เจคเฉ‹เจ‚ เจ…เจชเจกเฉ‡เจŸ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจชเจฐ เจ‡เจน เจ…เจœเฉ‡ เจตเฉ€ เจ–เจฐเจพเจฌ เจนเฉˆเฅค เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจธ เจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ.

เจญเจพเจ— เจ‡เฉฑเจ•. เจชเจนเฉเฉฐเจš เจฒเฉฑเจญ เจฐเจฟเจนเจพ เจนเฉˆเฅค

เจคเฉ‡เจœเจผ Google เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› "habrahabr API" เจ‡เจน เจ•เจนเจฟเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ•เจพเจซเจผเฉ€ เจชเฉเจฐเจพเจฃเจพ เจนเฉˆ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ Github 'เจคเฉ‡, เจ‰เจฆเฉ‹เจ‚ เจคเฉ‹เจ‚ เจ…เฉฑเจชเจกเฉ‡เจŸ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจจเจตเฉฐเจฌเจฐ 21 2016, เจ…เจคเฉ‡ เจ‡เจน, เจ‡เฉฑเจ• เจชเจฒ เจฒเจˆ, เจขเจพเจˆ เจธเจพเจฒ.

เจ‡เจธ เจคเฉฑเจฅ เจจเฉ‚เฉฐ เจจเจœเจผเจฐเจ…เฉฐเจฆเจพเจœเจผ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ•เจฟ เจ‡เจน PHP เจนเฉˆ, เจนเฉ‡เจ เจพเจ‚ เจธเจ•เฉเจฐเฉ‹เจฒ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจชเฉœเฉเจนเฉ‹:

เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ†เจˆเจกเฉ€ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ

เจฆเจพ เจซเจพเจ‡เจฆเจพ เจ‰เจ เจพเจ‰เจ‚เจฆเฉ‡ เจนเฉ‹เจ เจ‡เจน เจซเจพเจฐเจฎ Habrahabr 'เจคเฉ‡, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจจเจตเฉ€เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ‡ เจธเจพเจฐ เจ…เจคเฉ‡ เจ‰เจธ เจ‰เจฆเฉ‡เจธเจผ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจœเจฟเจธ เจฒเจˆ เจ‡เจธเจจเฉ‚เฉฐ API เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

เจ•เฉ‹เจˆ เจธเจตเจพเจฒ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจœเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจนเฉเฉฐเจš เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ. เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจชเฉฑเจคเจฐ เจฒเจฟเจ–เจฆเฉ‡ เจนเจพเจ‚ (เจธเฉฐเจ–เฉ‡เจช):

เจชเฉฑเจคเจฐ

ะ•ัั‚ัŒ ะถะตะปะฐะฝะธะต ัะดะตะปะฐั‚ัŒ ะฟั€ะธะปะพะถะตะฝะธะต ะดะปั ะฅะฐะฑั€ะฐ ะฝะฐ ะพัะฝะพะฒะต PWA. ะŸั€ะธั‡ะธะฝ ัั‚ะพะผัƒ ะฝะตัะบะพะปัŒะบะพ. 

เจชเจนเจฟเจฒเจพ เจ…เจคเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจธเจชเฉฑเจธเจผเจŸ: เจเจ‚เจกเจฐเฉŒเจ‡เจก เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฎเฉ‡เจฐเฉ€เจ†เจ‚ เจจเจฟเฉฑเจœเฉ€ เจœเจผเจฐเฉ‚เจฐเจคเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ€เฅค

เจฆเฉ‚เจœเจพ: เจนเจฐ เจ•เจฟเจธเจฎ เจฆเฉ€เจ†เจ‚ เจšเฉ€เจœเจผเจพเจ‚ เจฌเจพเจฐเฉ‡ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€เจ†เจ‚ เจฎเฉ‚เจฒ เจธเฉ‚เจšเจจเจพเจตเจพเจ‚ เจจเจนเฉ€เจ‚ เจนเจจ เจœเฉ‹ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจˆเจฎเฉ‡เจฒ เจฆเฉเจ†เจฐเจพ เจ†เจ‰เจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ (เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚)เฅค

เจคเฉ€เจœเจพ: เจฎเฉ‡เจฐเฉ€เจ†เจ‚ เจฆเจฟเจฒเจšเจธเจชเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹เจ, เจฎเฉ‡เจฐเฉ€ เจฆเจฟเจฒเจšเจธเจชเฉ€ เจตเจพเจฒเฉ‡ เจฒเฉ‹เจ•เจพเจ‚/เจนเฉฑเจฌเจพเจ‚ 'เจคเฉ‡ เจจเจฟเฉฑเจœเฉ€ เจนเจœเจผเจฎ (เจ‡เฉฑเจ• เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจตเจœเฉ‹เจ‚)เฅค

เจœเจตเจพเจฌ, เจฌเฉ‡เจธเจผเจ•, เจฌเจนเฉเจค เจธเฉเจนเจพเจตเจฃเจพ เจจเจนเฉ€เจ‚ เจธเฉ€, เจชเจฐ เจ˜เฉฑเจŸเฉ‹ เจ˜เฉฑเจŸ เจ‡เจฎเจพเจจเจฆเจพเจฐ:

เจฌเจฆเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ, เจธเจพเจกเฉ‡ API เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจš เจ‰เจชเจฒเจฌเจง เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ API เจจเฉ‚เฉฐ เจ…เฉฐเจคเจฟเจฎ เจฐเฉ‚เจช เจฆเฉ‡เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจชเจนเฉเฉฐเจš เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจเจพ เจฆเฉเจฌเจพเจฐเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฏเฉ‹เจœเจจเจพ เจฌเจฃเจพ เจฐเจนเฉ‡ เจนเจพเจ‚, เจชเจฐ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ…เจœเฉ‡ เจ•เฉ‹เจˆ เจธเจนเฉ€ เจคเจพเจฐเฉ€เจ– เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ‡เจธ เจธเจฎเฉ‡เจ‚ เจนเฉ‹เจฐ เจคเจฐเจœเฉ€เจนเฉ€ เจ•เฉฐเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฐเฉเฉฑเจเฉ‡ เจนเฉ‹เจ เจนเจพเจ‚เฅค

โ€œเจ เฉ€เจ• เจนเฉˆ, เจ•เฉ‹เจˆ เจธเจฎเฉฑเจธเจฟเจ† เจจเจนเฉ€เจ‚! เจ…เจธเฉ€เจ‚ เจ•เฉเจ เจฒเฉˆ เจ•เฉ‡ เจ†เจตเจพเจ‚เจ—เฉ‡!" - เจฎเฉˆเจ‚ เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจฆเฉฑเจธเจฟเจ† เจ…เจคเฉ‡ เจฆเฉ‡เจ–เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ.

เจญเจพเจ— เจฆเฉ‹เฅค เจกเฉ‚เฉฐเจ˜เฉ€ เจ–เฉเจฆเจพเจˆ.

เจคเจฐเจ• เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡, เจœเฉ‡เจ•เจฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจšเฉฑเจฒ เจฐเจนเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจธเจฆเฉ€ API เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจน เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจตเจฟเฉฑเจš เจนเจพเจฐเจกเจตเจพเจ‡เจฐเจก เจนเฉˆเฅค เจ†เจ‰ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเฉ€เจ.

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ…เจธเฉ€เจ‚ เจŸเฉเจฐเฉˆเจซเจฟเจ• เจจเจพเจฒ เจจเจœเจฟเฉฑเจ  เจฐเจนเฉ‡ เจนเจพเจ‚, เจตเจพเจ‡เจฐเจธเจผเจพเจฐเจ• เจธเจพเจกเฉ€ เจชเจธเฉฐเจฆ เจนเฉˆเฅค เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจฆเจฐเจฆ เจฆเฉ‡, เจ‡เฉฑเจ• เจกเฉˆเจธเจ•เจŸเฉŒเจช เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจฐเจพเจนเฉ€เจ‚ เจซเฉ‹เจจ เจจเฉ‚เฉฐ เจ‡เฉฐเจŸเจฐเจจเฉˆเจŸ เจจเจพเจฒ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ…เจธเฉ€เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ–เฉ‹เจฒเฉเจนเจฆเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚:

(เจ…เจฃ) เจ…เจงเจฟเจ•เจพเจฐเจค เจนเฉˆเจฌเจฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ - เจนเฉˆเจฌเจฐ เจเจช 2.0: เจชเจนเฉเฉฐเจš เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ
เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ เจ•เจฟ เจ•เฉเจ เจตเฉ€ เจธเจชเฉฑเจธเจผเจŸ เจจเจนเฉ€เจ‚ เจนเฉˆ

เจนเจพเจ‚, เจธเจญ เจ•เฉเจ เจเจจเจ•เฉเจฐเจฟเจชเจŸเจก เจนเฉˆ, เจชเจฐ เจฎเฉˆเจ‚ เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเฉ€ เจจเจพเจฒ เจ—เฉœเจฌเฉœ เจจเจนเฉ€เจ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเจพเฅค เจซเจฟเจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจฆเฉ‡เจ–เจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ.

เจกเฉ€เจ•เฉฐเจชเจพเจˆเจฒเจก .apk, เจ†เจ‰ เจฆเฉ‡เจ–เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ€เจเฅค เจ•เจฟเจธเฉ‡ API เจจเฉ‚เฉฐ เจ•เฉ€ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ? เจธเจนเฉ€, เจ…เฉฐเจคเจฎ เจชเฉเจ†เจ‡เฉฐเจŸ, เจ‰เจน เจฅเจพเจ‚ เจœเจฟเฉฑเจฅเฉ‡ เจธเจพเจฐเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ‡เจน เจธเจผเจพเจ‡เจฆ 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 เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฒเฉŒเจ— เจฆเฉ‡เจ–เจฃ เจฒเจˆเฅค

(เจ…เจฃ) เจ…เจงเจฟเจ•เจพเจฐเจค เจนเฉˆเจฌเจฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ - เจนเฉˆเจฌเจฐ เจเจช 2.0: เจชเจนเฉเฉฐเจš เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ

เจ…เจšเจพเจจเจ•, เจฒเฉŒเจ— เจ‰เจฎเฉ€เจฆ เจจเจพเจฒเฉ‹เจ‚ เจตเฉ€ เจœเจผเจฟเจ†เจฆเจพ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจจเจฟเจ•เจฒเฉ‡เฅค

ะ—ะดะตััŒ ะตัั‚ัŒ ะฝะต ั‚ะพะปัŒะบะพ ะฝัƒะถะฝั‹ะน ะฝะฐะผ client_idเจชเจฐ เจŸเฉ‹เจ•เจจ เจ‰เจชเจญเฉ‹เจ—เจคเจพ/เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ, เจ…เจคเฉ‡ เจฒเจพเจ—เจ‡เจจ ะธ เจชเจพเจธเจตเจฐเจก เจธเจชเจธเจผเจŸ เจŸเฉˆเจ•เจธเจŸ เจตเจฟเฉฑเจš!

เจ•เฉเจ เจธเจพเจœเจผเจฟเจธเจผ เจฆเฉ‡ เจธเจฟเจงเจพเจ‚เจคเจฒเฉŒเจ—เจธ เจตเจฟเฉฑเจš เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจฒเฉŒเจ—เจ‡เจจ เจ…เจคเฉ‡ เจชเจพเจธเจตเจฐเจก เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจšเฉ€เจœเจผ เจจเฉ‚เฉฐ เจจเฉเจ•เจธเจพเจจ เจจเจนเฉ€เจ‚ เจชเจนเฉเฉฐเจšเจพเจ‰เจ‚เจฆเฉ€, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจนเจจเจพเจ‚ เจฒเฉŒเจ—เจธ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจฐเฉ‚เจŸ เจ…เจงเจฟเจ•เจพเจฐเจพเจ‚ เจœเจพเจ‚ เจ‡เฉฑเจ• เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฆเฉเจ†เจฐเจพ เจชเฉœเฉเจนเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ. adb. เจชเจฐ เจ‡เจธ เจคเฉฑเจฅ เจฆเฉ‡ เจ•เจพเจฐเจจ เจ•เจฟ เจนเจพเจฌเจฐ เจจเฉ‚เฉฐ เจชเฉœเฉเจน เจฐเจนเฉ‡ เจฒเฉ‹เจ•เจพเจ‚ เจตเจฟเฉฑเจš เจเจ‚เจกเจฐเฉŒเจ‡เจก เจกเจฟเจตเฉˆเจฒเจชเจฐ เจนเจจ เจœเจฟเจจเฉเจนเจพเจ‚ เจ•เฉ‹เจฒ เจกเฉ€เจฌเฉฑเจ—เจฟเฉฐเจ— เจธเจฎเจฐเจฅเจฟเจค เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆ, เจ‡เจน เจ‡เฉฑเจ• เจธเจฎเฉฑเจธเจฟเจ† เจฌเจฃ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค

เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจนเจตเจพเจˆ เจ…เฉฑเจกเฉ‡ 'เจคเฉ‡ "เจฎเฉเจซเจผเจค เจšเจพเจฐเจœเจฟเฉฐเจ—" เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจ–เจพเจคเจพ เจšเฉ‹เจฐเฉ€ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ, เจชเจฐ เจ•เจฟเจธ เจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ?
เจ‡เจนเจจเจพเจ‚ เจฒเฉŒเจ—เจธ เจคเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจเจ•เจธเจŸเจฐเฉˆเจ•เจŸ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚:

  • client_id ะธ apikeyเจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจเจชเฉ€เจ†เจˆ;
  • เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ…เจงเจฟเจ•เจพเจฐ URL (เจ…เจœเฉ€เจฌ, เจชเจฐ เจ‡เจธ เจตเจฟเจงเฉ€ เจฌเจพเจฐเฉ‡ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจ•เฉเจ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน เจชเฉเจฐเจฆเจพเจจ เจจเจพ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉ‹เจตเฉ‡?)

เจ…เจœเจฟเจนเจพ เจนเฉ€ เจนเฉ‹เจ‡เจ†เฅค เจ‡เจธ เจ›เฉ‹เจŸเฉ‡ เจœเจฟเจนเฉ‡ เจ–เฉ‹เจœ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡, เจ•เฉฐเจฎ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ 'เจคเฉ‡ เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉˆ - เจ‡เฉฑเจ• เจฎเฉ‹เจฌเจพเจˆเจฒ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเจพ เจธเจพเจกเจพ เจ†เจชเจฃเจพ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพเฅค เจฎเฉˆเจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹ เจธเฉเจจเฉ‡เจนเจพ เจฒเจฟเจ–เจฃ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจฌเจพเจ•เฉ€ เจธเจพเจฐเจฟเจ†เจ‚ เจจเฉ‚เฉฐ - เจตเฉ‹เจŸ เจชเจพเจ‰เจฃ เจฒเจˆ เจ•เจนเจฟเฉฐเจฆเจพ เจนเจพเจ‚ (เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฎเฉˆเจ‚ เจ‡เจน เจธเจฎเจเจฃเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ‚ เจ•เจฟ เจ•เฉ€ เจ•เจฟเจธเฉ‡ เจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ)เฅค

เจคเฉเจนเจพเจกเฉ‡ เจงเจฟเจ†เจจ เจฒเจˆ เจงเฉฐเจจเจตเจพเจฆ!

เจธเจฟเจฐเจซเจผ เจฐเจœเจฟเจธเจŸเจฐเจก เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจนเฉ€ เจธเจฐเจตเฉ‡เจ–เจฃ เจตเจฟเฉฑเจš เจนเจฟเฉฑเจธเจพ เจฒเฉˆ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจธเจพเจˆเจจ - เจ‡เจจ, เจคเฉเจนเจพเจกเจพ เจธเฉเจ†เจ—เจค เจนเฉˆ.

เจ•เฉ€ เจคเฉเจธเฉ€เจ‚ เจนเฉˆเจฌเจฐ เจฎเฉ‹เจฌเจพเจˆเจฒ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹?

  • เจนเจพเจ‚, เจฎเฉˆเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจตเจฐเจคเจฆเจพ เจนเจพเจ‚, เจฎเฉˆเจ‚ เจ‡เจธ เจคเฉ‹เจ‚ เจ–เฉเจธเจผ เจนเจพเจ‚

  • เจนเจพเจ‚, เจฎเฉˆเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจตเจฐเจคเจฆเจพ เจนเจพเจ‚, เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ…เจธเฉเจตเจฟเจงเจพ เจฆเจพ เจ•เจพเจฐเจจ เจฌเจฃเจฆเฉ€ เจนเฉˆ

  • เจจเจนเฉ€เจ‚, เจฎเฉˆเจ‚ เจ†เจชเจฃเฉ‡ เจซเจผเฉ‹เจจ 'เจคเฉ‡ เจตเฉˆเฉฑเจฌ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเจพเจ‚

  • ะะตั‚, ะฟะพะปัŒะทัƒัŽััŒ ะฅะฐะฑั€ะพะผ ั ะบะพะผะฟัŒัŽั‚ะตั€ะฐ

357 เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‡ เจตเฉ‹เจŸ เจ•เฉ€เจคเจพเฅค 30 เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฌเจšเฉ‡ เจนเฉ‹เจ เจนเจจเฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹