Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Çfarë funksionon me api. Këtu është një listë e vogël e DLL-ve standarde të Windows

Sandbox

burrë trupmadh 26 nëntor 2012 në orën 13:59

Çfarë është API

  • dhomë druri *

pershendetje!
Në këtë artikull, ne do të shohim se çfarë është një API, ku, si dhe për çfarë përdoret. Ne do të shikojmë gjithashtu se si API mund të përdoret në zhvillimin tuaj të internetit dhe si mund ta bëjë jetën më të lehtë për një programues ueb.

Pra, le të fillojmë me një përkufizim. API (Application Programming Interface) është një ndërfaqe programimi, një ndërfaqe për krijimin e aplikacioneve. Në një gjuhë më të kuptueshme, API është një kod i gatshëm për të thjeshtuar jetën e një programuesi. API u krijua në mënyrë që programuesi të mund të lehtësonte me të vërtetë detyrën e shkrimit të këtij ose atij aplikacioni duke përdorur kodin e gatshëm (për shembull, funksionet). jQuery i njohur i shkruar në JavaScript është gjithashtu një lloj API. Nëse marrim parasysh këtë shembull të veçantë, atëherë jQuery e bën shumë më të lehtë shkrimin e kodit. Ajo që mund të bëhet në 30 rreshta me mjetet e zakonshme JavaScript, shkruhet përmes jQuery në 5-6. Nëse marrim parasysh API-në në përgjithësi, atëherë mund të gjeni shumë shërbime që përfaqësojnë zgjidhje zhvillimi. Më i famshmi sot është shërbimi code.google.com, i cili ofron rreth pesëdhjetë API të ndryshme! Kjo është një ndërfaqe për krijimin e aplikacioneve Android dhe API të ndryshme për të punuar me AJAX dhe API të ndryshme aplikacionesh që mund të personalizohen lehtësisht sipas dëshirës tuaj.

Në fund të fundit, a ka kuptim të shkruani kodin me duart tuaja? Pse të punohet në atë që është krijuar tashmë? A ka kuptim të refuzoni zgjidhjet falas (dhe në fakt, ndihmën falas) në zhvillimin e uebit? Nëse i jeni përgjigjur "JO" të gjitha këtyre pyetjeve, atëherë konsideroni se e kuptoni thelbin e API.

Por dua gjithashtu të sqaroj. Zhvilluesit fillestar NUK duhet të përdorin zgjidhje gjysmë të gatshme, pasi ata nuk do të përballen me detyrën reale në të ardhmen. Prandaj, nëse jeni një programues fillestar në internet, atëherë mos përdorni produkte gjysëm të gatshme! Mësoni të mendoni me kokën tuaj, ndërtoni algoritme të ndryshme për të kuptuar thelbin e programimit. E them gjithashtu, duke iu drejtuar tashmë të gjithëve, se API nuk është një zgjidhje e gatshme, është një mjedis, një ndërfaqe për krijimin e projekteve tuaja. Ju nuk hani qofte të ngrira nga dyqani, apo jo? Ju i skuqni fillimisht, apo jo? Kjo analogji kap thelbin e API-së shumë qartë.

Në përgjithësi, unë thashë se çfarë është API, ku dhe si përdoret, më e rëndësishmja, për çfarë. Ju uroj një studim të këndshëm të programimit në internet dhe të kuptuarit e thellësive të tij më të mëdha!

Nuk ka etiketa

Ky artikull nuk është subjekt i komenteve, pasi autori i tij nuk është ende një anëtar i plotë i komunitetit. Ju do të mund të kontaktoni autorin vetëm pasi ai të marrë

Sipas përkufizimit nga Wikipedia, API është një grup klasash, procedurash, funksionesh, strukturash dhe konstantesh të gatshme të ofruara nga një aplikacion (bibliotekë, shërbim) për përdorim në produkte të jashtme softuerike. Përdoret nga programuesit për të shkruar të gjitha llojet e aplikacioneve.

