(Un) aikace-aikacen Habr na hukuma - HabrApp 2.0: samun dama

Daya m kuma riga quite m maraice, I, leafing ta hukuma Habr Application, na sake lankwasa yatsuna, daya ga kowace sigar da ba ta aiki. Anan, alal misali, ba za ku iya yin sharhi ba, a nan an hana ku damar yin zaɓe, kuma gabaɗaya, me yasa ba a ganin ma'auni akan allon?

(Un) aikace-aikacen Habr na hukuma - HabrApp 2.0: samun dama
An yanke shawara: muna buƙatar wani abu mai dadi, mai dadi, wani abu na kanmu. Me game da aikace-aikacen ku na Habr?
Bari in ba ku ƴan hotunan kariyar kwamfuta don fahimtar halin da ake ciki.

(Un) aikace-aikacen Habr na hukuma - HabrApp 2.0: samun damaGa alama wani abu kamar wannan shi - na. habr.com aikace-aikace

Jerin "rashin jin daɗi"

  • Ba za ku iya ƙima wani ɗaba'ar wanda ƙimarsa ya bambanta da 0
  • Ba koyaushe yana yiwuwa a rubuta sharhi ba
  • Zaɓe ba ya aiki
  • Ba a ganin nau'ikan tsari a cikin jigon duhu (baƙar fata akan baki)
  • Ba duk alamomin suna samuwa ba

Ee, ba a sabunta manhajar ba tun watan Agustan bara, amma har yanzu ba ta da kyau. Gabaɗaya, yana buƙatar gyarawa.

Kashi na daya. Neman shiga

Tambayar Google mai sauri "habrahabr API" ya ce ya riga ya tsufa sosai wurin ajiya akan Github, ba a sabunta ba tun Nuwamba 21 2016, kuma wannan, na ɗan lokaci. shekara biyu da rabi.

Yin watsi da gaskiyar cewa wannan shine PHP, gungura ƙasa kuma karanta:

Samun ID na Aikace-aikacen

Cin riba wannan form akan Habrahabr, kuna buƙatar bayyana ainihin ainihin sabon aikace-aikacen da kuma manufar da take buƙatar API.

Babu tambaya, idan kuna buƙatar samun dama, to kuna buƙatar ta. Muna rubuta wasiƙa (a takaice):

Harafi

Akwai sha'awar yin aikace-aikacen Habr bisa PWA. Akwai dalilai da yawa na wannan. 

Na farko kuma mafi bayyane: aikace-aikacen Android bai cika buƙatu na ba.

Na biyu: babu isassun sanarwa na asali game da kowane nau'in abubuwan da galibi ke zuwa ta imel ( sharhi, alal misali).

Na uku: narkar da kai (a matsayin hangen nesa) akan mutane / cibiyoyin da ke sha'awar ni, la'akari da abubuwan da nake so.

Amsar, ba shakka, ba ta da daɗi sosai, amma aƙalla gaskiya:

Abin takaici, samun damar zuwa API ɗinmu ba ya samuwa a halin yanzu. Muna shirin ci gaba da samar da dama bayan mun gama kammala API ɗin, amma ba mu da takamaiman kwanakin tukuna, saboda A halin yanzu muna shagaltuwa da warware wasu ayyuka masu fifiko.

“Ok, babu matsala! Za mu zo da wani abu!" - Na fada wa kaina na fara kallo.

Kashi na biyu. Zurfafa tono.

Bisa la'akari, idan aikace-aikacen yana gudana, to yana da damar yin amfani da API, kuma yana da hardwired cikin aikace-aikacen. Mu yi nazari.

Tunda muna ma'amala da zirga-zirga, Wireshark shine zabinmu. Ba tare da jin zafi ba, bayan haɗa wayar da Intanet ta hanyar kwamfutar tebur, muna buɗe aikace-aikacen kuma mu duba buƙatun:

(Un) aikace-aikacen Habr na hukuma - HabrApp 2.0: samun dama
A sarari cewa babu abin da ya bayyana

