MTIPLab

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

Download "MTIPLab"

Транскрипт

1 MOBILNE TEHNOLOGIJE I PROGRAMIRANJE MTIPLAB05 Vežba 5 Rad sa fragmentima, rasporedima komponenti (layouts) i Android komponentama UVOD U okviru ove vežbe biće dorađena MTIP Studenti Android aplikacija koja je formirana u prethodnoj vežbi (MTIPLab04). Biće oformljeni fragmenti koje će predstavljati odgovarajuće aktivnosti (stranice) spomenute aplikacije, kao i rasporedi komponenti (layouts) koji će biti dinamički i upotrebljeni za formiranje više fragmenata. Cilj ove vežbe je da se pripreme elementi korisničkog interfejsa MTIP Studenti Android aplikacije kako bi se u narednoj vežbi (MTIPLab05) oformila veza spomenute aplikacije sa internetom i RESTFull servisom koji je formiran kroz vežbe MTIPLab01 i MTIPLab02. FRAGMENTI, DEFINISANJE LAYOUTA I KLASA Unutar fajla strings.xml dodate su definicije stringova tj. labela koje se mogu koristiti prilikom definisanja sadržaja određenih elemenata Android aplikacije, tj. u ovom slučaju sadržaja fragmenata koji će biti dodati Android aplikaciji. Sadržaj navedenog fajla prikazan je u listingu koda broj 1. <string name="mtipstudentipregragafragmentnaziv">pretraga studenata</string> <string name="mtipstudentifragmenthintidstudenta">id studeta</string> <string name="mtipstudentifragmenthintprezime">prezime studenta</string> <string name="mtipstudentifragmenthintime">ime studenta</string> <string name="mtipstudentifragmenthintbrojindeksa">broj indeksa</string> <string name="mtipstudentipregragafragmentrezultatipretrage">rezultati pretrage</string> <string name="mtipstudentidodajnovogstudenta">dodaj novog studenta</string> <string name="mtipstudentidetaljiid">id : </string> <string name="mtipstudentidetaljiprezime">prezime : </string> <string name="mtipstudentidetaljiime">ime : </string> <string name="mtipstudentidetaljibrojindeksa">broj indeksa : </string> <string name="mtipstudentidetaljistudijskiprogram">smer : </string> <string name="mtipstudentidetaljiizmenistudenta">izmena</string> <string name="mtipstudentidetaljiobrisistudenta">brisanje</string> <string name="mtipstudentipotvrdi">potvrdi</string> <string name="mtipstudentiodustani">odustani</string> Listing broj 1. Dodati resursi unutar fajla strings.xml 1

2 Da bi pripremili MTIP Studenti Android za rad sa fragmentima potrebno je modifikovati layout i kod glavne aktivnosti spomenute aplikacije. Modifikacija layouta glavne aktivnosti odnosi se na modifikaciju fajla content_mtipstudenti_main.xml dodavanjem FrameLayout komponente. Navedena komponenta se ponaša kao okvir za fragmente koji nose određeni sadržaj i logiku aplikacije. Sadržaj fajla content_mtipstudenti_main.xml prikazan je u listingu koda broj 2. <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.constraintlayout xmlns:android=" xmlns:app=" xmlns:tools=" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="rs.tfzr.mtipstudenti.mtipstudentimain" tools:showin="@layout/app_bar_mtipstudenti_main"> <FrameLayout android:id="@+id/frame_container" android:layout_height="match_parent" /> </android.support.constraint.constraintlayout> Listing broj 2. Sadržaj fajla content_mtipstudenti_main.xml Zatim se, radi vizuelnog aspekta aplikacije definiše resurs unutar drawable foldera koji će predstavljati pozadinu određenih elemenata. Navedeni fajl nosi naziv op_background.xml i sadržina istog je prikazana u listingu koda broj 3. <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android=" <solid android:color="#ffffff"/> <stroke android:width="1dip" android:color="#b1bcbe" /> <corners android:radius="10dip"/> <padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" /> </shape> Listing broj 3. Sadržaj fajla op_background.xml U sledećem koraku formira se raspored (layout) layout_studenti_universal.xml unutar layout foldera koji će se koristiti za predstavljanje studenta prilikom prikaza informacija o istom i u administratorskoj sekciji prilikom izmene i brisanja istog. Spomenuti layout poseduje četri labele (TextView-a) koje nose informacije o podatku koji se prikazuje, zatim još četri labele (TextView-a) koji nose podatke koji se prikazuju, i dve kontrole tipa Button za koje će se u narednoj vežbi (MTIPLab05) vezati odgovarajući događaji i pozivi RESTFull servisa. Spomenuti tasteri će se sakrivati (uklanjati) kad se spomenuti layout koristi za prikaz informacije o studentu. Sadržaj navedenog fajla prikazan je u listingu koda broj 4, dok je na slici broj 1 prikazan izgled spomenutog layouta unutar Android Studio razvojnog okruženja. <?xml version="1.0" encoding="utf-8"?> xmlns:android=" android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/op_background" 2

3 android:orientation="horizontal" android:weightsum="1"> android:layout_width="15dp" android:layout_weight="0.3" android:gravity="right" /> android:layout_weight="0.7" /> android:orientation="horizontal" android:weightsum="1"> android:layout_width="15dp" android:layout_weight="0.3" android:gravity="right" /> android:layout_weight="0.7" /> android:orientation="horizontal" android:weightsum="1"> android:layout_width="15dp" android:layout_weight="0.3" android:gravity="right" /> 3

4 android:layout_weight="0.7" /> android:orientation="horizontal" android:weightsum="1"> android:layout_width="15dp" android:layout_weight="0.3" android:gravity="right" /> android:layout_weight="0.7" /> android:orientation="horizontal"> <Button android:layout_weight="1" /> <Button android:layout_weight="1" /> Listing broj 4. Sadržaj fajla layout_studenti_universal.xml Naredni korak odnosi se na formiranje layouta koji će se koristiti u fragmentima prilikom dodavanja novog studenta i izmene postojećeg studenta. Naknadno će biti formirane klase koje će na osnovu spomenutog layouta pružati usluge dodavanja novog i izmene postojećeg studenta. Dakle, potrebno je formirati layout fragment_studenti_dodavanje_izmena.xml i smestiti ga u layout folder. Navedeni layout sadrži pet labela (TextView-a) koje nose informacije o podatku koji se prikazuje, četri textbox-a (EditText-a) putem kojih će se unositi podatci i jedan combobox (Spinner kontrola) koja će sadržati dostupne smerove tj. studijski program kojem određeni student pripada. Unutar navedenog layouta postoje i dve kontrole tipa Button koje će se koristiti za potvrđivanje dodavanja novog ili izmene postojećeg studenta, kao i za odustajanje od 4

5 spomenutih procesa čime se korisnik preusmerava ka nekom drugom fragmentu. Sadržaj spomenutog fajla prikazan je u listingu koda broj 5, dok je na slici broj 2 prikazan izgled spomenutog layouta unutar Android Studio razvojnog okruženja. Slika broj 1. Izgled layout-a layout_studenti_universal.xml <FrameLayout xmlns:android=" xmlns:tools=" android:layout_height="match_parent" tools:context="rs.tfzr.mtipstudenti.studentidodavanjefragment"> xmlns:android=" android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/op_background" android:id="@+id/dodavanjeizmenamainlinearlayout"> android:id="@+id/textviewstudentinazivakcije" android:layout_width="fill_parent" android:gravity="center" android:paddingleft="10dp" android:paddingright="10dp" android:paddingtop="10dp" android:text="@string/mtipcontentdescription" /> android:id="@+id/linearlayoutidstudenta" 5

6 android:orientation="horizontal" android:weightsum="1"> android:layout_width="50dp" android:layout_weight="0.4" android:gravity="right" /> <EditText android:ems="10" android:inputtype="none" android:focusedbydefault="false" android:layout_weight="0.6"/> android:orientation="horizontal" android:weightsum="1"> android:layout_width="50dp" android:layout_weight="0.4" android:gravity="right" /> <EditText android:ems="10" android:inputtype="text" android:focusedbydefault="false" android:layout_weight="0.6"/> android:orientation="horizontal" android:weightsum="1"> android:layout_width="50dp" android:layout_weight="0.4" 6

7 android:gravity="right" /> <EditText android:ems="10" android:inputtype="text" android:focusedbydefault="false" android:layout_weight="0.6"/> android:orientation="horizontal" android:weightsum="1"> android:layout_width="50dp" android:layout_weight="0.4" android:gravity="right" /> <EditText android:ems="10" android:inputtype="text" android:focusedbydefault="false" android:layout_weight="0.6"/> android:orientation="horizontal" android:weightsum="1"> android:layout_width="150dp" android:layout_weight="0.4" android:gravity="right" /> <Spinner android:layout_weight="0.6" /> 7