Por meqenëse shumë gjëra në Wikipedia nuk janë të kuptueshme për shumë njerëz, unë do të përpiqem të shpjegoj me gishta se çfarë është një API dhe për çfarë janë krijuar zakonisht dhe si përdoren.

API-të janë krejtësisht të ndryshme, por për shembull, unë zgjodha një situatë ku ne kemi një rrjet dyqanesh dhe vetëm një bazë të dhënash të përbashkët. Imagjinoni që zotëroni një program filial. Programi i filialeve funksionon sipas parimit të mëposhtëm: një person regjistrohet në programin e filialeve dhe merr një motor dyqani. Më pas ai mund ta vendosë këtë dyqan në hostin e tij dhe të fillojë të punojë. Por të gjitha të dhënat në këtë dyqan janë marrë nga databaza jonë, domethënë, ne duhet t'i japim secilit partner akses në bazën tonë të të dhënave të çmuar. Mund ta imagjinoni sa e rrezikshme është? Në fund të fundit, ne duhet të hapim hyrjen në bazën e të dhënave nga jashtë, në mënyrë që të gjitha dyqanet partnere të mund të punojnë me të. Por çfarë ndodh nëse të dhënat e aksesit bien në duart e ndërhyrësve?

Kjo është ajo ku API do të na ndihmojë. Në vend që të japim akses në bazën e të dhënave, ne thjesht do të bëjmë një API përmes së cilës dyqanet partnere do të marrin informacion. Kështu, vetëm skripti ynë API do të funksionojë me bazën e të dhënave, dhe dyqanet do të punojnë me këtë skript.

Si punon?
Për shembull, një dyqan dërgon një kërkesë në API-në tonë
http://ourapi.com/get_books?limit=20
dhe API-ja jonë e kupton që duhet të kthejë një listë librash të përbërë nga 20 kopje, sepse kemi kaluar parametrin limit të barabartë me 20. Skripti ynë (API) bën një kërkesë në bazën e të dhënave, merr një listë librash dhe i kthen ato në ruajeni (në fakt, ai thjesht shfaq ) në një format specifik. Formati në të cilin API kthen informacionin mund të jetë absolutisht çdo gjë, gjëja kryesore është që dyqanet tona ta kuptojnë atë. Mund të jetë JSON, një grup i serializuar ose XML. Nuk ka më rëndësi, gjëja kryesore është të kuptoni parimin.

Grupi i komandave që kupton API varet nga ju. Për shembull, në rastin tonë, këto mund të jenë komanda të tilla si marrja e një liste librash, marrja e një liste kategorish, marrja e librave të njohur, marrja e librave të rinj, etj. Kështu, edhe nëse një sulmues do të mund të hynte në API-në tonë, gjithçka që mund të bënte ishte të merrte një listë librash dhe kjo nuk përbën ndonjë kërcënim për bazën tonë të të dhënave.

Shpresoj se kam qenë në gjendje të shpjegoj se çfarë është një API me një shembull të thjeshtë. Nëse keni ndonjë pyetje, pyesni ato në komente ose në forum dhe ne do të jemi të lumtur t'ju ndihmojmë në zgjidhjen e tyre.

Le të fillojmë me bazat: çfarë është një API? Shkurtesa qëndron për ndërfaqen e programimit të aplikacionit, ose një ndërfaqe për aplikacionet e programimit. Emri duket se flet vetë, por është më mirë të merret në konsideratë një shpjegim më i detajuar.

Siç u përmend tashmë, API është, para së gjithash, një ndërfaqe. Një ndërfaqe që lejon zhvilluesit të përdorin blloqe të gatshme për të ndërtuar një aplikacion. Në rastin e zhvillimit të aplikacioneve celulare, biblioteka për të punuar me "shtëpinë inteligjente" mund të veprojë si një API - të gjitha nuancat zbatohen në bibliotekë dhe ju i referoheni vetëm kësaj API në kodin tuaj.

