Projektovanje namenskih računarskih struktura 1

Величина: px
Почињати приказ од странице:

Download "Projektovanje namenskih računarskih struktura 1"

Транскрипт

1 Prjektvanje namenskih računarskih struktura 1 Razvjni alati Andrida Odsek za računarsku tehniku i računarske kmunikacije

2 Alati za razvj Andrid aplikacija Glavni set besplatnih alata: Andrid Studi IDE Andrid SDK i NDK adb Emulatr Emulatr lgcat IDE Andrid Surce Build Tls ADT ADB App

3 Andrid Studi Zvaničn kruženje d 2015 Trenutn aktuelna verzija 3.6 Zasniva se na IntelliJ IDEA kruženju Kji je prširen sa pdrškm za Andrid Ggle zvaničn pdržava AS Visk stepen integracija sa Andrid SDK i NDK Pgdan za Razvj kda Prnalaženje grešaka Prfilisanje Dizajn grafičkg kruženja

4 Finalni Andrid prgram APK APK je Andridva arhiva (verzija ZIP) za jednu aplikaciju Digitaln je ptpisana (mže i sa kmercijalnim i debug ključem) Sve št je ptrebn za aplikaciju nalazi se u vj arhivi Prgramski kd Bibliteke Resursi Pmćni fajlvi (na primer, Manifest)

5 Andrid Debug Bridge - adb Knzlna aplikacija na platfrmi za razvj, de Andrid SDK Obezbeđuje klijent-server sistem, gde je klijent na hst računaru (gde se dvija razvj), a server na Andrid računaru Andrid računar mže biti i emulatr Kmunikacija se bavlja prek mreže ili prek USB Omgućuje: Listanje priključenih uređaja: adb devices Pvezivanje sa uređajem: adb cnnect Instalaciju prgrama u Andrid računar: adb install apk_file Prens datteka na/sa Andrid uređaj: adb push mj_fajl /sdcard/ Pregled sistemskg Lg-a: adb lgcat Rad sa knzlm na Andrid računaru (shell): adb shell

6 Pvezivanje sa Andrid uređajem Prvera prisustva uređaja: adb devices Fizički uređaj se spaja USB kablm Na uređaju ptrebn je uključiti pdršku za USB debagiranje adb cnnect Fizički uređaj je na lkalnj mreži ptrebn je da se pveže kmandm: adbcnnect x.x.x.x:prt

7 Emulatr Uz SDK stiže i emulatr ciljne platfrme (ARM, Intel, MIPS) Mgu se birati različiti mdeli (generički, ili emulatri pravih hardverskih uređaja) i različita kruženja (verzije OS-a, verzije API-ja) Izvršava izvršni kd sa druge platfrme (npr. ARM) na PC Zasniva se na qemu prgramu, kji mgućuje n-the-fly prevđenje instrukcija Nedstatak: sprije izvršavanje Alternativa je da se instalira VirtualBx Andrid slika ili da se kriste x86 slike Prednst emulatra: univerzalnst, nema ptrebe za pravim uređajem, eksperimenti sa različitim platfrmama (veličina, RAM, ekran, rezlucija)

8 Pstupak generisanja aplikacije Generisanje aplikacije je transfrmacija izvrng kda u izvršivu datteku Tkm generisanja, pziva se niz alata Većina je nevidljiva za prgramera (sim mžda gradle alata kji upravlja build prcesm) IDE skriva kmpleksnst pstupka, i nudi niz alata za njegv ubrzavanje Pdrazumeva tesnu integraciju sa Andrid SDK i NDK

9 Klasa R Klasa R je autmatski generisana klasa u Andrid prjektu kja čuva infrmacije krišćenim resursima u prjektu Resursi su stringvi, grafički elementi, raspredi (layuts), bje Čini spregu između Java sveta i stvarnih resursa Kada se prmene resursi, klasa R se mra pnv generisati Prces generisanja APK brine tme /* AUTO-GENERATED FILE. DO NOT MODIFY. * This class was autmatically generated by the * aapt tl frm the resurce data it fund. It * shuld nt be mdified by hand. */ package cm.rtrk; public final class R { public static final class attr { } public static final class drawable { public static final int icn=0x7f020000; } public static final class layut { public static final int main=0x7f030000; } public static final class string { public static final int app_name=0x7f040001; public static final int hell=0x7f040000; } }

10 Resursi Resursi mgu biti: animacije flder anim liste bja kjeće se kristiti flder clr multimedija (slike, animacije, itd.) flder drawable stali fajlvi flder raw andrid.resurce://cm.rtrk/raw/famus xml fajlvi kji pisuju prstrni raspred kmpnenti na ekranu Aktivnsti flder layut pis menija flder menu stringvi flder values, fajl strings.xml i18n lcalisatin ne mraju svi stringvi da se smeste u jedan strings.xml fajl tablestrings.xml, cnnectinstrings.xml i sl

11 Andrid manifest U APK nalazi se i AndridManifest.xml datteka kju sistem generiše na snvu parametara prjekta u IDE Datteka sadrži metapdatke kje mgućavaju Andrid sistemu na telefnu da rukuje aplikacijm Tkm instalacije i ažuriranja (update) sistem knsultuje vu datteku da bi se na ispravn instalirala U manifestu se minimaln nalazi Ime Java paketa Minimalni niv API-ja za izvršavanje Dzvle kje aplikacija zahteva Spisak aktivnsti i servisa u APK datteci Aktivnst d kje kreće izvršavanje prgrama

12 Andrid manifest - primer <?xml versin="1.0" encding="utf-8"?> <manifest xmlns:andrid=" package="cm.rtrk" andrid:versincde="1" andrid:versinname="1.0" > <uses-sdk andrid:minsdkversin="9" /> <applicatin andrid:icn="@drawable/ic_launcher" andrid:label="@string/app_name" > <activity andrid:name=".layutexamplesactivity" andrid:label="@string/app_name" > <intent-filter> <actin andrid:name="andrid.intent.actin.main" /> <categry andrid:name="andrid.intent.categry.launcher" /> </intent-filter> </activity> </applicatin> </manifest>

13 Načini instalacije aplikacije Iz IDE kruženja Ručn Pkretanjem prgrama Prnalaženje i ispravljanje grešaka u prgramu adb install MyApp.apk adbuninstall cm.paket.mainclass Sa javng prtala (Ggle Play) APK datteka se preuzima sa servera i instalira na uređaju Prverene aplikacije

14 Pdrška tkm razvja Andrid sajt za razvj Knjige Andrid Prgramming: The big nerd ranch guide Karim Yaghmur: Embedded Andrid: Prting, Extending, and Custmizing Frumi sa temama vezanim za Andrid razvj:

15 Rezime Alati za razvj lakšavaju i ubrzavaju razvj sftvera, i dprinse kvalitetu istg Direktn Indirektn Mnge stvari su sakrivene d strane IDE, ali je ptrebn razumeti na kji način se generiše izvršni kd za Andrid barem na viskm nivu T znanje će biti ptrebn kada nešt krene p zlu