(Un) tagradh oifigeil Habr - HabrApp 2.0: a’ faighinn cothrom
Aon fheasgar lag agus gu math dòrainneach mar-thà, mi, a’ leum troimhe oifigeil Iarrtas Habr, a-rithist chrom mi mo chorragan, aon airson gach feart nach robh ag obair. An seo, mar eisimpleir, chan urrainn dhut beachd a thoirt seachad, an seo tha còir bhòtaidh agad a dhiùltadh, agus san fharsaingeachd, carson nach eil na foirmlean rim faicinn air an sgrion?
Chaidh co-dhùnadh: bha feum againn air rudeigin comhfhurtail, tlachdmhor, rudeigin againn fhìn. Dè mu dheidhinn an tagradh agad fhèin airson Habr?
Leig dhomh beagan dhealbhan-sgrìn a thoirt dhut gus an suidheachadh a thuigsinn.
A’ coimhead rudeigin mar seo e - bho. tagradh habr.com
Liosta de "mì-ghoireasachd"
Chan urrainn dhut foillseachadh a tha eadar-dhealaichte bho 0 a mheas
Chan eil e an-còmhnaidh comasach beachd a sgrìobhadh
Chan eil cunntasan-bheachd ag obair
Chan eil foirmlean rim faicinn ann an cuspair dorcha (dubh air dubh)
Chan eil a h-uile comharra-leabhair ri fhaighinn
Tha, cha deach an aplacaid ùrachadh bhon Lùnastal an-uiridh, ach tha e fhathast dona. San fharsaingeachd, feumar a rèiteachadh.
Pàirt a h-aon. A’ coimhead airson ruigsinneachd.
Ceist Ghoogle luath "Habrahabr API" tha e ag ràdh gu bheil e gu math seann-fhasanta mu thràth tasgaidh air Github, nach deach ùrachadh bhon uair sin An t-Samhain 21 2016, agus seo, airson mionaid, dà bhliadhna gu leth.
Le dearmad gur e PHP a tha seo, sgrolaich sìos agus leugh:
A’ faighinn ID an Iarrtais
A ’gabhail brath air foirm seo air Habrahabr, feumaidh tu cunntas goirid a thoirt air brìgh an tagraidh ùr agus an adhbhar airson a bheil feum aige air API.
Chan eil ceist sam bith ann, ma dh'fheumas tu faighinn a-steach, feumaidh tu e. Bidh sinn a’ sgrìobhadh litir (giorrachadh):
Litir
Tha miann ann tagradh a dhèanamh airson Habr stèidhichte air PWA. Tha grunn adhbharan ann airson seo.
A 'chiad agus as fhollaisiche: chan eil an aplacaid Android a' coinneachadh ri na riatanasan pearsanta agam.
San dàrna h-àite: chan eil fiosan dùthchasach gu leòr ann mu gach seòrsa rud a thig mar as trice air post-d (beachdan, mar eisimpleir).
San treas àite: geàrr-chunntasan pearsanta (mar shealladh) air daoine/mòr-ionadan anns a bheil ùidh agam, a’ toirt aire do na h-ùidhean agam.
Cha robh am freagairt, gu dearbh, glè thaitneach, ach co-dhiù onarach:
Gu mì-fhortanach, chan eil cothrom air an API againn ri fhaighinn an-dràsta. Tha sinn an dùil ath-thòiseachadh a’ toirt seachad ruigsinneachd às deidh dhuinn crìoch a chuir air an API, ach chan eil cinn-latha cinnteach againn fhathast, oir Tha sinn an-dràsta trang a’ fuasgladh ghnìomhan prìomhachais eile.
“Ceart gu leòr, gun duilgheadas! Thig sinn suas le rudeigin!" - thuirt mi rium fhìn agus thòisich mi a 'coimhead.
Pàirt a dhà. Cladh domhainn.
Stèidhichte air loidsig, ma tha an aplacaid a 'ruith, tha cothrom aige air an API, agus tha e cruaidh a-steach don tagradh. Dèanamaid anailis.
Leis gu bheil sinn a’ dèiligeadh ri trafaic, is e Wireshark an roghainn againn. Chan ann às aonais beagan pianta, às deidh dhuinn am fòn a cheangal ris an eadar-lìn tro choimpiutair deasg, bidh sinn a’ fosgladh an aplacaid agus a ’coimhead air na h-iarrtasan:
Tha e soilleir nach eil dad soilleir
Tha, tha a h-uile dad air a chrioptachadh, ach chan eil mi airson a bhith ag obair le cryptography. An uairsin feumaidh tu coimhead taobh a-staigh an tagraidh fhèin.
Decompiled .apk, tòisichidh sinn a 'coimhead. Dè a dh'fheumas API sam bith? Deas, aig an deireadh, an t-àit anns an tèid gach iarrtas. Is dòcha gur e seo http(s), feuchaidh sinn ri “https://” a lorg:
Seo an còd airson inneal mas-fhìor Android (Dalvik VM), chan eil e gu math so-thuigsinn dha daoine, ach fhathast gu math fiosrachail. Tha na trì rèiteachaidhean sin, a’ breithneachadh a rèir an susbaint agus an ainm, a bharrachd air an stòr GitHub, air an cleachdadh gus comharra ruigsinneachd iarraidh a’ cleachdadh an dòigh GET.
Bheir sinn sùil nas fhaide. Is e am faidhle a thig suas an ath rud san rannsachadh NetworkModule.smali:
const-string v0, "https://habr.com/api/v1/"
Agus seo an t-àite airson a dhol leis na h-iarrtasan agad!
Gus an obraich an neach-dèiligidh fèin-sgrìobhte gu ceart, chan eil ach aon rud air fhàgail ri dhèanamh a-mach - client_id, a tha dualtach aithnichear sònraichte airson an tagraidh.
Ach, cha do lorgadh an teacsa seo sa chòd stòr fiosrachadh iomchaidh a lorg ...
Ach gu h-obann ann am fear de na faidhlichean ghlac mo shùilean loidhnichean inntinneach:
Tha seo, mar a thuigeas tu, na inntrigeadh log. Ach dè a chlàradh?
Pàirt a trì. Seo na clàran!
Cleachd adb logcat gus clàran tagraidh fhaicinn.
Gu h-obann, thionndaidh na logaichean a-mach gu bhith eadhon nas mionaidiche na bha dùil.
An seo chan e a-mhàin na tha a dhìth oirnn client_idach tòcan neach-cleachdaidh / tagradh, agus logadh a-steach и facal-faire ann an teacsa soilleir!
Cuid de theòiridhean co-fheallChan eil làthaireachd logadh a-steach agus facal-faire anns na logaichean a 'dèanamh cron air rud sam bith, oir chan urrainnear na logaichean sin a leughadh ach le còraichean bunaiteach no ceangal tro adb. Ach air sgàth gu bheil luchd-leasachaidh Android am measg nan daoine a tha a’ leughadh Habr a dh’ fhaodadh a bhith comasach air debugging a dhèanamh, bidh seo na dhuilgheadas.
Anns a 'chùis seo, faodaidh "cosgais an-asgaidh" aig a' phort-adhair a bhith mar thoradh air goid cunntais, ach cò a dh'fheumas e?
Bho na logaichean seo is urrainn dhuinn a thoirt a-mach:
client_id и apikeya dhìth airson faighinn a-steach api;
URL cead neach-cleachdaidh (neònach, ach chan eil dad anns an stòr mun dòigh seo, is dòcha nach eil e air a thoirt seachad?)
Sin mar a thachair. Stèidhichte air an rannsachadh beag seo, tha obair a’ dol air adhart mu thràth air pròiseact beag - ar buileachadh fhèin air tagradh gluasadach. Bidh mi ag iarraidh air an fheadhainn a tha airson cuideachadh gus teachdaireachd a sgrìobhadh, agus a h-uile duine eile - bhòtadh (oir tha mi airson tuigsinn a bheil feum aig duine air seo).
Спасибо за внимание!
Chan fhaod ach luchd-cleachdaidh clàraichte pàirt a ghabhail san sgrùdadh. Soidhnig a-steach, mas e do thoil e.
Am bi thu a’ cleachdadh an aplacaid gluasadach Habr?
Tha, bidh mi ga chleachdadh, tha mi toilichte leis
Tha, bidh mi ga chleachdadh, tha an tagradh ag adhbhrachadh mì-ghoireasachd
Chan e, bidh mi a’ cleachdadh an dreach lìn air an fhòn agam
Chan e, bidh mi a’ cleachdadh Habr bhon choimpiutair agam