Në rastin e aplikacioneve në ueb, API mund të kthejë të dhëna në një format të ndryshëm nga HTML standarde, gjë që e bën të përshtatshëm përdorimin kur shkruani aplikacionet tuaja. API-të publike të palëve të treta më shpesh kthejnë të dhëna në një nga dy formatet: XML ose JSON. Në rast se vendosni të krijoni një API për aplikacionin tuaj, mbani mend se JSON është shumë më konciz dhe më i lehtë për t'u lexuar se XML dhe shërbimet që ofrojnë akses në të dhënat në formatin XML po e heqin gradualisht këtë të fundit.

API në aplikacionet në ueb me shembuj

Një aplikacion - për shembull, Github - ka API-në e vet që zhvilluesit e tjerë mund ta përdorin. Se si do ta përdorin varet nga mundësitë që ofron API dhe sa mirë funksionon imagjinata e zhvilluesve. Github API lejon, për shembull, marrjen e informacionit rreth përdoruesit, avatarit të tij, lexuesve, depove dhe shumë informacione të tjera të dobishme dhe interesante.

Në mënyrë të ngjashme, ju mund të dërgoni një kërkesë në çdo gjuhë, duke përfshirë Ruby. Përgjigja ndaj kërkesës do të jetë diçka e tillë:

( "login" : "Freika" , "id" : 3738638, "avatar_url" : "https://avatars.githubusercontent.com/u/3738638?v=3", "gravatar_id" : "" , "url" : "https://api.github.com/users/Freika", "html_url" : "https://github.com/Freika" , "followers_url" : "https://api.github.com/users/Freika/followers", "following_url" : "https://api.github.com/users/Freika/following(/other_user)", "gists_url" : "https://api.github.com/users/Freika/gists(/gist_id)", "starred_url" : "https://api.github.com/users/Freika/starred(/owner)(/repo)", "subscriptions_url" : "https://api.github.com/users/Freika/subscriptions", "organizations_url" : "https://api.github.com/users/Freika/orgs", "repos_url" : "https://api.github.com/users/Freika/repos", "events_url" : "https://api.github.com/users/Freika/events(/privacy)", "received_events_url" : "https://api.github.com/users/Freika/received_events", "type" : "Përdorues" , "site_admin" : false , "emri" : "Evgeniy" , "kompani" : "" , "blog" : "http://frey.su/" , "lokacioni" : " Barnaul" , "email" : "" , "të punësuar" : true, "bio" : null, "public_repos" : 39, "public_gists" : 13, "followers" : 15, "followers" : 21, "created_at" : "2013-03-01T13:48:52Z" , "updated_at" : "2014-12-15T13:55:03Z" )

Siç mund ta shihni nga blloku i mësipërm, përgjigja përmban një hyrje, një avatar, një lidhje me një profil në sajt dhe në API, statusin e përdoruesit, numrin e depove publike dhe informacione të tjera të dobishme dhe interesante.

Një API nuk mjafton

Krijimi i një API të plotë për aplikacionin tuaj është vetëm gjysma e betejës. Si do të hyni në API? Si do t'i qasen përdoruesit tuaj?

Gjëja e parë që të vjen ndërmend është seria e zakonshme e kërkesave HTTP për të marrë informacionin e dëshiruar dhe kjo është përgjigja e gabuar. Mënyra më e dukshme në këtë rast nuk është më e përshtatshme dhe e thjeshtë. Do të ishte shumë më e arsyeshme të krijohej një bibliotekë e veçantë për të punuar me ndërfaqen, e cila do të përshkruajë të gjitha mënyrat e nevojshme për të marrë dhe dërguar informacion duke përdorur API.

Edhe një herë, ne do të përdorim Github për të dhënë një shembull: për të punuar me API-në e këtij shërbimi të shkëlqyer (dhe ndërfaqja e tij ofron mundësi të gjera), janë krijuar disa biblioteka në gjuhë të ndryshme, për shembull, perlë Octokit. Në dokumentacionin për biblioteka të tilla (dhe xhevahirin e dhënë si shembull), çdo zhvillues i interesuar do të jetë në gjendje të gjejë të gjitha mënyrat e nevojshme për të marrë informacion nga Github dhe për ta dërguar atë përsëri përmes API-së së shërbimit.

