(Un) tono Habr mana - HabrApp 2.0: te uru

Kotahi te ahiahi pouri, kua tino hoha, ka haere ahau rangatira Habr tono, ka piko ano ahau i oku maihao, kotahi mo ia waahanga kore mahi. I konei, hei tauira, kaore e taea e koe te korero, i konei ka kore koe e whai mana ki te pooti, ​​a, i te nuinga o te waa, he aha i kore ai e kitea nga tauira ki te mata?

(Un) tono Habr mana - HabrApp 2.0: te uru
I whakatauhia: e hiahia ana matou ki tetahi mea ahuareka, ahuareka, tetahi mea na matou ake. He aha taau ake tono mo Habr?
Ka hoatu e ahau etahi whakaahua kia mohio koe ki te ahuatanga.

(Un) tono Habr mana - HabrApp 2.0: te uruHe penei te ahua reira - o. tono habr.com

Rarangi o "raruraru"

  • E kore e taea e koe te whakawākanga i tētahi tānga he rerekē tōna whakatau ki te 0
  • Kaore e taea te tuhi korero i nga wa katoa
  • Kare e mahi nga pooti
  • Kaore e kitea nga tauira ki te kaupapa pouri (pango ki te pango)
  • Karekau nga tohupukapuka katoa e waatea ana

Ae, kaore ano kia whakahouhia te taupānga mai i Akuhata i tera tau, engari he kino tonu. I te nuinga o te waa, me whakatika.

Te wahanga tuatahi. Kei te rapu uru.

Uiui Tere a Google "harahabr API" e kii ana kua tawhito kee putunga i runga i Github, kaore i whakahoutia mai i tera wa Whiringa 21 2016, me tenei, mo te wa poto, e rua tau me te hawhe.

Ma te kore e aro ki te mea he PHP tenei, panuku ki raro ka panui:

Te tiki i te ID Taupānga

Te tango painga tenei puka i runga i te Habrahabr, me whakamaarama poto koe i te ngako o te tono hou me te kaupapa e hiahiatia ana he API.

Kaore he patai, mena ka hiahia koe ki te uru atu, ka hiahia koe. Ka tuhia e matou he reta (whakapoto):

He reta

He hiahia ki te tono mo Habr i runga i te PWA. He maha nga take mo tenei. 

Ko te tuatahi me te tino kitea: ko te tono Android kaore e tutuki i aku whakaritenga whaiaro.

Tuarua: he iti noa nga whakamohiotanga Maori mo nga momo mea katoa ka tae mai ma te imeera (ko nga korero, hei tauira).

Tuatoru: ko nga kemu whaiaro (hei tirohanga) ki nga tangata/pupu e pai ana ki ahau, me te whakaaro ki aku hiahia.

Ko te whakautu, ko te tikanga, kaore i tino pai, engari he pono:

Kia aroha mai, kaore i te waatea te uru ki to maatau API i tenei wa. Kei te whakamahere matou ki te whakahoki ano i te tuku uru i muri i to maatau whakaotinga i te API, engari kaore ano i a maatau nga ra tika, na te mea I tenei wa kei te pukumahi matou ki te whakaoti i etahi atu mahi matua.

"Ka pai, kaore he raru! Ka puta mai tetahi mea!" - I korero ahau ki a au ano ka timata te titiro.

Te wahanga tuarua. Nga keri hohonu.

I runga i te arorau, mena kei te rere te tono, katahi ka uru ki te API, ka uru ki roto i te tono. Kia wetewete tatou.

I te mea e mahi ana matou ki nga waka, ko Wireshark ta matou whiriwhiri. Kaore he mamae, ka hono atu te waea ki te Ipurangi ma te rorohiko papamahi, ka whakatuwherahia e matou te tono ka titiro ki nga tono:

(Un) tono Habr mana - HabrApp 2.0: te uru
E marama ana kaore he mea marama

Ae, kua whakamunatia nga mea katoa, engari kaore au e pai ki te whakararu i te tuhinga. Na me titiro koe ki roto i te tono ake.

