(Un) αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Habr αž•αŸ’αž›αžΌαžœαž€αžΆαžš - HabrApp 2.0αŸ– αž‘αž‘αž½αž›αž”αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎ

αž›αŸ’αž„αžΆαž…αžŠαŸαž›αŸ’αžœαžΉαž„αž›αŸ’αžœαžΎαž™ αž αžΎαž™αž‚αž½αžšαž±αŸ’αž™αž’αž»αž‰αžŽαžΆαžŸαŸ‹ αžαŸ’αž‰αž»αŸ†αžŠαžΎαžšαž€αžΆαžαŸ‹ αž•αŸ’αž›αžΌαžœαž€αžΆαžš αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Habr αž‡αžΆαžαŸ’αž˜αžΈαž˜αŸ’αžαž„αž‘αŸ€αž αžαŸ’αž‰αž»αŸ†αž–αžαŸ‹αž˜αŸ’αžšαžΆαž˜αžŠαŸƒαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ† αž˜αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž»αžαž„αžΆαžšαž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αžΈαž˜αž½αž™αŸ—αŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡ αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ αž’αŸ’αž“αž€αž˜αž·αž“αž’αžΆαž…αž”αž‰αŸ’αž…αŸαž‰αž˜αžαž·αž”αžΆαž“αž‘αŸ αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžŠαž·αžŸαŸαž’αžŸαž·αž‘αŸ’αž’αž·αž”αŸ„αŸ‡αž†αŸ’αž“αŸ„αž αž αžΎαž™αž‡αžΆαž‘αžΌαž‘αŸ… αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαžšαžΌαž”αž˜αž“αŸ’αžαž˜αž·αž“αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αž“αŸ…αž›αžΎαž’αŸαž€αŸ’αžšαž„αŸ‹?

(Un) αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Habr αž•αŸ’αž›αžΌαžœαž€αžΆαžš - HabrApp 2.0αŸ– αž‘αž‘αž½αž›αž”αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎ
αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαŸ– αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžŸαŸ’αžšαž½αž› αžšαžΈαž€αžšαžΆαž™ αžšαž”αžŸαŸ‹αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αŸ” αž…αž»αŸ‡αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Habr?
αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžαŸ’αž‰αž»αŸ†αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž’αŸ’αž“αž€αž“αžΌαžœαžšαžΌαž”αžαžαž’αŸαž€αŸ’αžšαž„αŸ‹αž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαžΎαž˜αŸ’αž”αžΈαž™αž›αŸ‹αž–αžΈαžŸαŸ’αžαžΆαž“αž—αžΆαž–αŸ”

(Un) αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Habr αž•αŸ’αž›αžΌαžœαž€αžΆαžš - HabrApp 2.0αŸ– αž‘αž‘αž½αž›αž”αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎαž˜αžΎαž›αž‘αŸ…αžŠαžΌαž…αž“αŸαŸ‡ វអ - αž“αŸƒαŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ habr.com

αž”αž‰αŸ’αž‡αžΈαž“αŸƒ "αž€αžΆαžšαžšαž’αžΆαž€αŸ‹αžšαž’αž½αž›"

  • αž’αŸ’αž“αž€αž˜αž·αž“αž’αžΆαž…αžœαžΆαž™αžαž˜αŸ’αž›αŸƒαž€αžΆαžšαž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αž•αŸ’αžŸαžΆαž™αžŠαŸ‚αž›αž€αžΆαžšαžœαžΆαž™αžαž˜αŸ’αž›αŸƒαžαž»αžŸαž–αžΈ 0
  • αžœαžΆαž˜αž·αž“αžαŸ‚αž„αžαŸ‚αž’αžΆαž…αžŸαžšαžŸαŸαžšαž˜αžαž·αž”αžΆαž“αž‘αŸαŸ”
  • αž€αžΆαžšαžŸαŸ’αž‘αž„αŸ‹αž˜αžαž·αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸαŸ”
  • αžšαžΌαž”αž˜αž“αŸ’αžαž˜αž·αž“αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αžšαžΌαž”αžšαžΆαž„αž„αž„αžΉαžαž‘αŸ (αžαŸ’αž˜αŸ…αž“αŸ…αž›αžΎαžαŸ’αž˜αŸ…)
  • αž˜αž·αž“αž˜αžΆαž“αž…αŸ†αžŽαžΆαŸ†αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αž‘αŸαŸ”