Ee, duk abin da aka rufaffen asiri ne, amma ba na son yin rikici da cryptography. Sannan kuna buƙatar duba cikin aikace-aikacen kanta.

An rarraba .apk, mu fara dubawa. Menene kowane API ke buƙata? Dama, ƙarshe, wurin da duk buƙatun ke zuwa. Wannan watakila http(s), bari mu gwada nemo "https://":

A cikin fayil AuthLinkManager.smali mun samu

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

Wannan shine lambar don na'urar kama-da-wane ta Android (Dalvik VM), ba a fahimta sosai ga mutane ba, amma har yanzu yana da cikakken bayani. Ana amfani da waɗannan ƙididdiga guda uku, yin la'akari da abun ciki da sunansu, da ma'ajiyar GitHub, don neman alamar shiga ta amfani da hanyar. GET.

Mu kara duba. Fayil ɗin da ke zuwa gaba a cikin bincike shine NetworkModule.smali:

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

Kuma a nan ne wurin da za ku je tare da buƙatun ku!

Domin abokin aikin da ya rubuta kansa ya yi aiki da kyau, akwai abu ɗaya kawai ya rage don gano - client_id, wanda yafi zama mai ganowa na musamman don aikace-aikacen.

Duk da haka, neman wannan rubutu a cikin lambar tushe bai kai ga gano bayanan da suka dace ba...

Amma ba zato ba tsammani a cikin ɗayan fayilolin idanuna sun kama wasu layukan ban sha'awa:

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

Wannan, kamar yadda zaku iya fahimta, shigarwar log ne. Amma rikodin menene?

Kashi na uku. Waɗannan su ne gundumomi!

Muna amfani adb logcat don duba rajistan ayyukan.

(Un) aikace-aikacen Habr na hukuma - HabrApp 2.0: samun dama

Ba zato ba tsammani, rajistan ayyukan sun zama ma filla-filla fiye da yadda ake tsammani.

A nan muna da ba kawai abin da muke bukata ba client_idamma alama mai amfani/application, da shiga и kalmar sirri a bayyanannen rubutu!

Wasu ka'idojin makirciKasancewar shiga da kalmar sirri a cikin rajistan ayyukan ba zai cutar da komai ba, tunda waɗannan rajistan ayyukan ana iya karanta su kawai tare da haƙƙin tushen ko haɗin kai ta hanyar. adb. Amma saboda a cikin mutanen da ke karatun Habr akwai masu haɓaka Android waɗanda za su iya yin gyara matsalar, wannan ya zama matsala.

A wannan yanayin, "cajin kyauta" a filin jirgin sama na iya haifar da satar asusu, amma wa ke bukata?
Daga cikin waɗannan rajistan ayyukan za mu iya cirewa:

  • client_id и apikeyake bukata don samun dama API;
  • URL ɗin izini na mai amfani (baƙon abu, amma babu wani abu a cikin ma'ajiyar game da wannan hanyar, watakila ba a bayar da shi ba?)

Haka abin ya faru. Dangane da wannan ɗan ƙaramin bincike, an riga an fara aiki akan ƙaramin aiki - namu aiwatar da aikace-aikacen wayar hannu. Ina tambayar waɗanda suke so su taimaka su rubuta saƙo, da kowa da kowa - don yin zabe (saboda ina so in fahimci ko kowa yana buƙatar wannan).

Na gode da hankali!

Masu amfani da rajista kawai za su iya shiga cikin binciken. Shigadon Allah.

Kuna amfani da aikace-aikacen wayar hannu na Habr?

  • Ee, na yi amfani da shi, ina farin ciki da shi

  • Ee, na yi amfani da shi, aikace-aikacen yana haifar da rashin jin daɗi

  • A'a, Ina amfani da sigar yanar gizo akan waya ta

  • A'a, Ina amfani da Habr daga kwamfuta ta

Masu amfani 357 sun kada kuri'a. Masu amfani 30 sun kaurace.

source: www.habr.com

Add a comment