8 android:orientation="horizontal"> <Button android:layout_weight="1" /> <Button android:layout_weight="1" /> </FrameLayout> Listing broj 5. Sadržaj fajla fragment_studenti_dodavanje_izmena.xml Slika broj 2. Izgled layout-a fragment_studenti_dodavanje_izmena.xml Sledeći korak odnosi se na formiranje layouta koji će se koristiti u fragmentima za pretragu (PretragaFragment) i za administraciju studenata (StudentiFragment). Potrebno je formirati layout fajl fragment_pretraga.xml u layout folderu i isti treba da poseduje sadržinu koja je prikazana u listingu koda broj 6 dok je izgled spomenutog layouta prikazan na slici broj 3. Unutar 8

9 spomenutog layouta nalaze se labele, EditText kontrola i slika (ImageView) koja će se koristiti kao taster za pozivanje pretrage studenata. Takođe, jedna labela je planirana da se koristi za prelazak na fragment za dodavanja novog studenta i nosi tekst Dodaj novog studenta. Unutar spomenutog layouta nalaze se kontole tipa ScrollView i LinearLayout koje će se u narednoj vežbi (MTIPLab06) koristiti kako bi se prikazali podaci o studentima kako na fragmentu za pretragu, tako i na fragmentu za administraciju studenata. <FrameLayout xmlns:android=" xmlns:tools=" android:layout_height="match_parent" tools:context="rs.tfzr.mtipstudenti.pretragafragment"> xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:gravity="center_horizontal" android:id="@+id/maincontainerpretraga"> android:id="@+id/textviewpretragastudenata" android:layout_width="fill_parent" android:gravity="center" android:paddingleft="10dp" android:paddingright="10dp" android:paddingtop="10dp" android:text="@string/mtipstudentipregragafragmentnaziv" /> android:focusable="true" android:focusableintouchmode="true" android:layout_width="0px" android:layout_height="0px"/> android:weightsum="1" > <EditText android:id="@+id/edittextprezimepretraga" android:ems="10" android:hint="@string/mtipstudentifragmenthintprezime" android:inputtype="text" android:paddingtop="10dp" android:focusedbydefault="false" android:layout_weight="0.7"> </EditText> <ImageView android:id="@+id/imageviewpretraga" android:src="@drawable/nav_pretraga" android:layout_weight="0.3"/> 9

10 android:layout_width="fill_parent" android:gravity="center" android:padding="10dp" /> <ScrollView android:layout_width="fill_parent" > android:orientation="vertical" android:gravity="center" android:paddingleft="5dp" android:paddingright="5dp" android:paddingbottom="5dp"> </ScrollView> </FrameLayout> Listing broj 6. Sadržaj fajla fragment_pretraga.xml Slika broj 3. Izgled layout-a fragment_pretraga.xml 10