αž”αžΆαž‘ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸαŸ‡αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžαžΆαŸ†αž„αž–αžΈαžαŸ‚αžŸαžΈαž αžΆαž†αŸ’αž“αžΆαŸ†αž˜αž»αž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž“αŸ…αžαŸ‚αž’αžΆαž€αŸ’αžšαž€αŸ‹αŸ” αž‡αžΆαž‘αžΌαž‘αŸ…αžœαžΆαžαŸ’αžšαžΌαžœαžαŸ‚αž‡αž½αžŸαž‡αž»αž›αŸ”

αž•αŸ’αž“αŸ‚αž€αž‘αžΈαž˜αž½αž™αŸ” αž€αŸ†αž–αž»αž„αžŸαŸ’αžœαŸ‚αž„αžšαž€αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαŸ”

αžŸαŸ†αžŽαž½αžš Google រហ័ស "habrahabr API" αžœαžΆαž“αž·αž™αžΆαž™αžαžΆαžœαžΆαž αž½αžŸαžŸαž˜αŸαž™αž αžΎαž™αŸ” αžƒαŸ’αž›αžΆαŸ†αž„ αž“αŸ…αž›αžΎ Github αž˜αž·αž“αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžαžΆαŸ†αž„αž–αžΈαž–αŸαž›αž“αŸ„αŸ‡αž˜αž€ αžαŸ‚αžœαž·αž…αŸ’αž†αž·αž€αžΆ 21 2016αž αžΎαž™αž“αŸαŸ‡αž˜αž½αž™αž—αŸ’αž›αŸ‚αž αž–αžΈαžšαž†αŸ’αž“αžΆαŸ†αž€αž“αŸ’αž›αŸ‡.

αžŠαŸ„αž™αž˜αž·αž“αž’αžΎαž–αžΎαž“αžΉαž„αž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαž“αŸαŸ‡αž‚αžΊαž‡αžΆ PHP αžŸαžΌαž˜αžšαŸ†αž€αž·αž›αž…αž»αŸ‡αž€αŸ’αžšαŸ„αž˜αž αžΎαž™αž’αžΆαž“αŸ–

αž‘αž‘αž½αž›αž”αžΆαž“αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ

αž‘αžΆαž‰β€‹αž™αž€β€‹αž”αŸ’αžšαž™αŸ„αž‡αž“αŸ αž‘αž˜αŸ’αžšαž„αŸ‹αž“αŸαŸ‡αŸ” αž“αŸ…αž›αžΎ Habrahabr αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž–αžŽαŸŒαž“αžΆαž™αŸ‰αžΆαž„αžαŸ’αž›αžΈαž’αŸ†αž–αžΈαžαŸ’αž›αžΉαž˜αžŸαžΆαžšαž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ’αž˜αžΈ αž“αž·αž„αž‚αŸ„αž›αž”αŸ†αžŽαž„αžŠαŸ‚αž›αžœαžΆαžαŸ’αžšαžΌαžœαž€αžΆαžš API αŸ”

αž˜αž·αž“αž˜αžΆαž“αžŸαŸ†αžŽαž½αžšαž‘αŸαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎ αž“αŸ„αŸ‡αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαžœαžΆαŸ” αž™αžΎαž„αžŸαžšαžŸαŸαžšαžŸαŸ†αž”αž»αžαŸ’αžš (αž’αž€αŸ’αžŸαžšαž€αžΆαžαŸ‹)αŸ–

αž›αž·αžαž·αž

αž˜αžΆαž“αž”αŸ†αžŽαž„αž…αž„αŸ‹αž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Habr αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎ PWA αŸ” αž˜αžΆαž“αž αŸαžαž»αž•αž›αž‡αžΆαž…αŸ’αžšαžΎαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαžΏαž„αž“αŸαŸ‡αŸ” 

αž‘αžΈαž˜αž½αž™ αž“αž·αž„αž…αŸ’αž”αžΆαžŸαŸ‹αž”αŸ†αž•αž»αžαŸ– αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Android αž˜αž·αž“αž”αŸ†αž–αŸαž‰αžαžΆαž˜αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αž‘αŸαŸ”

αž‘αžΈαž–αžΈαžšαŸ– αž˜αž·αž“β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž‡αžΌαž“β€‹αžŠαŸ†αžŽαžΉαž„β€‹αž–αžΈβ€‹αžŠαžΎαž˜β€‹αž‚αŸ’αžšαž”αŸ‹β€‹αž‚αŸ’αžšαžΆαž“αŸ‹β€‹αž’αŸ†αž–αžΈβ€‹αž‚αŸ’αžšαž”αŸ‹β€‹αž”αŸ’αžšαž—αŸαž‘β€‹αžŠαŸ‚αž›β€‹αž‡αžΆβ€‹αž’αž˜αŸ’αž˜αžαžΆβ€‹αž˜αž€β€‹αžαžΆαž˜β€‹αž’αŸŠαžΈαž˜αŸ‚αž› (αž‡αžΆβ€‹αž§αž‘αžΆαž αžšαžŽαŸ αž˜αžαž·αž™αŸ„αž”αž›αŸ‹)αŸ”