Kështu, nëse po krijoni API-në tuaj, mendoni të krijoni biblioteka për të punuar me të edhe në gjuhët më të zakonshme. Dhe jini të përgatitur që në një nivel të caktuar të kërkesës për aplikacionin tuaj, dikush tjetër mund të krijojë bibliotekën e tij për të punuar me API-në tuaj. Kjo është mirë.

Lidhje të dobishme

Në artikujt vijues, ne do të flasim se si të krijoni saktë një API, të siguroni sigurinë e tij dhe të kufizoni aksesin në disa nga informacionet.

Është koha për të folur për një koncept të tillë si Funksiononi API-të në Visual Basic. Pse janë këto funksione të rëndësishme në Visual Basic? Le të shohim, së pari, kur të filloni programimin në Visual Basic, do të kuptoni menjëherë se duke përdorur këto funksione mund të shkruani programe shumë serioze, dhe së dyti, thjesht nuk mund të bëni shumë pa përdorur funksionet API, për shembull, pothuajse gjithçka që lidhet me përdorimin sistemi operativ Windows ( për shembull: gjeni emrin e përdoruesit, hapësirën në hard disk dhe kështu me radhë).

Por në mënyrë që të filloni t'i vini në praktikë këto veçori, duhet të dini se cilat janë ato, le të flasim së pari për këtë.

Teoria mbi funksionet e API-së Visual Basic

APIështë një shkurtim për Ndërfaqen e Programimit të Aplikacionit ( ndërfaqja e programimit të aplikacionit). Me fjalë të tjera, një API është një grup funksionesh që vetë sistemi operativ i jep programuesit që t'i përdorë në programet e tyre. Duke përdorur API-në, programuesit mund t'i vënë lehtësisht idetë e tyre në praktikë.

Funksionet API mund të thirren nga Visual Basic për të kryer detyra për të cilat kodi standard i Visual Basic është i pamjaftueshëm. Për shembull, mjetet standarde të Visual Basic nuk ju lejojnë të fikni kompjuterin ose ta rinisni atë. Sidoqoftë, e gjithë kjo mund të bëhet lehtësisht duke thirrur funksionin e duhur API.

Pothuajse të gjitha funksionet që ndodhen në Windows janë të vendosura brenda DLL ( Biblioteka e Lidhjeve Dinamike). Të gjithë skedarët dll ndodhen në dosjen e sistemit Windows. Ka mbi 1000 funksione API që ndahen afërsisht në katër kategori kryesore.

  • Puna me aplikacione - nisja dhe mbyllja e aplikacioneve, përpunimi i komandave të menusë, lëvizja dhe ndryshimi i madhësisë së dritareve;
  • Grafika - krijimi i imazheve;
  • Informacioni i sistemit - përcaktimi i diskut aktual, madhësia e memories, emri aktual i përdoruesit, etj.;
  • Puna me regjistrin - manipulime me regjistrin e Windows.

Zbatimi i funksioneve API në praktikë

Tani le të kalojmë në përdorimin e këtyre funksioneve në praktikë. Funksionet API të thirrura në Visual Basic duhet së pari të deklarohen. Deklarata specifikon emrin e DLL dhe funksionit, si dhe informacione për numrin dhe llojin e argumenteve.

Procedurat DLL deklarohen me komandën Declare në seksionin Deklaratat e Përgjithshme të një moduli formulari ose një moduli standard:

Deklaroni emrin e funksionit Lib "library" [([ _ variabla [,ByVal,] ndryshore ]...])] Si lloj

Procedurat DLL që gjenden në modulet standarde janë publike si parazgjedhje dhe mund të thirren nga kudo në aplikacion. Procedurat e deklaruara në një modul formulari janë private dhe duhet të paraprihen nga fjala kyçe Private.

Seksioni Lib ju tregon se ku të kërkoni skedarin DLL që përmban funksionin. Kur referoni bibliotekat kryesore të Windows (user32.dll, kernel32.dll, gdi.dll), shtesa është opsionale.