11 Sledeći korak odnosi se na modifikaciju koda klase MTIPStudentiMain koja predstavlja glavnu aktivnost MTIP Studenti Android aplikacije kako bi se dodala podrška za rad sa fragmentima. Za adekvatno funkcionisanje navedene aplikacije, nakon analize koda i prikaza modifikacije koda klase MTIPStudentiMain biće formirane klase čiji se objekti koriste u spomenutoj klasi i sadrže logiku fragmenta (stranica) koje se implementiraju. Sadržaj klase MTIPStudentiMain prikazan je u listingu koda broj 7. package rs.tfzr.mtipstudenti; import android.app.activity; import android.app.alertdialog; import android.app.fragment; import android.app.fragmentmanager; import android.content.context; import android.content.dialoginterface; import android.content.intent; import android.net.uri; import android.os.bundle; import android.view.view; import android.support.design.widget.navigationview; import android.support.v4.view.gravitycompat; import android.support.v4.widget.drawerlayout; import android.support.v7.app.actionbardrawertoggle; import android.support.v7.app.appcompatactivity; import android.support.v7.widget.toolbar; import android.view.menuitem; import android.app.dialog; import android.widget.button; import android.widget.textview; public class MTIPStudentiMain extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener, PretragaFragment.OnFragmentInteractionListener, StudentiFragment.OnFragmentInteractionListener, StudentiDodavanjeFragment.OnFragmentInteractionListener, StudentiIzmenaFragment.OnFragmentInteractionListener { public static Activity _activity; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_mtipstudenti_main); Toolbar toolbar = (Toolbar) findviewbyid(r.id.toolbar); setsupportactionbar(toolbar); DrawerLayout drawer = (DrawerLayout) findviewbyid(r.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawer.adddrawerlistener(toggle); toggle.syncstate(); NavigationView navigationview = (NavigationView) findviewbyid(r.id.nav_view); navigationview.setnavigationitemselectedlistener(this); navigationview.setitemicontintlist(null); displayview(new PretragaFragment(),this); _activity = this; 11

12 public void onbackpressed() { DrawerLayout drawer = (DrawerLayout) findviewbyid(r.id.drawer_layout); if (drawer.isdraweropen(gravitycompat.start)) { drawer.closedrawer(gravitycompat.start); else { public boolean onnavigationitemselected(menuitem item) { // Handle navigation view item clicks here. int id = item.getitemid(); switch (id) { case R.id.navBar_Pretraga: { displayview(new PretragaFragment(),this); break; case R.id.navBar_Studenti: { displayview(new StudentiFragment(),this); break; case R.id.navBar_Studijski_Programi: { AlertDialog.Builder builder = new AlertDialog.Builder(_activity); builder.setmessage("treba kreirati stranicu (Fragmente) za upravljanje Studijskim programima (Smerovima) kao što je urađeno za Studente!").setTitle("MTIP Studenti"); builder.setpositivebutton("ok", new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int id) { ); AlertDialog dialog = builder.create(); dialog.show(); break; case R.id.navBar_O_Aplikaciji: { DijalogOAplikaciji(); break; DrawerLayout drawer = (DrawerLayout) findviewbyid(r.id.drawer_layout); drawer.closedrawer(gravitycompat.start); return true; public static void displayview(fragment fragment, Activity activity) { // update the main content by replacing fragments if (fragment!= null) { 12

13 FragmentManager fragmentmanager = activity.getfragmentmanager(); fragmentmanager.begintransaction().replace(r.id.frame_container, fragment).commit(); protected void DijalogOAplikaciji() { final Dialog dialog = new Dialog(this, R.style.AboutDialog ); dialog.setcontentview(r.layout.mtip_about_dialog); dialog.settitle("o Aplikaciji"); TextView txt = (TextView) dialog.findviewbyid(r.id.textviewaboutdialogemal); txt .setonclicklistener(new View.OnClickListener() { public void onclick(view v) { // TODO Auto-generated method stub try { Intent = new Intent(Intent.ACTION_SEND); .putextra(intent.extra_ , new String[]{"mtip.studenti@tfzr.uns.ac.rs"); .putextra(intent.extra_subject, "sugestija / pitanje / zamerka" ); .putextra(intent.extra_text, ""); .settype("message/rfc822"); startactivity(intent.createchooser( , "Odaberite Vaš e- mail klijent :" )); catch (Exception ex) { ); Button dialogbutton = (Button) dialog.findviewbyid(r.id.dialogbuttonokclose); dialogbutton.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { dialog.dismiss(); ); dialog.show(); public void onfragmentinteraction(uri uri) { Listing broj 6. Sadržaj klase MTIPStudentiMain Analizom listinga koda broj 6 bitno je istaći implementiranje interfejsa OnFragmentInteractionLintener za fragmente (klase) PretragaFragment, StudentiFragment, StudentiDodavanjeFragmet i StudentiIzmenaFragment. Spomenute klase će biti formirane naknadno u nastavku ove vežbe. Zatim, radi lakše manipulacije sa fragmentima (pošto je prilikom promene fragmenta potrebna referenca ka aktivnosti koja sadrži 13

14 kontejner u kojem će se fragment prikazati) formira se statička referenca ka aktivnosti i na oncreate metodu ista se povezuje sa glavnom aktivnosti linijom koda _activity = this; Napisana je statička metoda displayview koja prima dva argumenta. Jedan argument je sam fragment tj. referenca do instance klase koja predstavlja fragment koji treba da se prikaže, a drugi je referenca do aktivnosti unutar koje treba da se prikaže navedeni fragment. Unutar tela metode koristi se FragmentManager kako bi se unutar predviđanog kontejnera (R.id.frame_container) prikazao odabrani fragment. Unutar metode onnavigationitemselected, unutar switch naredbe, poziva se statička metoda displayview tako što se prosleđuje odabrani fragment pozivom njegovog konstruktora, a kao referenca na aktivnost u kojoj treba da se prikaže spomenuti fragment šalje se referenca this koja u ovom slučaju ukazuje na aktivnost MTIPStudentiMain. Takođe unutar spomenutog bloka formira se i poziva AlertDialog koji treba da obavesti korisnika ta fragment koji treba da omogući upravljanje Studijskim programima nije implementiran (kreiran). Naredni koraci se ogledaju u formiranju klasa koje će predstavljati fragmente i koristiti prethodno kreirane rasporede komponenti (layout-ove) kako bi pružili funkcionalnost aplikaciji. Sve klase nalaze se u paketu rs.tfzr.mtipstudenti. Sadržaj klase PretragaFragment koja predstavlja fragment koji će prikazati klikom na stavku menija Pretraga prikazan je u listingu koda broj 7. package rs.tfzr.mtipstudenti; import android.app.alertdialog; import android.content.context; import android.content.dialoginterface; import android.net.uri; import android.os.bundle; import android.app.fragment; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.imageview; import android.widget.quickcontactbadge; import android.widget.textview; import org.w3c.dom.text; public class PretragaFragment extends Fragment { // TODO: Rename parameter arguments, choose names that match // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER private static final String ARG_PARAM1 = "param1"; private static final String ARG_PARAM2 = "param2"; // TODO: Rename and change types of parameters private String mparam1; private String mparam2; private OnFragmentInteractionListener mlistener; protected TextView _textviewdodajnovogstudenta; protected ImageView _imageviewpretraga; protected Context _context; public PretragaFragment() { // Required empty public constructor // TODO: Rename and change types and number of parameters public static PretragaFragment newinstance(string param1, String param2) { PretragaFragment fragment = new PretragaFragment(); Bundle args = new Bundle(); 14

15 args.putstring(arg_param1, param1); args.putstring(arg_param2, param2); fragment.setarguments(args); return fragment; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); if (getarguments()!= null) { mparam1 = getarguments().getstring(arg_param1); mparam2 = getarguments().getstring(arg_param2); public View oncreateview(layoutinflater inflater, ViewGroup container, Bundle savedinstancestate) { // Inflate the layout for this fragment View rootview = inflater.inflate(r.layout.fragment_pretraga, container, false); this._context = rootview.getcontext(); this._textviewdodajnovogstudenta = (TextView)rootView.findViewById(R.id.textViewDodajNovogStudenta); this._textviewdodajnovogstudenta.setvisibility(view.invisible); this._imageviewpretraga = (ImageView)rootView.findViewById(R.id.imageViewPretraga); this._imageviewpretraga.setonclicklistener(new View.OnClickListener() { public void onclick(view view) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setmessage("treba implementirati pretragu!!").settitle("mtip Studenti"); builder.setpositivebutton("ok", new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int id) { ); ); AlertDialog dialog = builder.create(); dialog.show(); return rootview; // TODO: Rename method, update argument and hook method into UI event public void onbuttonpressed(uri uri) { if (mlistener!= null) { mlistener.onfragmentinteraction(uri); public void onattach(context context) { super.onattach(context); if (context instanceof OnFragmentInteractionListener) { mlistener = (OnFragmentInteractionListener) context; else { throw new RuntimeException(context.toString() + " must implement OnFragmentInteractionListener"); 15

16 public void ondetach() { super.ondetach(); mlistener = null; public interface OnFragmentInteractionListener { // TODO: Update argument type and name void onfragmentinteraction(uri uri); Listing broj 7. Sadržaj klase PretragaFragment Analizom listinga koda broj 7 da se zaključiti da se u spomenutom fragmentu formiraju tri bitna objekta: objekat tipa TextView koji će se koristiti kao taster za pokretanje fragmenta StudentiDodavanjeFragment pozivom statičke metode displayview iz klase MTIPStudentiMain, objekat tipa ImageView koji će se ponašati kao taster za aktiviranje pretraga (EditText kontrola za unos prezimena za pretragu će biti formiran u narednoj vežbi MTIPLab06), kao i objekat tipa Context koji se odnosi na fragment tj. aktivnost u kojem se isti poziva. Unutar poziva metode oncreateview vidi se da se koristi layout fragment_pretraga.xml na osnovu indentifikatora R.layout.fragment_pretraga i isti se formira putem inflater-a. Dalje se instanciraju prethodno spomenuti objekti i dodelju se odgovarajući listeneri. Takođe, bitno je napomenuti da se u fragmentu PregragaFragmet sakriva labela putem koje se može pozvati fragment StudentDodavanjeFragment koji služi za dodavanje studenta. Alternativno, navedena komponenta se može ukloniti i navedeno će biti demonstrirano u narednoj vežbi (MTIPLab06). Sadržaj klase StudentFragment koja predstavlja fragment koji će prikazati klikom na stavku menija Studenti prikazan je u listingu koda broj 8. package rs.tfzr.mtipstudenti; import android.app.alertdialog; import android.content.context; import android.content.dialoginterface; import android.net.uri; import android.os.bundle; import android.app.fragment; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.imageview; import android.widget.textview; public class StudentiFragment extends Fragment { // TODO: Rename parameter arguments, choose names that match // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER private static final String ARG_PARAM1 = "param1"; private static final String ARG_PARAM2 = "param2"; // TODO: Rename and change types of parameters private String mparam1; private String mparam2; private OnFragmentInteractionListener mlistener; protected TextView _textviewdodajnovogstudenta; 16

17 protected ImageView _imageviewpretraga; protected Context _context; public StudentiFragment() { // Required empty public constructor // TODO: Rename and change types and number of parameters public static StudentiFragment newinstance(string param1, String param2) { StudentiFragment fragment = new StudentiFragment(); Bundle args = new Bundle(); args.putstring(arg_param1, param1); args.putstring(arg_param2, param2); fragment.setarguments(args); return fragment; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); if (getarguments()!= null) { mparam1 = getarguments().getstring(arg_param1); mparam2 = getarguments().getstring(arg_param2); public View oncreateview(layoutinflater inflater, ViewGroup container, Bundle savedinstancestate) { // Inflate the layout for this fragment View rootview = inflater.inflate(r.layout.fragment_pretraga, container, false); this._context = rootview.getcontext(); this._textviewdodajnovogstudenta = (TextView)rootView.findViewById(R.id.textViewDodajNovogStudenta); this._textviewdodajnovogstudenta.setonclicklistener(new View.OnClickListener() { public void onclick(view view) { MTIPStudentiMain.displayView(new StudentiDodavanjeFragment(),MTIPStudentiMain._activity); ); this._imageviewpretraga = (ImageView)rootView.findViewById(R.id.imageViewPretraga); this._imageviewpretraga.setonclicklistener(new View.OnClickListener() { public void onclick(view view) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setmessage("treba implementirati pretragu!!").settitle("mtip Studenti"); builder.setpositivebutton("ok", new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int id) { ); ); AlertDialog dialog = builder.create(); dialog.show(); 17

18 return rootview; // TODO: Rename method, update argument and hook method into UI event public void onbuttonpressed(uri uri) { if (mlistener!= null) { mlistener.onfragmentinteraction(uri); public void onattach(context context) { super.onattach(context); if (context instanceof OnFragmentInteractionListener) { mlistener = (OnFragmentInteractionListener) context; else { throw new RuntimeException(context.toString() + " must implement OnFragmentInteractionListener"); public void ondetach() { super.ondetach(); mlistener = null; public interface OnFragmentInteractionListener { // TODO: Update argument type and name void onfragmentinteraction(uri uri); Listing broj 8. Sadržaj klase StudentiFragment Sadržaj fragmenta StudentiFragment gotovo je identičan sadržaju fragmenta PretragaFragment s time što se labela (taster) za dodavanje studenta ne sakriva već se definiše onclicklistener za istu sa pozivom statičke metode displayview iz klase MTIPStudentiMain uz prosleđivanje reference na instancu klase StudentiDodavanjeFragment. Na navedeni način, klikom na prethodno spomenutu labelu, korisnik se preusmerava na fragment StudentiDodavanjeFragment. Sadržaj fragmenta StudentiDodavanjeFragment prikazan je u listingu koda broj 9. package rs.tfzr.mtipstudenti; import android.content.context; import android.net.uri; import android.os.bundle; import android.app.fragment; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.button; import android.widget.linearlayout; import android.widget.textview; import org.w3c.dom.text; 18

19 public class StudentiDodavanjeFragment extends Fragment { // TODO: Rename parameter arguments, choose names that match // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER private static final String ARG_PARAM1 = "param1"; private static final String ARG_PARAM2 = "param2"; // TODO: Rename and change types of parameters private String mparam1; private String mparam2; private OnFragmentInteractionListener mlistener; protected TextView _textviewdodavanjelabela; protected Context _context; protected Button _btnpotvrdi; protected Button _btnodustani; protected LinearLayout _linearlayoutidstudenta; protected LinearLayout _linearlauyoutmain; public StudentiDodavanjeFragment() { // Required empty public constructor // TODO: Rename and change types and number of parameters public static StudentiDodavanjeFragment newinstance(string param1, String param2) { StudentiDodavanjeFragment fragment = new StudentiDodavanjeFragment(); Bundle args = new Bundle(); args.putstring(arg_param1, param1); args.putstring(arg_param2, param2); fragment.setarguments(args); return fragment; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); if (getarguments()!= null) { mparam1 = getarguments().getstring(arg_param1); mparam2 = getarguments().getstring(arg_param2); public View oncreateview(layoutinflater inflater, ViewGroup container, Bundle savedinstancestate) { // Inflate the layout for this fragment View rootview = inflater.inflate(r.layout.fragment_studenti_dodavanje_izmena, container, false); this._context = rootview.getcontext(); this._textviewdodavanjelabela = (TextView)rootView.findViewById(R.id.textViewStudentiNazivAkcije); this._textviewdodavanjelabela.settext("dodavanje studenta"); this._linearlauyoutmain = (LinearLayout)rootView.findViewById(R.id.dodavanjeIzmenaMainLinearLayout); this._linearlayoutidstudenta = (LinearLayout)rootView.findViewById(R.id.linearLayoutIDStudenta); this._linearlauyoutmain.removeview(this._linearlayoutidstudenta); this._btnpotvrdi = (Button)rootView.findViewById(R.id.buttonPotvrdi); this._btnodustani = (Button)rootView.findViewById(R.id.buttonOdustani); this._btnodustani.setonclicklistener(new View.OnClickListener() { 19

20 public void onclick(view view) { MTIPStudentiMain.displayView(new StudentiFragment(),MTIPStudentiMain._activity); ); return rootview; // TODO: Rename method, update argument and hook method into UI event public void onbuttonpressed(uri uri) { if (mlistener!= null) { mlistener.onfragmentinteraction(uri); public void onattach(context context) { super.onattach(context); if (context instanceof OnFragmentInteractionListener) { mlistener = (OnFragmentInteractionListener) context; else { throw new RuntimeException(context.toString() + " must implement OnFragmentInteractionListener"); public void ondetach() { super.ondetach(); mlistener = null; public interface OnFragmentInteractionListener { // TODO: Update argument type and name void onfragmentinteraction(uri uri); Listing broj 9. Sadržaj klase StudentDodavanjeFragment Analizom listinga koda broj 9 da se zaključiti da se u spomenutom fragmentu formiraju petoro bitnih objekata: objekat tipa TextView koji će se koristiti kao labela i menjaće se tekst iste kako bi se naznačilo da li se radi o formi za Dodavanje studenta ili Izmenu studenta, objekat tipa Context koji se odnosi na fragment tj. aktivnost u kojem se isti poziva, dva objekta tipa Button koji će se imati ulogu tastera za potvrđivanje akcije (btnpotvrdi) i odustajanje (btnodustani) od iste, dva objekta tipa LinearLayout. Jedan od navedenih LinearLayout objekta će referencirati glavni layout fragmenta koji nosi identifikator R.id.dodavanjeIzmenaMainLinearLayout dok će drugi referencirati LinearLayout sa identifikatorom R.id.linearLatoutIDStudenta kako bi se isti mogao ukloniti pošto je navedeno polje za Dodavanje studenta nepotrebno, ali je za Izmenu studenta potrebno pa se stoga koristi unutar fragmenta StudentiIzmenaFragment. Unutar poziva metode oncreateview vidi se da se koristi layout fragment_studenti_dodavanje_izmena.xml na osnovu indentifikatora R. fragment_studenti_dodavanje_izmena i isti se formira putem inflater-a. Dalje se instanciraju prethodno spomenuti objekti i dodelju se odgovarajući listeneri. Takođe, bitno je napomenuti da se tasteru za odustajanje od akcije dodeljuje onclicklistener i klikom na isti korisnik se preusmerava na fragment StudentiFragment. 20

21 Slika broj 4. Fragment Pretraga studenata Slika broj 5. Dialog koji ukazuje da pretragu studenata treba implementirati Slika broj 6. Fragment Studenti Slika broj 7. Fragment Dodavanje studenta 21

22 Slika broj 8. Dialog koji ukazuje da upravljanje Studijskim smerovima treba implementirati Ukoliko su svi koraci ove vežbe adekvatno ispraćeni MTIP Studenti Android aplikacija bi trebala da se bez problema build-uje i pokrene na odabranom emulatoru. Na slikama broj 4, 5, 6, 7 i 8 prikazani su rezultati modifikacije aplikacije iz prethodne vežbe (MTIPLab04). Na slici broj 4 prikazan je izgled fragmenta Pretraga studenta, dok je na slici broj 5 prikazan dijalog koji ukazuje da pretragu studenata treba implementirati. Slika broj 6 prikazuje fragment Studenti dok slika broj 7 prikazuje fragment Dodavanje studenta. Slika broj 8 prikazuje dialog koji ukazuje da upravljanje Studijskim smerovima treba implementirati 22

Primenjeno programiranje - vezbe GUI i baze podataka

Primenjeno programiranje - vezbe GUI i baze podataka Primenjeno programiranje - Vežbe Java i NetBeans IDE 6.5 Kreiranje korisničkog interfejsa Primer jednostavne aplikacije: 1. Odabrati opciju File > New Project 2. Meñu kategorijama odabrati Java i podkategoriju

Више

VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstr

VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstr VEŽBA 5: KLASE I OBJEKTI U C# Cilj ove vežbe je upoznavanje sa osnovama rada sa klasama i objektima u programskom jeziku C#. Pored toga, bide demonstrirana upotreba konstruktora, svojstava, metoda klase,

Више

PowerPoint Presentation

PowerPoint Presentation IX Korisnički interfejs S A D R Ž A J 9.1 Pojam fragmenta 9.2 Faze nastajanja fragmenta 9.3 Pojam Intenta 9.4 Sadržaj Intenta 9.5 Vrste Intenta 9.6 Intent filteri 9.7 Korišćenje poklapanja Intenta 9.1

Више

PowerPoint Presentation

PowerPoint Presentation VII Korisnički interfejs S A D R Ž A J 7.1 Kreiranje korisn.interfejsa putem pogleda 7.2 Iterakcija korisnika sa pogledima 7.3 ProgressBar kontrola 7.4 TimePicker pogled 7.5 DatePicker pogled 7.6 ListView

Више

Slide 1

Slide 1 Funkcionalno programiranje Interoperabilnost jezika Scala i Java, 2019. Prevođenje u Java bajt kod Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući

Више

Primenjeno programiranje - Vežbe

Primenjeno programiranje - Vežbe VISOKA POSLOVNA ŠKOLA STRUKOVNIH STUDIJA NOVI SAD Primena integrisanih razvojnih alata Java i NetBeans IDE 7.0 vežba 9 i 10 Kreiranje desktop aplikacije sa konekcijom na bazu Pokrenuti NetBeans, u kartici

Више

PowerPoint Presentation

PowerPoint Presentation Објектно орјентисано програмирање Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ kartelj@matf.bg.ac.rs Сопствени пакети и унутрашње класе Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Uvod u programiranje dr Ninoslava Savić Predavanja (3) sreda: 11:15 13:50 Učionica 16 Konsultacije sreda: 15 17 h Kabinet 43 Uvod u programiranje Fond časova: 3+3 Broj ESPB: 7 Ocena znanja (max. broj poena

Више

PowerPoint Presentation

PowerPoint Presentation Tehnička škola 9. maj Bačka Palanka Programiranje III razred Tok izvršavanja programa Tok izvršavanja programa Dosadašnji kod se izvršavao praktično linearno. Nije postojala nikakva uslovna ili brojačka

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Obeležene petlje Obeležene petlje Obeležavanje petlje nekim identifikatorom omogućava da se programski tok usmeri na mesto u programu specificirano tim identifikatorom. Ako se iza naredbi break ili continue

Више

Programski jezik JAVA PREDAVANJE

Programski jezik JAVA PREDAVANJE Programski jezik JAVA PREDAVANJE 8 2019 www.etf.ac.me Polja za potvrdu i Radio tasteri Polja za potvrdu i radio tasteri nijesu uzajamno isključivi, što znači da ako imate pet polja za potvrdu u jednom

Више

ZADACI ZA VEŽBU 1. Realizovati konzolnu aplikaciju koja će računati površinu kvadrata, pravougaonika ili trougla. 2. Preko konzole se unosi ocena od 1

ZADACI ZA VEŽBU 1. Realizovati konzolnu aplikaciju koja će računati površinu kvadrata, pravougaonika ili trougla. 2. Preko konzole se unosi ocena od 1 ZADACI ZA VEŽBU 1. Realizovati konzolnu aplikaciju koja će računati površinu kvadrata, pravougaonika ili trougla. 2. Preko konzole se unosi ocena od 1 do 5. Obezbediti ispis uspeha za unetu ocenu (1=nedovoljan,

Више

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode]

Microsoft PowerPoint - OOPpredavanja05 [Compatibility Mode] OBJEKTNO ORIJENTISANO PROGRAMIRANJE PREDAVANJE 5 OBJEKTI U INTERAKCIJI Miloš Kovačević Đorđe Nedeljković 1 /25 OSNOVNI KONCEPTI - Abstrakcija - Modularizacija - Objektne reference - Klasni dijagram - Objektni

Више

PowerPoint Presentation

PowerPoint Presentation Visoka škola strukovnih studija za informacione i komunikacione tehnologije MVC - Modeli Školska 2017/18. Dr Nenad Kojić, dipl. inž. Luka Lukić, struk. inž. Danijela Nikitin, spec.stuk.inž MVC.htaccess

Више

UVOD - OD JAVE DO C# ELEMENTARNE RAZLIKE Veliki broj Java/C# razlika su uglavnom preimenovane ključne reči i razlike u konvencijama imenovanja. Neke o

UVOD - OD JAVE DO C# ELEMENTARNE RAZLIKE Veliki broj Java/C# razlika su uglavnom preimenovane ključne reči i razlike u konvencijama imenovanja. Neke o UVOD - OD JAVE DO C# ELEMENTARNE RAZLIKE Veliki broj Java/C# razlika su uglavnom preimenovane ključne reči i razlike u konvencijama imenovanja. Neke od tih jezičkih razlika su: Java kod se prevodi u.class

Више

Računarski praktikum I - Vježbe 09 - this, static

Računarski praktikum I - Vježbe 09 - this, static Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 09 - this, static v2018/2019. Sastavio: Zvonimir Bujanović Pokazivač this Kako funkcija članica

Више

Класе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности подата

Класе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности подата Класе комбинација презентације (Хортона) и к о бајаги скрипте (Ово је прича коју врло радо причам) нови тип података: дефинишу могуће вредности података и операције над њима Дефиниција класе садржи само

Више

Zadatak 011 Razmotrite sljedeći primjer. package hr.fer.oopj.primjeri.p011; public class Main { } public static void main(string[] args) { obrada(2.71

Zadatak 011 Razmotrite sljedeći primjer. package hr.fer.oopj.primjeri.p011; public class Main { } public static void main(string[] args) { obrada(2.71 Zadatak 011 Razmotrite sljedeći primjer. package hr.fer.oopj.primjeri.p011; public class Main { public static void main(string[] args) { obrada(2.7182818284590452354); private static void obrada(double

Више

PowerPoint Presentation

PowerPoint Presentation IV Struktura Android aplikacija S A D R Ž A J 4.1 Aktivnosti i klasa Activity 4.2 Životni ciklus aktivnosti 4.3 Kreiranje aktivnosti 4.4 Resursi u Android aplikacijama 4.5 Upravljanje i pristup resursima

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Deklaracija promenljivih Inicijalizacija promenljivih Deklaracija promenljive obuhvata: dodelu simboličkog imena promenljivoj i određivanje tipa promenljive (tip određuje koja će vrsta memorijskog registra

Више

Дистрибуирани софтверски системи Технички факултет "Михајло Пупин" Зрењанин, Универзитет у Новом Саду Практикум за лабораторијске вежбе #04 [нерецензи

Дистрибуирани софтверски системи Технички факултет Михајло Пупин Зрењанин, Универзитет у Новом Саду Практикум за лабораторијске вежбе #04 [нерецензи Сервлети У овој вежби су приказани основни принципи писања и употребе сервлета у веб апликацијама. За тестирање примера треба креирати веб апликацију learningservlets на Tomcat веб серверу. Контекст апликације

Више

PowerPoint Presentation

PowerPoint Presentation VIII Meniji kod Android OS S A D R Ž A J 8.1 Formiranje menija kod Android OS 8.2 Meni opcija 8.3 Kontekstualni meniji 8.4 Iskačući meniji 8.5 Kreiranje meni grupa 8.6 Događaji u okviru korisničkog interfejsa

Више

Microsoft PowerPoint - 6. CMS [Compatibility Mode]

Microsoft PowerPoint - 6. CMS [Compatibility Mode] Visoka škola strukovnih studija za informacione i komunikacione tehnologije Beograd WEB TEHNOLOGIJE Drupal CMS(Content Managment System) Školska 2012/13. Marko M. Spasojević, spec. inž. Dr Nenad Kojić,

Више

Funkcije predavač: Nadežda Jakšić

Funkcije predavač: Nadežda Jakšić Funkcije predavač: Nadežda Jakšić funkcije delovi programa koji izvršavaju neki zadatak, celinu; dele na ugrađene, korisničke i main funkciju ugrađene funkcije printf,scanf... da bi se one izvršile potrebno

Више

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode]

Microsoft PowerPoint - 13-Funkcije_2.ppt [Compatibility Mode] Osnove programiranja Funkcije - Metode Prenos parametara Po vrednosti Po referenci Po izlazu Sadržaj Opseg važenja promenljive u drugim strukturama Rekurzije Prenos parametara Metoda može vratiti isključivo

Више

Дистрибуирани софтверски системи Технички факултет "Михајло Пупин" Зрењанин, Универзитет у Новом Саду Практикум за лабораторијске вежбе #07 [нерецензи

Дистрибуирани софтверски системи Технички факултет Михајло Пупин Зрењанин, Универзитет у Новом Саду Практикум за лабораторијске вежбе #07 [нерецензи Генерисање одзива на Веб серверу У овој вежби су обрађене следеће теме: 1. Редирекција корисника на одређену Веб страницу помоћу сервлета. Редирекција се врши помоћу методе sendredirect из HttpServletResponse.

Више

Tutoring System for Distance Learning of Java Programming Language

Tutoring System for Distance Learning of Java Programming Language Niz (array) Nizovi Niz je lista elemenata istog tipa sa zajedničkim imenom. Redosled elemenata u nizovnoj strukturi je bitan. Konkretnom elementu niza pristupa se preko zajedničkog imena niza i konkretne

Више

Funkcije predavač: Nadežda Jakšić

Funkcije predavač: Nadežda Jakšić Funkcije predavač: Nadežda Jakšić do sada su korišćene "gotove" funkcije iz standardnih biblioteka (cin, cout...) one su pozivane iz main funkcije koja je glavna funkcija u programu jer izvršavanje programa

Више

Microsoft PowerPoint - 12-Funkcije_1.ppt [Compatibility Mode]

Microsoft PowerPoint - 12-Funkcije_1.ppt [Compatibility Mode] Osnove programiranja Funkcije - Metode http://www.introprogramming.info/english-intro-csharp-book/read-online/ Sadržaj Funkcije Metode Definisanje Pozivanje Povratne vrednosti Parametri Metode (1) Metoda

Више

Slide 1

Slide 1 predmet Inženjerska informatika Operativni sistem dr Anica Milošević Koji operativni sistemi postoje? Microsoft Windows Linux Suse Red Hat Ubuntu Unix 26.1.2018. 2 Šta je Windows operativni sistem? Operativni

Више

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijski program: Informacioni inženjering Informacioni inženjering 1 Rekurzivne funkcije Binarna stabla Informacioni

Више

Projekti šabloni

Projekti šabloni Projekti obrasci Kreiranje objekata Uvod Enkapsuliraju znanje o tome koje konkretno klase koristi sistem Sakrivaju instanciranje objekata i načine na koji se oni povezuju i reprezentuju Ostatak sistema

Више

Microsoft PowerPoint - 07-DinamickeStrukturePodataka

Microsoft PowerPoint - 07-DinamickeStrukturePodataka Динамичке структуре података листа, стек, ред Програмирање 2: глава 6 Динамичке структуре података Динамичка алокација и динамичке структуре података Најзначајније динамичке структуре података листе и

Више

4. Веза између табела практичан рад 1. Повежите табеле Proizvodi и Proizvođači у бази података Prodavnica.accdb везом типа 1:N. 2. Креирајте табелу St

4. Веза између табела практичан рад 1. Повежите табеле Proizvodi и Proizvođači у бази података Prodavnica.accdb везом типа 1:N. 2. Креирајте табелу St 4. Веза између табела практичан рад 1. Повежите табеле Proizvodi и Proizvođači у бази података Prodavnica.accdb везом типа 1:N. 2. Креирајте табелу Stavke_računa која ће разрешити проблем везе типа N:N

Више

Upute-podesavanj -accounta

Upute-podesavanj -accounta Strana :...1... ISO UPUTA 7.5/02-02 Kreiranje i podešavanje mail account-a Korisničko uputstvo za kreiranje i podešavanje Secure (SSL) Email Accounta 1. Upute za podešavanje Secure (SSL) mail account-a

Више

Microsoft PowerPoint - JavaP7_2018

Microsoft PowerPoint - JavaP7_2018 Programski jezik JAVA PREDAVANJE 7 2019 www.etf.ac.me Window Events Ako želimo učiniti nešto složenije od samog prekidanja programa kada korisnik zatvara prozor onda moramo reagovati na događaje koje prozor

Више

Slide 1

Slide 1 Kako jednostavnije preći na višu verziju Formsa Ivan Lovrić, Vedran Latin 14.10.2009. Sadržaj prezentacije Predmet migracije Razlozi za migraciju Infrastruktura potrebna za migraciju Pilot migracija Migracija

Више

Univerzitet u Beogradu Mašinski fakultet Konstrukcija i tehnologija proizvodnje letelica PODEŠAVANJE PROGRAMSKOG PAKETA CATIA V5 Miloš D. Petrašinović

Univerzitet u Beogradu Mašinski fakultet Konstrukcija i tehnologija proizvodnje letelica PODEŠAVANJE PROGRAMSKOG PAKETA CATIA V5 Miloš D. Petrašinović Univerzitet u Beogradu Mašinski fakultet Konstrukcija i tehnologija proizvodnje letelica PODEŠAVANJE PROGRAMSKOG PAKETA CATIA V5 Miloš D. Petrašinović Beograd, 2019 Sadržaj Sadržaj i 1 Uvod u programski

Више

Microsoft PowerPoint - 6. Query Builder.pptx

Microsoft PowerPoint - 6. Query Builder.pptx Visokaškola strukovnihstudija za informacione i komunikacione tehnologije Query builder Query builder je sastavni deo Laravel framework-a koji pruža pouzdan interfejs za rad sa bazom podataka, kreiranje

Више

SELECT statement basic form

SELECT statement basic form NAZIV OBJEKTA ZNANJA Uvod u JQuery PROLOG Autor * Katarina Kaplarski Klasifikacija * Težina * Osnovni nivo Ključne reči * Ko sluša * Student OAS Trajanje * Komentari autora SADRŽAJ Apstrakt Cilj * Uvodne

Више

Inženjering informacionih sistema

Inženjering informacionih sistema Fakultet tehničkih nauka, Novi Sad Inženjering informacionih sistema Dr Ivan Luković Dr Slavica Kordić Nikola Obrenović Milanka Bjelica Dr Jelena Borocki Dr Milan Delić UML UML (Unified Modeling Language)

Више

PowerPoint Presentation

PowerPoint Presentation Објектно орјентисано програмирање Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ kartelj@matf.bg.ac.rs Енумерисани и генерички типови Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ

Више

Datum: 20

Datum: 20 Osnove JAVE Uvod CPU računara može direktno izvršavati samo skup jednostavnih naredbi koje se nikada ne koriste u programiranju. Skoro svi programi su pisani u višim programskim jezicima kao što su Java,

Више

VALIDNOST CERTIFIKATA ZA PRISTUP INTERNET APLIKACIJAMA POREZNE UPRAVE FEDERACIJE BOSNE I HERCEGOVINE (npis I ejs)

VALIDNOST CERTIFIKATA ZA PRISTUP INTERNET APLIKACIJAMA POREZNE UPRAVE FEDERACIJE BOSNE I HERCEGOVINE (npis I ejs) VALIDNOST CERTIFIKATA ZA PRISTUP INTERNET APLIKACIJAMA POREZNE UPRAVE FEDERACIJE BOSNE I HERCEGOVINE (NPIS I EJS) POREZNA UPRAVA FEDERACIJE BOSNE I HERCEGOVINE Sektor za informacione tehnologije Sarajevo,

Више

Microsoft Word - SYLLABUS -Dinamicki

Microsoft Word - SYLLABUS -Dinamicki Univerzitet UKSHIN HOTI PRIZREN Fakultet kompjuterskih nauka Nastava na bosanskom jeziku NASTAVNI PLAN - PROGRAM SYLLABUS Akademska Nivo studija Bachelor Departament god. PREDMET Dinamički sadržaj web

Више

NACIONALNI REGISTAR IZVORA ZAGAĐIVANJA UPUTSTVO ZA KORIŠĆENJE INFORMACIONOG SISTEMA NACIONALNOG REGISTRA IZVORA ZAGAĐIVANJA Beograd, 2014.

NACIONALNI REGISTAR IZVORA ZAGAĐIVANJA UPUTSTVO ZA KORIŠĆENJE INFORMACIONOG SISTEMA NACIONALNOG REGISTRA IZVORA ZAGAĐIVANJA Beograd, 2014. NACIONALNI REGISTAR IZVORA ZAGAĐIVANJA UPUTSTVO ZA KORIŠĆENJE INFORMACIONOG SISTEMA NACIONALNOG REGISTRA IZVORA ZAGAĐIVANJA Beograd, 2014. Sadržaj Uvod... 2 Prvo pokretanje aplikacije... 3 Važne informacije

Више

Računarski praktikum I - Vježbe 03 - Implementacija strukture string

Računarski praktikum I - Vježbe 03 - Implementacija strukture string Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 03 - Implementacija strukture string v2018/2019. Sastavio: Zvonimir Bujanović Stringovi u C-u String

Више

Microsoft Word - Java_introduction_NEW_SYLLABUS.doc

Microsoft Word - Java_introduction_NEW_SYLLABUS.doc [Complete introduction into Java programming language] Syllabus Semestar, Godina Informacije o instruktoru Instruktor(i) Email Lokacija i dostupnost 1. Ime, prezime 2. Emir, Puška E-mail adresa emirpuska1988@gmail.com

Више

Microsoft Word - Uputstvo za upotrebu studentskih servisa.doc

Microsoft Word - Uputstvo za upotrebu studentskih servisa.doc Упутство за пријаву на студентске сервисе и пријаву испита Адреса на којој се налазе студенски сервиси је https://student.unibl.org У питању је интернет страница заштићена SSL 3.0 протоколом који изискује

Више

PowerPoint Presentation

PowerPoint Presentation X Rad sa servisima i podacima S A D R Ž A J 10.1 Pojam servisa 10.2 Formiranje servisa 10.3 Implementacija udaljenog servisa 10.4 Memorisanje podataka 10.5 Interna memorija-primarna 10.6 Spoljašnja memorija-tercijalna

Више

Korisničko uputstvo za uslugu ClickPay u Mobilnom bankarstvu BIHAMK 1. OPIS USLUGE Usluga ClickPay omogućava prijem unaprijed popunjenog naloga za pla

Korisničko uputstvo za uslugu ClickPay u Mobilnom bankarstvu BIHAMK 1. OPIS USLUGE Usluga ClickPay omogućava prijem unaprijed popunjenog naloga za pla Korisničko uputstvo za uslugu u Mobilnom bankarstvu BIHAMK 1. OPIS USLUGE Usluga omogućava prijem unaprijed popunjenog naloga za plaćanje mjesečnih zaduženja za članstvo Bosanskohercegovačkog auto-moto

Више

Uvod u računarstvo 2+2

Uvod u računarstvo 2+2 Programiranje 2 doc.dr.sc. Goranka Nogo PMF Matematički odsjek, Zagreb Kontakt ured: 228, drugi kat e-mail: nogo@math.hr konzultacije: četvrtak, 12:00-14:00 petak, 11:00-12:00 neki drugi termin, uz prethodni

Више

Strukture predavač: Nadežda Jakšić

Strukture predavač: Nadežda Jakšić Strukture predavač: Nadežda Jakšić složeni tip podatka; kolekcija promenljivih različitog tipa koje su sakupljene radi lakše manipulacije sintaksa: struct [oznakastrukture] navede { definicija člana strukture;

Више

Introduction to Programming

Introduction to  Programming Jezik Baze Podataka SQL SQL o Jezik koji se koristi u radu sa relacionim bazama podataka o Nije programski jezik i manje je kompleksan. o Koristi se isključivo u radu za bazama podataka. o SQL nije case

Више

Microsoft PowerPoint - JavaP9_2019

Microsoft PowerPoint - JavaP9_2019 Programski jezik JAVA PREDAVANJE 9 2019 www.etf.ac.me Datoteke u Javi U paketu java.io nalaze se klase za rad sa datotekama i direktorijumima. Funkcionalnost koju omogućavaju te klase sastoji se od kreiranja,

Више

m-intesa ZA KRETANJE BEZ GRANICA... INTESA SANPAOLO BANKA ZA UREĐAJE SVIJET MOGUĆEG.

m-intesa ZA KRETANJE BEZ GRANICA... INTESA SANPAOLO BANKA ZA UREĐAJE SVIJET MOGUĆEG. m-intesa ZA KRETANJE BEZ GRANICA... INTESA SANPAOLO BANKA ZA UREĐAJE SVIJET MOGUĆEG. m-intesa ZA KRETANJE BEZ GRANICA... m-intesa Vam omogućava jednostavno, brzo i sigurno obavljanje finansijskih transakcija

Више

Fra Serafina Schoena Rijeka MB: MBO: Žiro račun: kod RBA d.d. GSM:

Fra Serafina Schoena Rijeka MB: MBO: Žiro račun: kod RBA d.d. GSM: EKLIPS MINI CMS upute za korištenje v1.0 1. Sadržaj isporuke i opće informacije EKLIPS MINI CMS sustav napravljen je pomoću sljedećih open source tehnologija Java JDK 1.5 - http://java.sun.com/javase/downloads/index_jdk5.jsp

Више

PowerPoint Presentation

PowerPoint Presentation III Razvoj Android aplikacija S A D R Ž A J 3.1 Razvoj Android aplikacija 3.2 Razvojno okruženje Android aplikacija 3.3 Instalacija JDK 3.4 Instalacija Eclipse 3.5 Instalacija Android SDK 3.6 Dodatna podešavanja

Више

Grananje u programu predavač: Nadežda Jakšić

Grananje u programu predavač: Nadežda Jakšić Grananje u programu predavač: Nadežda Jakšić u okviru linijske strukture izvršavaju se sve naredbe u okviru razgranate strukture uvek se ispituje neki uslov; u zavisnosti od toga da li je uslov ispunjen

Више

Microsoft Word - Uputstvo za upotrebu studentskih servisa.doc

Microsoft Word - Uputstvo za upotrebu studentskih servisa.doc Упутство за пријаву на студентске сервисе и пријаву испита Адреса на којој се налазе студенски сервиси је https://student.vps.ns.ac.rs/ У питању је интернет страница заштићена SSL 3.0 протоколом који изискује

Више

PowerPoint Presentation

PowerPoint Presentation Python tutorijal - praktični primeri - Sadržaj: 1. Upoznavanje sa razvojnim okruženjem - Python proširenje (PTVS) za Visual Studio 2015 - Druga razvojna okruženja 2. Osnovi Python jezika - Sintaksa i konvencije

Више

SEMINAR

SEMINAR 1. Cilj vežbe Lekcija 9 Akvizicija i osnovna obrada slike u LabVIEW Cilj vežbe je da studente upozna sa: Akvizicijom slike. Osnovnim koracima pri obradi slike Zadatak 9.1. Povezati USB kameru i kreirati

Више

SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I INFORMACIJSKIH TEHNOLOGIJA Diplomski sveučilišni studij računar

SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I INFORMACIJSKIH TEHNOLOGIJA Diplomski sveučilišni studij računar SVEUČILIŠTE JOSIPA JURJA STROSSMAYERA U OSIJEKU FAKULTET ELEKTROTEHNIKE, RAČUNARSTVA I INFORMACIJSKIH TEHNOLOGIJA Diplomski sveučilišni studij računarstva ANDROID APLIKACIJA ZA RJEŠAVANJE SUSTAVA LINEARNIH

Више

Microsoft PowerPoint - 01 Uvod u operativne sisteme.ppt

Microsoft PowerPoint - 01 Uvod u operativne sisteme.ppt Uvod u operativne sisteme v.as.mr. Samir Lemeš slemes@mf.unze.ba Univerzitet u Zenici 2009 Operativni sistemi i mreže: način realizacije vježbi Tokom semestra 3 periodična testa (Operativni sistemi, Mrežni

Више

Objektno orjentirano programiranje 2P

Objektno orjentirano programiranje 2P Sveučilište u Rijeci ODJEL ZA INFORMATIKU Akademska 2016./2017. godina OBJEKTNO ORIJENTIRANO PROGRAMIRANJE Studij: Preddiplomski studij informatike (dvopredmetni) Godina i semestar: 2. godina, 3. semestar

Више

MIP-heuristike (Matheuristike) Hibridi izmedu metaheurističkih i egzaktnih metoda Tatjana Davidović Matematički institut SANU

MIP-heuristike (Matheuristike) Hibridi izmedu metaheurističkih i egzaktnih metoda Tatjana Davidović Matematički institut SANU MIP-heuristike (Matheuristike) Hibridi izmedu metaheurističkih i egzaktnih metoda Tatjana Davidović Matematički institut SANU http://www.mi.sanu.ac.rs/ tanjad (tanjad@mi.sanu.ac.rs) 21. januar 2013. Tatjana

Више

PowerPoint Presentation

PowerPoint Presentation II Karakteristike C jezika Programski jezik C je viši programski jezik opšte namene. Tesno je povezan sa UNIX OS uz koji je razvijan. Razvio ga je Dennis Ritchie 1970 u Bell Telephone Laboratories, Inc.

Више

UPUTSTVO ZA PODEŠAVANJE MOBILNIH UREĐAJA ZA MMS

UPUTSTVO ZA PODEŠAVANJE MOBILNIH UREĐAJA ZA MMS UPUTSTVO ZA PODEŠAVANJE MOBILNIH UREĐAJA ZA MMS Sadržaj AUTOMATSKO PODEŠAVANJE... 3 PODEŠAVANJE PUTEM MTS VODIČA... 3 PODEŠAVANJE PUTEM SMS PORUKE... 3 PODEŠAVANJE PUTEM USSD MENIJA... 3 MANUELNO PODEŠAVANJE

Више

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode]

Microsoft PowerPoint - Programski_Jezik_C_Organizacija_Izvornog_Programa_I_Greske [Compatibility Mode] Programski jezik C organizacija izvornog programa Prevođenje Pisanje programa izvorni program Prevođenje programa izvršni program Izvršavanje programa rezultat Faze prevođenja Pretprocesiranje Kompilacija

Више

UPUTA za uvođenje JOPPD - prva faza

UPUTA za uvođenje JOPPD - prva faza UPUTA ZA UVOĐENJE OBRASCA JOPPD PRVA FAZA Prva faza uvođenja obrasca JOPPD uključuje slijedeće aktivnosti: 1. Instalacija nove verzije 2. Punjenje šifarnika potrebnih za JOPPD obrazac a. Oznake stjecatelja

Више

PowerPoint Presentation

PowerPoint Presentation Објектно орјентисано програмирање Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ kartelj@matf.bg.ac.rs Класе и објекти у програмском језику Јава Владимир Филиповић vladaf@matf.bg.ac.rs Александар

Више

sv-lncs

sv-lncs Стручни рад UDK:621.3.015.53:004.771:004.455.2 BIBLID:0350-8528(2018),28.p.59-66 doi:10.5937/zeint28-19605 Израда централизоване серверске маске за мрежну комуникацију и контролу уређаја за мониторинг

Више

PowerPoint Presentation

PowerPoint Presentation Java konkurentno programiranje Životni ciklus niti i problemi sinhronizacije resursa Multitasking Multithreading Životni ciklus niti http://www.roseindia.net/java/thread/lifecycle-of-threads.shtml Životni

Више

User's Manual

User's Manual WEB aplikacija za korisnike prava ERC ZIPO razvojni tim: Delila Bećiragić Duraković Emir Cerić 30.04.2013. Revizija dokumenta Revizijski protokol Autor Datum Opis revizije Delila B. 12.04.2012 Draft verzija

Више

O Nanokinetik NeeS TOC Builder-u NeeS TOC Builder je aplikacija koja se koristi za kreiranje Tabele sadržaja (TOC) za elektronske podneske u NeeS form

O Nanokinetik NeeS TOC Builder-u NeeS TOC Builder je aplikacija koja se koristi za kreiranje Tabele sadržaja (TOC) za elektronske podneske u NeeS form O Nanokinetik NeeS TOC Builder-u NeeS TOC Builder je aplikacija koja se koristi za kreiranje Tabele sadržaja (TOC) za elektronske podneske u NeeS formatu. Ključne pojedinosti Nanokinetik NeeS TOC Builder-a:

Више

Projektna dokumentacija Boostowski - mobile

Projektna dokumentacija Boostowski - mobile Projektna dokumentacija Boostowski - mobile OPIS BUDUĆEG PROCESA - MOBILNA APLIKACIJA 00 Dobrodošli Ekran dobrodošlice je prvi ekran koji se prikazuje nakon ulaska u mobilnu aplikaciju. Na njemu je ispisana

Више

CPHP_19

CPHP_19 Upotreba PHP-a u drugim jezicima Za ovu lekciju se podrazumevaju osnovna znanja iz JavaScript-a i ActionScript-a. Ono što smo do sada radili, jeste PHP van konteksta ili u veb kontekstu, što je zapravo

Више

IEP - Projekat 2018/2019

IEP - Projekat 2018/2019 Elektrotehnički fakultet u Beogradu Katedra za računarsku tehniku i informatiku Predmet: Infrastruktura za elektronsko poslovanje SI3IEP Veb portal za tehničku podršku - projekat - Osnovni cilj projekta

Више

Mrežno računarstvo

Mrežno računarstvo MREŽNO RAČUNARSTVO Soketi za servere (iz glave 9,10 u 4. izdanju) 1 Soketi za servere klijenti programi koji otvaraju soket do servera koji osluškuje konekcije klijentski soketi nisu dovoljni klijenti

Више

ELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera

ELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera ELEKTROTEHNIČKI FAKULTET, UNIVERZITET U BEOGRADU KATEDRA ZA ELEKTRONIKU UVOD U ELEKTRONIKU - 13E041UE LABORATORIJSKA VEŽBA Primena mikrokontrolera CILJ VEŽBE Cilj ove vežbe je da se studenti kreiranjem

Више

Android 9, Kotlin i Android Studio 3.2 NEIL SMYTH

Android 9, Kotlin i Android Studio 3.2 NEIL SMYTH Android 9, Kotlin i Android Studio 3.2 NEIL SMYTH Izdavač: Obalskih radnika 4a, Beograd Tel: 011/2520272 e-mail: kombib@gmail.com internet: www.kombib.rs Urednik: Mihailo J. Šolajić Za izdavača, direktor:

Више

Korisničko uputstvo za uslugu ClickPay u Internet bankarstvu KJKP Toplane Sarajevo 1. OPIS USLUGE Usluga ClickPay omogućava prijem unaprijed popunjeno

Korisničko uputstvo za uslugu ClickPay u Internet bankarstvu KJKP Toplane Sarajevo 1. OPIS USLUGE Usluga ClickPay omogućava prijem unaprijed popunjeno Korisničko uputstvo za uslugu u Internet bankarstvu KJKP Toplane Sarajevo 1. OPIS USLUGE Usluga omogućava prijem unaprijed popunjenog naloga za plaćanje mjesečnih računa za troškove KJKP Toplane-Sarajevo

Више

Studijski primer - Dijagrami toka podataka Softverski inženjering 1

Studijski primer - Dijagrami toka podataka Softverski inženjering 1 - Dijagrami toka podataka Softverski inženjering 1 Kada projektujemo sistem za obradu podataka sa brzim odzivom, možemo uočiti dve ključne grupe funkcija koje se opisuju dijagramima toka podataka: Funkcije

Више

PowerPoint Presentation

PowerPoint Presentation XII Debagiranje aplikacija S A D R Ž A J 12.1 Debagiranje Android aplikacija 12.2 Korišćenje prekidnih tačaka 12.3 Interpreterski način rada 12.4 Pregled i modifikovanje promenljivih 12.5 Ostali alati

Више

3.Kontrlne (upravlja~ke) strukture u Javi

3.Kontrlne (upravlja~ke) strukture u Javi Објектно орјентисано програмирање Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ kartelj@matf.bg.ac.rs Низови у програмском језику Јава Владимир Филиповић vladaf@matf.bg.ac.rs Александар Картељ

Више

Programiranje 1

Programiranje 1 Sveučilište u Rijeci ODJEL ZA INFORMATIKU Ulica Radmile Matejčić 2, Rijeka Akademska 2018./2019. godina PROGRAMIRANJE 1 Studij: Preddiplomski studij informatike (jednopredmetni) Godina i semestar: 1. godina,

Више

1 NOVO U MNG CENTRU!!! OVLADAJTE TEHNOLOGIJOM IZRADE JAVA EE APLIKACIJA KORIŠ C ENJEM ORACLE ADF-A O - Otkrijte brzinu razvoja aplikacija sa ADF-om -

1 NOVO U MNG CENTRU!!! OVLADAJTE TEHNOLOGIJOM IZRADE JAVA EE APLIKACIJA KORIŠ C ENJEM ORACLE ADF-A O - Otkrijte brzinu razvoja aplikacija sa ADF-om - 1 NOVO U MNG CENTRU!!! OVLADAJTE TEHNOLOGIJOM IZRADE JAVA EE APLIKACIJA KORIŠ C ENJEM ORACLE ADF-A O - Otkrijte brzinu razvoja aplikacija sa ADF-om - Minimizujte pisanje programskog koda - Smanjite obim

Више

Microsoft Word - 11 Pokazivaci

Microsoft Word - 11 Pokazivaci Pokazivači U dosadašnjem radu smo imali prilike da koristimo promenljive koje smo deklarisali na početku nekog bloka. Prilikom deklaracije promenljiva dobija jedinstveni naziv i odgovarajući prostor u

Више

UPUTSTVO ZA KRETANJE KROZ EON KORISNIČKI INTERFEJS 1

UPUTSTVO ZA KRETANJE KROZ EON KORISNIČKI INTERFEJS 1 1 Dobrodošli u EON svijet! SADRŽAJ: 1. EON korisnički interfejs...3 1.1 Početna...3 1.2 Kanali...3 1.2.1 Upravo na TV-u...3 1.2.2 TV kanali...4 1.2.3 Radio kanali...4 1.3 Video klub...5 1.4 Moji sadržaji...5

Више

ПРОГРАМИ ЗА ПРАВЉЕЊЕ ПРЕЗЕНТАЦИЈА

ПРОГРАМИ ЗА ПРАВЉЕЊЕ ПРЕЗЕНТАЦИЈА Predmet: Inženjerska informatika Tema: POWER POINT Predmetni nastavnik: dr Anica Milošević PROGRAMI ZA PRAVLJENJE PREZENTACIJA Pod pojmom prezentacije smatra se predstavljanje neke ideje, rada,... U zavisnosti

Више

PHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji

PHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji PHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji podrška za IBM DB2, Oracle, Ingres, MySQL, PostgreSQL,

Више

Дистрибуирани софтверски системи Технички факултет "Михајло Пупин" Зрењанин, Универзитет у Новом Саду Практикум за лабораторијске вежбе #05 [нерецензи

Дистрибуирани софтверски системи Технички факултет Михајло Пупин Зрењанин, Универзитет у Новом Саду Практикум за лабораторијске вежбе #05 [нерецензи Руковање клијентским подацима из веб форми помоћу Сервлета У овој вежби су приказани основни принципи руковања клијентским подацима из веб форми помоћу сервлета. Подаци се из Веб форме сервлету шаљу методама

Више

Računarski praktikum I - Vježbe 11 - Funktori

Računarski praktikum I - Vježbe 11 - Funktori Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM I Vježbe 11 - Funktori v2018/2019. Sastavio: Zvonimir Bujanović Funkcijski objekti (funktori) Objekt klase

Више

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Brkić SI 29/15 Zrenjanin 2018. Softversko inženjerstvo

Више

_Outlook

_Outlook Outlook 2010 i Outlook 2013 Otvorite Outlook. Kada se pojavi prvi ekran čarobnjaka pritisnite Next (dalje). Na sljedećem ekranu pod nazivom E-mail Accounts (email nalozi) ponovo pritisnite Next (dalje)

Више

СТАРТ - СТОП АПЛИКАЦИЈА - КОРИСНИЧКО УПУТСТВО

СТАРТ - СТОП АПЛИКАЦИЈА - КОРИСНИЧКО УПУТСТВО СТАРТ - СТОП АПЛИКАЦИЈА - КОРИСНИЧКО УПУТСТВО - 03.05.2019 Приступ SMARTPHONE апликацији (Android/iOS) и СТАРТ-СТОП WEB порталу подразумева закључење претплатничког уговора за коришћење интернет апликације

Више

Korisničko uputstvo mobilne aplikacije Digitalni Kiosk 1

Korisničko uputstvo mobilne aplikacije Digitalni Kiosk 1 Korisničko uputstvo mobilne aplikacije Digitalni Kiosk 1 Sadržaj Opis mobilne aplikacije Digitalni Kiosk... 3 Pokretanje aplikacije... 3 Registracija/Kreiranje novog korisničkog naloga... 3 Dodavanje platne

Више