αž‘αžΈαž”αžΈαŸ– αž€αžΆαžšαžŸαž„αŸ’αžαŸαž”αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“ (αž‡αžΆαž‘αžŸαŸ’αžŸαž“αŸˆαž˜αž½αž™) αž›αžΎαž˜αž“αž»αžŸαŸ’αžŸ/αž˜αž‡αŸ’αžˆαž˜αžŽαŸ’αžŒαž›αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸ αžŠαŸ„αž™αž‚αž·αžαž–αžΈαž•αž›αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†αŸ”

αž…αž˜αŸ’αž›αžΎαž™β€‹αž–αž·αžβ€‹αž‡αžΆβ€‹αž˜αž·αž“β€‹αžŸαžΌαžœβ€‹αžŸαž”αŸ’αž”αžΆαž™β€‹αž…αž·αžαŸ’αžβ€‹αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚β€‹αž™αŸ‰αžΆαž„β€‹αž αŸ„αž…β€‹αžŽαžΆαžŸαŸ‹β€‹αžŠαŸ„αž™β€‹αžŸαŸ’αž˜αŸ„αŸ‡β€‹αžαŸ’αžšαž„αŸ‹αŸ–

αž‡αžΆαž’αž€αž»αžŸαž› αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎ API αžšαž”αžŸαŸ‹αž™αžΎαž„αž‚αžΊαž˜αž·αž“αž˜αžΆαž“αž“αŸ…αž–αŸαž›αž“αŸαŸ‡αž‘αŸαŸ” αž™αžΎαž„αž˜αžΆαž“αž‚αž˜αŸ’αžšαŸ„αž„αž”αž“αŸ’αžαž•αŸ’αžαž›αŸ‹αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž‘αžΎαž„αžœαž·αž‰ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž™αžΎαž„αž”αž‰αŸ’αž…αž”αŸ‹αž€αžΆαžšαž”αž‰αŸ’αž…αž”αŸ‹ API αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΎαž„αž˜αž·αž“αž‘αžΆαž“αŸ‹αž˜αžΆαž“αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹αž“αŸ…αž‘αžΎαž™αž‘αŸ αžŠαŸ„αž™αžŸαžΆαžš αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž“αŸαŸ‡ αž™αžΎαž„αž€αŸ†αž–αž»αž„αž˜αž˜αžΆαž‰αžΉαž€αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž’αžΆαž‘αž·αž—αžΆαž–αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ”

β€œαž˜αž·αž“αž’αžΈαž‘αŸ αž‚αŸ’αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαž‘αŸ! αž™αžΎαž„αž“αžΉαž„αž˜αž€αžšαž€αžšαžΏαž„αž˜αž½αž™!” - αžαŸ’αž‰αž»αŸ†αž“αž·αž™αžΆαž™αž‘αŸ…αž€αžΆαž“αŸ‹αžαŸ’αž›αž½αž“αž―αž„ αž αžΎαž™αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž˜αžΎαž›αŸ”

αž•αŸ’αž“αŸ‚αž€αž‘αžΈαž–αžΈαžšαŸ” αž€αžΆαžšαž‡αžΈαž€αž‡αŸ’αžšαŸ…αŸ”

αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αŸ„αŸ‡αžœαžΆαž˜αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎ API αž αžΎαž™αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ„αž™αžšαžΉαž„αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαŸ” αž…αžΌαžšαž™αžΎαž„αžœαž·αž—αžΆαž‚αŸ”

αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαž™αžΎαž„αž€αŸ†αž–αž»αž„αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž…αžšαžΆαž…αžšαžŽαŸ Wireshark αž‚αžΊαž‡αžΆαž‡αž˜αŸ’αžšαžΎαžŸαžšαž”αžŸαŸ‹αž™αžΎαž„αŸ” αž˜αž·αž“αž˜αŸ‚αž“αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαžˆαžΊαž…αžΆαž”αŸ‹αž‘αŸ αžŠαŸ„αž™αž”αžΆαž“αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αžΌαžšαžŸαŸαž–αŸ’αž‘αž‘αŸ…αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžαžαžΆαž˜αžšαž™αŸˆαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαž›αžΎαžαž» αž™αžΎαž„αž”αžΎαž€αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž αžΎαž™αž˜αžΎαž›αžŸαŸ†αžŽαžΎαžšαŸ–