Nëse shtegu i skedarit nuk është specifikuar, atëherë shfletimi i drejtorive fillon në sekuencën vijuese

  1. Drejtoria që përmban skedarin EXE të programit;
  2. drejtoria aktuale;
  3. Drejtoria e sistemit Windows;
  4. Drejtoria e Windows;
  5. Variabli i mjedisit të rrugës.

Këtu është një listë e vogël e DLL-ve standarde të Windows:

  • advapi.dll - Mbrojtja NT, regjistri dhe shërbime të tjera të avancuara;
  • comdlg.dll - kutitë standarde të dialogut;
  • gdi.dll - ndërfaqja e pajisjes grafike;
  • kernel32.dll - memorie, disqe, procese, burime;
  • mpr.dll - rrjetet;
  • netapi32.dll - biblioteka e rrjetit API;
  • shell32.dll - guaska e Windows, zvarrit dhe lësho, përzgjedhja e ikonave;
  • user32.dll - ndërfaqja e përdoruesit - dritaret, menutë, linjat, mesazhet;
  • version.dll - kontrolli i versionit;
  • winmm.dll - multimedia, zë, levë, kohëmatës;
  • winspoll.dll - menaxher printimi.

Shumica e procedurave DLL dokumentohen duke përdorur shënimin e gjuhës programuese C dhe C++. Për të kthyer me sukses një funksion API në një komandë Declare, duhet të kuptoni mekanizmin e kalimit të argumenteve. Argumentet zakonisht kalohen sipas vlerës. Në këtë rast, fjala kyçe ByVal vendoset përpara emrit të argumentit. Nëse argumenti kalohet me referencë, vendoset ByRef.

Këtu është lista më e vogël e funksioneve që përdoren në Visual Basic:

  • BitBlt - kopjon një imazh nga një hDC në tjetrin;
  • FindWindow - gjen Handle të dritares me titullin e specifikuar;
  • GetCursorPos - kthen pozicionin aktual të kursorit të miut (globalisht);
  • GetDriveType - kthen llojin e diskut;
  • GetForegroundWindow - kthen Handle të dritares aktive;
  • SetCursorPos - vendos një pozicion të ri të kursorit të miut;
  • SetVolumeLabel - ndryshon etiketën e diskut;
  • SetWindowPos - vendos pozicionin e dritares me një Dorezë të caktuar (mund ta përdorni gjithashtu këtë funksion për ta bërë dritaren në krye të të gjithave;
  • ShellExecute - ekzekuton aplikacionin e lidhur me shtesën që ka skedarin e specifikuar (mund të ekzekutojë gjithashtu aplikacionin e specifikuar);
  • ShowCursor - fsheh ose tregon kursorin e miut në ekran.

Shembuj të Regjistrit

Gjithashtu, kur programoni në Visual Basic dhe në gjuhë të tjera, ka një problem kur duhet të përdorni regjistrin e Windows, por duke përdorur funksionet api, kjo është e lehtë për t'u bërë, për shembull:

Për të lexuar një parametër të vargut, përdorni funksionin GetRegString

Shembull:

Testi i zbehtë si test i vargut = GetRegString(HKEY_LOCAL_MACHINE, _ "Software\Microsoft\DirectX", "Version") Form1.Caption = test

Për të lexuar një parametër GetRegDWord DWORD

Shembull:

Testi i zbehtë për aq kohë sa Testi = GetRegDWord(HKEY_LOCAL_MACHINE, _ "Software\Microsoft\Internet Explorer\AboutURLs", "Home") Form1.Caption = test

SetRegString përdoret për të shkruar një parametër të vargut

Shembull:

SetRegString HKEY_LOCAL_MACHINE, _ "Software\test", "MyProgram", "Opsionet"

Nëse çelësi ose parametri nuk është krijuar, atëherë ato do të krijohen, nëse çelësi ose parametri ekziston tashmë, atëherë vlerat e reja do të mbishkruajnë të vjetrat.

Për të shkruar një parametër DWORD, përdorni SetRegDWord

Shembull:

SetRegDWord HKEY_LOCAL_MACHINE, _ "Software\test", "MyProgram", "555"

Për të fshirë një çelës nga regjistri, përdorni funksionin DeleteRegKey.

Shembull:

Fshi RegKey HKEY_LOCAL_MACHINE, "Software", "test", E vërtetë

Parametri i dytë - Çelësi prind
Parametri i tretë është True nëse kërkohet konfirmim për fshirje ose False nëse konfirmimi nuk kërkohet.

Për të fshirë një parametër nga regjistri, përdorni funksionin DeleteRegValue

Shembull:

DeleteRegValue HKEY_LOCAL_MACHINE,_ "Software\Microsoft\Internet Explorer\AboutURLs", "mozilla", False

Në fakt, mundësitë e funksioneve API në sistemin operativ Windows janë pothuajse të pakufishme. Le të përfundojmë këtë rishikim të kësaj veçorie të Visual Basic dhe më në fund të shkruajmë një program të vogël duke përdorur funksionet API.

Ky program thjesht shfaq një mesazh në ekran, ngjitni kodin e mëposhtëm:

Funksioni i deklarimit privat BeginPath Lib "gdi32" (ByVal hdc për aq kohë sa) Funksioni SetWindowRgn Lib "user32" (ByVal hWnd për aq kohë, ByVal hRgn për aq kohë, ByVal bRedraw si Boolean) As Long Private Sub Form_Load() Const TEXT = "Ke përdorur API" Dim hRgn Sa i gjatë Romans "time. " Font.Bold = True Font.Size = 60 Gjerësia = Gjerësia e tekstit (TEXT) Lartësia = Teksti Lartësia (TEXT) Rruga fillestare hdc Printo TEXT EndPath hdc hRgn = Shtegu nëRajon(hdc) SetWindowRgn hWnd, -Widsh) 2 , (Screen.Height - Height) / 2 Fund Sub