Kua whakakorehia .apk, kia timata tatou ki te titiro. He aha te hiahia o tetahi API? Tika, Tuhinga, te waahi e haere ai nga tono katoa. Ko tenei pea http(s), me ngana ki te kimi "https://":

I roto i te kōnae AuthLinkManager.smali ka kitea e matou

.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"

Koinei te waehere mo te miihini mariko Android (Dalvik VM), kaore e tino marama ki te tangata, engari he tino korero. Ko enei taapiri e toru, ma te whakatau i o raatau ihirangi me o raatau ingoa, tae atu ki te penapena GitHub, ka whakamahia hei tono tohu uru ma te whakamahi i te tikanga GET.

Kia titiro atu ano. Ko te konae ka puta ake i te rapunga ko NetworkModule.smali:

const-string v0, "https://habr.com/api/v1/"

A koinei te waahi hei haere me o tono!

Kia pai ai te mahi a te kiritaki tuhi whaiaro, kotahi noa te mea e toe ana ki te whakaaro - client_id, ko te mea pea he tohu motuhake mo te tono.

Heoi, ko te rapu i tenei tuhinga i roto i te waehere puna kaore i arai ki te rapu korero e tika ana...

Engari ohorere i roto i tetahi o nga konae ka mau oku kanohi i etahi rarangi whakamere:

const-string p8, "log-tag"
invoke-static {p8, p2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

Ko tenei, ka mohio koe, he urunga rangitaki. Engari he aha te tuhi?

Te wahanga tuatoru. Ko enei nga rakau!

Ka whakamahia e matou adb logcat ki te tiro i nga raarangi tono.

(Un) tono Habr mana - HabrApp 2.0: te uru

Kore rawa i whakaaro, ka puta ke te ahua nui ake o nga korero i te mea i tumanakohia.

I konei kare noa nga mea e hiahiatia ana e tatou client_idKo tohu kaiwhakamahi/tono, me takiuru и kupuhipa i roto i te kuputuhi marama!

Ko etahi o nga whakaaro whakapaeKo te noho noa o te takiuru me te kupuhipa i roto i nga raarangi karekau he kino, na te mea ka taea te panui noa enei raarangi me nga mana pakiaka me te hononga ma te adb. Engari na te mea kei roto i nga tangata e panui ana i a Habr kei reira nga kaiwhakawhanake Android kua whakaaheitia te patuiro, ka raru tenei.

I tenei keehi, "te utu kore utu" i te taunga rererangi ka hua pea te tahae putea, engari ko wai e hiahia ana?
Mai i enei raarangi ka taea e tatou te tango:

  • client_id и apikeye hiahiatia ana kia uru atu api;
  • URL Whakaaetanga Kaiwhakamahi (he rereke, engari kaore he mea i roto i te putunga mo tenei tikanga, kaore pea i te whakaratohia?)

I penei te tupu. I runga i tenei rangahau iti, kei te haere kee nga mahi mo tetahi kaupapa iti - ko ta tatou ake whakatinanatanga o te tono pūkoro. Ka tono ahau ki te hunga e hiahia ana ki te awhina ki te tuhi korero, me era atu - ki te pooti (no te mea e hiahia ana ahau ki te mohio mehemea kei te hiahia tetahi ki tenei).

Mauruuru koe mo to aro!

Ko nga kaiwhakamahi kua rehita anake ka uru ki te rangahau. Waitohu maitēnā.

Kei te whakamahi koe i te tono pūkoro Habr?

  • Ae, ka whakamahia e au, kei te koa ahau

  • Ae, ka whakamahia e au, ka raru te tono

  • Kao, ka whakamahi ahau i te putanga tukutuku i runga i taku waea

  • Kao, ka whakamahi ahau i te Habr mai i taku rorohiko

357 nga kaiwhakamahi i pooti. 30 nga kaiwhakamahi i aukati.

Source: will.com

Tāpiri i te kōrero