(Un) αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Habr αž•αŸ’αž›αžΌαžœαž€αžΆαžš - HabrApp 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"

αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αžΌαžŠαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αž Android (αžŠαžΆαž›αžœαžΈαž€αžœαžΈ) αž˜αž·αž“αž’αžΆαž…αž™αž›αŸ‹αž”αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž“αž»αžŸαŸ’αžŸαž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αžαŸ‚αž˜αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αŸ” αžαŸαžšαž‘αžΆαŸ†αž„αž”αžΈαž“αŸαŸ‡ αžœαž·αž“αž·αž…αŸ’αž†αŸαž™αžŠαŸ„αž™αžαŸ’αž›αžΉαž˜αžŸαžΆαžš αž“αž·αž„αžˆαŸ’αž˜αŸ„αŸ‡αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ αž€αŸαžŠαžΌαž…αž‡αžΆαžƒαŸ’αž›αžΆαŸ†αž„ 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 αžŠαžΎαž˜αŸ’αž”αžΈαž˜αžΎαž›αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαŸ”

(Un) αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Habr αž•αŸ’αž›αžΌαžœαž€αžΆαžš - HabrApp 2.0αŸ– αž‘αž‘αž½αž›αž”αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎ

αžŠαŸ„αž™αž˜αž·αž“αž“αžΉαž€αžŸαŸ’αž˜αžΆαž“αžŠαž›αŸ‹ αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž”αžΆαž“αž”αŸ’αžšαŸ‚αž‘αŸ…αž‡αžΆαž›αž˜αŸ’αž’αž·αžαž‡αžΆαž„αž€αžΆαžšαžšαŸ†αž–αžΉαž„αž‘αž»αž€αŸ”

αž“αŸ…αž‘αžΈαž“αŸαŸ‡αž™αžΎαž„αž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ‚αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž™αžΎαž„αžαŸ’αžšαžΌαžœαž€αžΆαžšαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αž‘αŸ client_idαž”αŸ‰αž»αž“αŸ’αžαŸ‚ αžŸαž‰αŸ’αž‰αžΆαžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹/αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ αž“αž·αž„ αž…αžΌαž› ΠΈ αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžαŸ’αžαž”αž‘αž’αž˜αŸ’αž˜αžαžΆ!

αž‘αŸ’αžšαžΉαžŸαŸ’αžαžΈαžŸαž˜αž‚αŸ†αž“αž·αžαž˜αž½αž™αž…αŸ†αž“αž½αž“αžœαžαŸ’αžαž˜αžΆαž“β€‹αž“αŸƒβ€‹αž€αžΆαžšβ€‹αž…αžΌαž› αž“αž·αž„β€‹αž–αžΆαž€αŸ’αž™β€‹αžŸαž˜αŸ’αž„αžΆαžαŸ‹β€‹αž€αŸ’αž“αž»αž„β€‹αž€αŸ†αžŽαžαŸ‹β€‹αž αŸαžαž»β€‹αž˜αž·αž“β€‹αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹β€‹αž’αŸ’αžœαžΈβ€‹αž‘αžΎαž™ αž–αŸ’αžšαŸ„αŸ‡β€‹αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»β€‹αž‘αžΆαŸ†αž„β€‹αž“αŸαŸ‡β€‹αž’αžΆαž…β€‹αž’αžΆαž“β€‹αž”αžΆαž“β€‹αžαŸ‚β€‹αž‡αžΆαž˜αž½αž™β€‹αžŸαž·αž‘αŸ’αž’αž·β€‹αž‡αžΆ root αž¬β€‹αž€αžΆαžšβ€‹αžαž—αŸ’αž‡αžΆαž”αŸ‹β€‹αžαžΆαž˜β€‹αžšαž™αŸˆ adb. αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž˜αž“αž»αžŸαŸ’αžŸαžŠαŸ‚αž›αž’αžΆαž“ Habr αž˜αžΆαž“αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ Android αžŠαŸ‚αž›αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž”αžΆαž“αž”αžΎαž€αž€αžΆαžšαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαž“αŸαŸ‡αž€αŸ’αž›αžΆαž™αž‡αžΆαž”αž‰αŸ’αž αžΆαŸ”

αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž“αŸαŸ‡ "αž€αžΆαžšαž‚αž·αžαž”αŸ’αžšαžΆαž€αŸ‹αžŠαŸ„αž™αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ" αž“αŸ…αž–αŸ’αžšαž›αžΆαž“αž™αž“αŸ’αžαž αŸ„αŸ‡αž’αžΆαž…αž”αžŽαŸ’αžαžΆαž›αž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž›αž½αž…αž‚αžŽαž“αžΈ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαžΎαž’αŸ’αž“αž€αžŽαžΆαžαŸ’αžšαžΌαžœαž€αžΆαžšαžœαžΆ?
αž–αžΈαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž™αžΎαž„αž’αžΆαž…αžŸαŸ’αžšαž„αŸ‹αž…αŸαž‰αŸ–

  • client_id ΠΈ apikeyαžαž˜αŸ’αžšαžΌαžœαž±αŸ’αž™αž…αžΌαž›αž”αŸ’αžšαžΎ API;
  • URL αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎ (αž…αž˜αŸ’αž›αŸ‚αž€ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αž·αž“αž˜αžΆαž“αž’αŸ’αžœαžΈαž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αž’αŸ†αž–αžΈαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαž“αŸαŸ‡αž‘αŸ αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαžœαžΆαž˜αž·αž“αž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‘αŸ?)

αž“αŸ„αŸ‡αž αžΎαž™αž‡αžΆαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αŸ” αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž€αžΆαžšαžŸαŸ’αžšαžΆαžœαž‡αŸ’αžšαžΆαžœαžŠαŸαžαžΌαž…αž“αŸαŸ‡ αž€αžΆαžšαž„αžΆαžšαž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžšαž½αž…αž αžΎαž™αž›αžΎαž‚αž˜αŸ’αžšαŸ„αž„αžαžΌαž…αž˜αž½αž™ αž–αŸ„αž›αž‚αžΊαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘αžšαž”αžŸαŸ‹αž™αžΎαž„αž•αŸ’αž‘αžΆαž›αŸ‹αŸ” αžαŸ’αž‰αž»αŸ†αžŸαž»αŸ†αž±αŸ’αž™αž’αŸ’αž“αž€αžŠαŸ‚αž›αž…αž„αŸ‹αž‡αž½αž™αžŸαžšαžŸαŸαžšαžŸαžΆαžš αž αžΎαž™αž’αŸ’αž“αž€αž•αŸ’αžŸαŸαž„αž‘αŸ€αž - αž‘αŸ…αž”αŸ„αŸ‡αž†αŸ’αž“αŸ„αž (αž–αŸ’αžšαŸ„αŸ‡αžαŸ’αž‰αž»αŸ†αž…αž„αŸ‹αž™αž›αŸ‹αžαžΆαžαžΎαž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αžαŸ’αžšαžΌαžœαž€αžΆαžšαžœαžΆ) αŸ”

αžŸαžΌαž˜αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›!

αž˜αžΆαž“αžαŸ‚αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αžŠαŸ‚αž›αž’αžΆαž…αž…αžΌαž›αžšαž½αž˜αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαŸ’αž‘αž„αŸ‹αž˜αžαž·αž“αŸαŸ‡αŸ” αž…αžΌαž›αžŸαžΌαž˜αŸ”

αžαžΎαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘ Habr αž‘αŸ?

  • αž”αžΆαž‘ αžαŸ’αž‰αž»αŸ†αž”αŸ’αžšαžΎαžœαžΆ αžαŸ’αž‰αž»αŸ†αžŸαž”αŸ’αž”αžΆαž™αž…αž·αžαŸ’αžαž‡αžΆαž˜αž½αž™αžœαžΆαŸ”

  • αž”αžΆαž‘/αž…αžΆαžŸ αžαŸ’αž‰αž»αŸ†αž”αŸ’αžšαžΎαžœαžΆ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž„αŸ’αž€αžšαž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαžšαž’αžΆαž€αŸ‹αžšαž’αž½αž›

  • αž‘αŸ αžαŸ’αž‰αž»αŸ†αž”αŸ’αžšαžΎαž€αŸ†αžŽαŸ‚αž‚αŸαž αž‘αŸ†αž–αŸαžšαž“αŸ…αž›αžΎαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘αžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†

  • αž‘αŸ αžαŸ’αž‰αž»αŸ†αž”αŸ’αžšαžΎ Habr αž–αžΈαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžšαž”αžŸαŸ‹αžαŸ’αž‰αž»αŸ†

αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ 357 αž“αžΆαž€αŸ‹αž”αžΆαž“αž”αŸ„αŸ‡αž†αŸ’αž“αŸ„αžαŸ” αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ ៑ៀ αž“αžΆαž€αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž αžΆαž˜αžƒαžΆαžαŸ‹αŸ”

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