Këtu kemi përdorur 4 funksione (BeginPath, EndPath, PathToRegion, SetWindowRgn), të cilat ndodhen në dy biblioteka dll (gdi32, user32).

Kjo është e gjitha për tani!

Versioni i parë i Android u shfaq në tetor 2008 - vetëm 4 vjet më parë, gjë që nuk është shumë për një sistem operativ. Gjatë kësaj kohe, më shumë se dy duzina përditësime janë lëshuar tashmë. Pjesa kryesore e përditësimeve përfshinte elementë të rinj software ndërfaqja ( API) që aplikacionet mund të përdorin për nevojat e tyre. Në mënyrë që ky apo ai version i Android të dijë nëse mund të plotësojë kërkesat e programit të një aplikacioni të veçantë, u prezantua numërimi i ndërfaqeve programuese. Numri që karakterizon versionin e ndërfaqes ishte futur në vetë aplikacionin dhe sistemi e përdori atë për të përcaktuar përputhshmërinë e këtij aplikacioni me vetveten. Ky numër quhej "Niveli API" (Niveli API). Në total, tashmë janë grumbulluar 17 nivele, secila prej të cilave përfshin të gjitha funksionet e të mëparshmes dhe shtoi të reja.

Për të shkruar një aplikacion, së bashku me një sistem programimi, një SDK është instaluar në një kompjuter ( kompleti i zhvillimit të softuerit) është një grup mjetesh zhvillimi, pjesa kryesore e të cilave është biblioteka e klasave të nivelit përkatës API. Çdo nivel API ka bibliotekën e vet, funksionet e së cilës përdoren nga aplikacioni. Nëse marrim një bibliotekë të nivelit të parë API për të zhvilluar aplikacionin tonë, atëherë nuk do të kemi në dispozicion funksionet që u shfaqën më vonë. Nëse marrim bibliotekën e nivelit të fundit, rrezikojmë ta bëjmë aplikacionin tonë të papajtueshëm me versionet më të vjetra të Android, nëse papritmas përdorim një funksion që nuk mbështetej më parë. Pra, si e zgjidhni një shtresë API?

