Otu mgbede na-agwụ ike ma na-agwụkwa ike, m, na-agafe onye isi Ngwa Habr, ọzọ m na-ehutu mkpịsị aka m, otu maka njirimara ọ bụla anaghị arụ ọrụ. N'ebe a, dịka ọmụmaatụ, ị nweghị ike ikwu okwu, ebe a na-ajụ gị ikike ịme ntuli aka, na n'ozuzu, gịnị kpatara na anaghị ahụ usoro ndị ahụ na ihuenyo?
E kpebiri: anyị chọrọ ihe dị mma, nke na-atọ ụtọ, ihe nke anyị. Kedu maka ngwa nke gị maka Habr?
Ka m nye gị nseta ihuenyo ole na ole iji ghọta ọnọdụ ahụ.
Ọ dị ka nke a ọ - nke. ngwa habr.com
Ndepụta nke "adịghị mma"
Ịnweghị ike ịnye akwụkwọ ọkwa ya dị iche na 0
Ọ naghị ekwe omume mgbe niile ide nkọwa
Ntuli aka anaghị arụ ọrụ
A naghị ahụ usoro n'ime isiokwu gbara ọchịchịrị (oji na ojii)
Ọ bụghị ibe edokọbara niile dị
Ee, emelitebeghị ngwa ahụ kemgbe Ọgọst afọ gara aga, mana ọ ka dị njọ. N'ozuzu, ọ dị mkpa ka edozi ya.
Akụkụ nke mbụ. Na-achọ ohere.
Ngwa ngwa Google ajụjụ "habrahabr API" ọ na-ekwu na ọ dịlarị ochie ebe nchekwa na Github, emelitebeghị ya kemgbe November 21 2016, na nke a, nwa oge, afọ abụọ na ọkara.
Na-eleghara eziokwu ahụ anya na nke a bụ PHP, gbadaa na gụọ:
Inweta ID ngwa
N'iji ohere ụdị a na Habrahabr, ịkwesịrị ịkọwapụta nkenke ihe kacha mkpa nke ngwa ọhụrụ na ebumnuche ọ chọrọ API.
Enweghị ajụjụ, ọ bụrụ na ịchọrọ ịnweta ohere, mgbe ahụ ị chọrọ ya. Anyị na-ede akwụkwọ ozi (nkenke):
Ide ihe
Enwere ọchịchọ ime ngwa maka Habr dabere na PWA. Enwere ọtụtụ ihe kpatara nke a.
Nke mbụ na nke doro anya: ngwa gam akporo anaghị emezu ihe m chọrọ.
Nke abuo: enweghi amamọkwa obodo ezughị oke gbasara ụdị ihe niile na-abịakarị site na email (nkwupụta, ọmụmaatụ).
Nke atọ: nchịkọta onwe onye (dị ka echiche) na ndị mmadụ / ụlọ ọrụ na-amasị m, na-eburu n'uche mmasị m.
Azịza ya, n'ezie, adịghị ụtọ nke ukwuu, ma ọ dịkarịa ala, eziokwu:
Ọ dị nwute, ịnweta API anyị adịghị ugbu a. Anyị na-eme atụmatụ ịmaliteghachi inye ohere mgbe anyị mechachara API, mana anyị enweghị ụbọchị ọ bụla, n'ihi na Anyị na-arụsi ọrụ ike ugbu a idozi ọrụ ndị ọzọ dị mkpa.
"Ọ dị mma, enweghị nsogbu! Anyị ga-eme ihe!" - M gwara onwe m wee malite ile anya.
Akụkụ nke abụọ. Ngwuputa miri emi.
Dabere na mgbagha, ọ bụrụ na ngwa na-agba ọsọ, mgbe ahụ ọ nwere ohere na API, na ọ na- hardwired n'ime ngwa. Ka anyị nyochaa.
Ebe ọ bụ na anyị na-emeso okporo ụzọ, Wireshark bụ nhọrọ anyị. Ọ bụghị na-enweghị ihe mgbu, ebe anyị jikọọ ekwentị na ịntanetị site na kọmputa desktọpụ, anyị na-emepe ngwa ahụ ma lelee arịrịọ ndị a:
O doro anya na ọ dịghị ihe doro anya
Ee, ihe niile ezoro ezo, mana achọghị m ịmekọrịta ihe na nzuzo. Mgbe ahụ ịkwesịrị ileba anya n'ime ngwa n'onwe ya.
Achịkọtala .apk, ka anyị malite ile anya. Kedu ihe API ọ bụla chọrọ? Right, njedebe, ebe arịrịọ niile na-aga. Nke a nwere ike ịbụ http(s), ka anyị gbalịa ịchọta "https://":
Nke a bụ koodu maka igwe mebere android (Dalvik VM), ọ bụghị ihe a ghọtara nke ọma maka ụmụ mmadụ, mana ọ ka na-enye ihe ọmụma. A na-eji usoro atọ a, na-ekpe ikpe site na ọdịnaya na aha ha, yana ebe nchekwa GitHub, iji rịọ maka ohere ịnweta site na iji usoro ahụ. GET.
Ka anyị lebakwuo anya. Faịlụ na-abịa na-esote na ọchụchọ bụ NetworkModule.smali:
const-string v0, "https://habr.com/api/v1/"
Ma ebe a bụ ebe ị ga-aga na arịrịọ gị!
Ka onye ahịa dere onwe ya ka ọ rụọ ọrụ nke ọma, ọ dị naanị otu ihe fọdụrụ iji chọpụta - client_id, nke kacha bụrụ ihe nchọpụta pụrụ iche maka ngwa ahụ.
Agbanyeghị, ịchọ ederede a na koodu isi mmalite edugaghị n'ịchọta ozi dabara adaba...
Mana na mberede n'otu faịlụ ahụ, anya m hụrụ ahịrị ụfọdụ na-atọ ụtọ:
Nke a, dịka ị nwere ike ịghọta, bụ ntinye log. Ma ndekọ ihe?
Akụkụ nke atọ. Ndị a bụ ndekọ!
Anyị na-eji adb logcat ilele ndekọ ngwa.
N'ụzọ a na-atụghị anya ya, ndekọ ahụ wee bụrụ nke zuru ezu karịa ka a tụrụ anya ya.
N'ebe a, anyị nwere ọ bụghị naanị ihe anyị chọrọ client_idMa tọk onye ọrụ/ngwa, na banye и paswọọdụ na ederede doro anya!
Ụfọdụ echiche ịgba izuNaanị ọnụnọ nke nbanye na paswọọdụ dị na ndekọ adịghị emerụ ihe ọ bụla, ebe ọ bụ na enwere ike ịgụ ndekọ ndị a site na ikike mgbọrọgwụ ma ọ bụ njikọ site na. adb. Mana n'ihi eziokwu ahụ bụ na n'etiti ndị na-agụ Habr enwere ndị nrụpụta gam akporo nwere ike nwee ike ịmegharị ihe, nke a na-aghọ nsogbu.
N'okwu a, "ịchaji n'efu" na ọdụ ụgbọ elu nwere ike ịkpata izu ohi akaụntụ, mana onye chọrọ ya?
Site na ndekọ ndị a anyị nwere ike wepụ:
client_id и apikeyachọrọ iji nweta API;
URL ikike onye ọrụ (iche, mana ọ nweghị ihe dị na ebe nchekwa gbasara usoro a, ikekwe enyeghị ya?)
Otú ahụ ka o si mee. Dabere na obere nyocha a, ọrụ amalitelarị na obere ọrụ - mmejuputa nke anyị nke ngwa mkpanaka. M na-arịọ ndị chọrọ inyere aka dee ozi, na onye ọ bụla ọzọ - ịtụ vootu (n'ihi na m chọrọ ịghọta ma onye ọ bụla chọrọ nke a).
Gwa anyị ihe ị ga-eme!
Naanị ndị ọrụ edebanyere aha nwere ike isonye na nyocha a. banye, Biko.