Në aplikacionin tonë, ne duhet të instalojmë dy nivele API (ekziston edhe një i tretë, por në fakt është zhdukur si i panevojshëm). E para është niveli minimal i API në të cilin aplikacioni do të mund të ekzekutohet dhe i dyti është niveli i synuar API, domethënë niveli i API në të cilin është përpiluar aplikacioni. Kur publikoni një aplikacion, ky nivel duhet të jetë sa më i arritshëm në atë kohë, në mënyrë që në versionet e reja të Android të mos funksionojë në modalitetin e përputhshmërisë, por të përdorë të gjitha gjërat e vogla të versionit të ri të sistemit operativ (jo i varur nga vetë autori i programit). Në momentin e shkrimit të programit, ai duhet të kompilohet në nivelin më të ulët të mundshëm API në mënyrë që të mos përdoren funksione të reja.

Si rezultat, ne marrim metodologjinë e mëposhtme të zhvillimit të aplikacionit:

  1. Ne studiojmë audiencën e synuar - cili version i Android është instaluar në telefonat inteligjentë të tyre. Nëse po shkruajmë për të gjithë, atëherë do të jetë e dobishme të njiheni me oraret e përditësuara vazhdimisht për përdorimin e një ose një versioni tjetër të sistemit në pajisjet celulare: http://developer.android.com/intl/ru/about/dashboards/ indeks.html . Sot ne shohim që pjesa më e madhe tashmë është ulur në nivelin 10 API, por ka edhe pjesë mjaft të mëdha në nivelet 7 dhe 8. Ju mund të shihni ndryshimet në nivele këtu (http://developer.android.com/intl/ru /guide /topics/manifest/uses-sdk-element.html) duke klikuar në numrin përkatës të API-së në tabelë.
  2. Nëse nuk duam të humbasim rreth 10% të audiencës, zgjedhim nivelin minimal të API-së 7. Përndryshe, mund të zgjedhim nivelin 10 të API, i cili përdoret nga pothuajse gjysma e përdoruesve sot. Instaloni SDK-në që korrespondon me nivelin minimal të zgjedhur.
  3. Ne vendosim nivelin e synuar të barabartë me minimumin, shkruajmë dhe përpilojmë programin për të. Ne e nisim dhe e testojmë atë në një emulator smartphone me API të nivelit minimal të instaluar.
  4. Pas shkrimit dhe korrigjimit të programit, ne rrisim nivelin e synuar me një, përpilojmë programin nën SDK të nivelit të ri të synuar dhe e testojmë atë në një emulator të ri smartphone me nivelin e duhur. Më pas, ne vazhdojmë të rrisim nivelin e synuar API, të përpilojmë dhe testojmë programin derisa të arrijmë nivelin më të lartë të API.
  5. Gjithçka, tani mund ta publikoni programin. Kur lëshohet një version i ri i Android me një nivel të ri API, programi ynë do të përfshihet në modalitetin e përputhshmërisë në të dhe do të funksionojë si më parë. Në mënyrë që programi të funksionojë drejtpërdrejt, dhe jo në modalitetin e përputhshmërisë, ne marrim projektin tonë, shkarkojmë SDK-në e re të nivelit më të fundit API dhe përpilojmë aplikacionin nën të. Tani aplikacioni do të nisë në sistemin e ri si zakonisht, dhe mund të duket pak më ndryshe, në traditën e versionit të ri të sistemit operativ. Në të njëjtën kohë, në versionet më të vjetra të sistemit, aplikacioni mbetet i njëjtë siç ishte.
Në fund, në reflektim, u vendosa për veten time në nivelin API 7. Përveç kësaj, kur përdor disa nga veçoritë e reja që u shfaqën në API-të shumë të mëvonshme (për shembull, fragmente), vetë mjedisi i zhvillimit sugjeroi që të përdorja një përputhshmëri të veçantë paketën dhe e shtoi atë në projekt. Si rezultat, unë munda të përdor disa nga veçoritë e reja nga API-të e reja në atë të vjetër. Megjithatë, kjo është një temë tjetër.

Artikujt kryesorë të lidhur