iphone programozás alapjai

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "iphone programozás alapjai"

Átírás

1 iphone programozás alapjai II Gyakorlat 1 A mai gyakorlat témái I Modell szétválasztás Modell logika osztályainak létrehozásának módjai Szakácsköny model kialakítása II Hálózat kezelés Hálózat kezelés típusai ASI HTTP 2 I MVC Architektúra 3

2 A hierarchia alapjai A nézetek egymásra rétegződnek A nézetek szülő - gyermek kapcsolatban állnak egymással Nézetet és controllereket létrehozhatunk IB-ben, vagy programatikusan, a controllerek implementációját el kell készíteni 4 Az aktív controller Mindig csak egy controller aktív Többféle módon tudunk váltani az aktív kontrollerek, vagy nézetek között addsubview - hozzáadja és megjeleníti a nézetet az aktuális nézethez, de a szülő nézet controllere marad aktív [UIView presentmodalviewcontroller] - modálisan megjeleníti a kiválasztott nézetet, aktivizálja a controllerét, és beállítja parentcontrollernek az előzőleg aktuális kontrollert pushviewcontroller - NavigationController esetén ezzel a metódussal tudunk a stackhez hozzáadni egy új nézetet, ez lesz az aktív controller, és a szülője a navigation controller példánya lesz Ilyenkor elérhető a navigationcontroller, vagy tabbarcontroller property az adott controllerben 5 A projekt struktúrálása Nincsenek package-k Ún groupokat hozhatunk létre (forrás könyvtárak) Érdemes elkülöníteni a model és controller osztályokat (esetleg view-t is - programozott nézetek) XIB-ek általában a Resources könyvtárban vannak Húzzuk át a controller osztályokat a Controller könyvtár alá 6

3 A singleton minta Objective-C-ben is gyakran használt pattern Igen jó minta a program funkcionális részeinek szeparálásához Modell funkciókra hasznos, mert így a legtöbb controllerből könnyen lehet kezelni az adatokat Példák: Működés főbb moduljainak megvalósítása Hálózati kapcsolatért felelős osztályok Utility osztályok 7 Singleton MySingleton : NSObject { + (MySingleton*) static MySingleton *instance = nil; +(MySingleton*)getInstance{ if sharedapplication]){ if (instance==null) instance=[[mysingleton alloc] init]; return instance; 8 Selector nem más mint egy módszer egy metódus kiválasztására SEL aselector [anobject performselector:aselector]; A selectoroknak fontos szerepe van ha több szálon dolgozunk A GUI-t nem szabad külső szálról módosítani // GUI módosítás beütemezése a fő szálba [handler performselectoronmainthread:@selector(messagearrived:) withobject:msg waituntildone:yes]; // Új szál indítása ha a szál implementációja az aktuális osztály [NSThread detachnewthreadselector:@selector(run) totarget:self withobject:nil]; 9

4 Folytassuk a szakácskönyvet Hozzunk létre egy CookBookManager singleton osztályt Készítsük el az adatokat reprezentáló modell osztályokat: Recipe Készítsünk metódusokat a CookBookManager osztályba a következő feladatokra: Ajánlatok Kategóriák lekérdezése Kategóriához tartozó receptek lekérdezése Kedvencek lekérdezése Hozzáadás a kedvencekhez 10 Recipe Osztály Készítsünk egy új osztályt (Recipe), amely egy recept tárolására szolgál Recipe : NSObject { NSString* title; NSString* subtitle; NSString* description; NSString* complexity; - (id) initwithtitle:(nsstring*)_title andsubtitle:(nsstring*) _subtitle anddescription:(nsstring*)_description andcomplexity: (nonatomic, retain) NSString* (nonatomic, retain) NSString* (nonatomic, retain) NSString* (nonatomic, retain) NSString* 11 Recipe Osztály Recipem (végéről ne felejtsük el a title, subtitle, description, complexity; - (id) initwithtitle:(nsstring*)_title andsubtitle:(nsstring*) _subtitle anddescription:(nsstring*)_description andcomplexity: (NSString*)_complexity; { self = [super init]; if(self = nil) { selftitle = _title; selfsubtitle = _subtitle; selfdescription = _description; selfcomplexity = _complexity; return 12

5 Adattárolás a memóriában Adatok (objektumok) tárolására használjuk valamelyiket az alábbiak közül: NSArray - tömb, mérete és tartalma a létrehozáskor eldől NSMutableArray - változó tartalmú és méretű tömb NSDictionary - kulcs - érték párokat tartalmazó tároló NSMutableDictionary - előzőhöz hasonló, változó méretű és tartalmú tároló 13 CookBookManager Osztály Készítsünk egy új osztályt (CookBookManager), amely kezeli a receptekkel kapcsolatos műveleteket, és tárolja az adatokat CookBookManager : NSObject { NSMutableArray* hot; NSMutableArray* favorites; NSMutableArray* categories; NSMutableDictionary* recipesbycategories; + (CookBookManager*) getinstance; - (NSArray*) gethot; - (NSArray*) getcategories; - (NSArray*) getrecipesbycategory: (NSString*) category; - (NSArray*) 14 CookBookManager Osztály CookBookManagerm Singleton minta kezelése static CookBookManager *instance = nil; + (CookBookManager*) getinstance { if sharedapplication]){ if (instance==null) instance=[[cookbookmanager alloc] init]; return instance; 15

6 CookBookManager CookBookManagerm Konstruktor - (id) init { self = [super init]; if(self) { hot = [[NSMutableArray alloc] initwithcapacity:5]; favorites = [[NSMutableArray alloc] initwithcapacity:5]; categories = [[NSMutableArray alloc] initwithcapacity:5]; recipesbycategories = [[NSMutableDictionary alloc] init]; [categories addobject:@"levesek"]; [categories addobject:@"előtelek"]; [categories addobject:@"húsételek"]; Recipe* r = [[Recipe alloc] initwithtitle:@"bableves" andsubtitle:@"mari néni receptje alapján" anddescription:@"leírás" andcomplexity:@"30 perc"]; Recipe* r2 = [[Recipe alloc] initwithtitle:@"pulyka" andsubtitle:@"rózsi néni receptje alapján" anddescription:@"leírás" andcomplexity:@"45 perc"]; 16 CookBookManager CookBookManagerm Konstruktor NSMutableArray* soups = [[NSMutableArray alloc] initwithcapacity:5]; [soups addobject:r]; NSMutableArray* meats = [[NSMutableArray alloc] initwithcapacity:5]; [meats addobject:r2]; [recipesbycategories setvalue:soups forkey:@"levesek"]; [recipesbycategories setvalue:meats forkey:@"húsételek"]; [favorites addobject:r2]; [hot addobject:r]; return self; 17 CookBookManager CookBookManagerm Lekérdező metódusok - (NSArray*) gethot { return hot; - (NSArray*) getcategories { return categories; - (NSArray*) getrecipesbycategory: (NSString*) category { return [recipesbycategories objectforkey:category]; - (NSArray*) getfavourites { return favorites; 18

7 Hozzáférés az adatokhoz Minden controllerben használjuk a singleton CookBookManagert Táblázat feltöltéséhez a UITableView néhány metódusát kell implementálni: numberofrowsinsection - megadja hány sort kell a táblázatnak megjeleníteni cellforrowatindexpath - az adott cella indexre visszaad egy cella nézetet, ami lehet bármi, akár egy tetszőleges saját nézet implementáció Töltsük fel minden listában a cellák adatait a megfelelő tartalommal Használjuk egyelőre a manager osztályban definiált mock tartalmat 19 CategoryViewController Kiegészítjük a múlt órán megírt kontrollert a modell rész használatával: - (NSInteger)tableView:(UITableView *)tableview numberofrowsinsection:(nsinteger)section { return [[[CookBookManager getinstance] getcategories] count]; 20 CategoryViewController Kiegészítjük a múlt órán megírt kontrollert a modell rész használatával: - (UITableViewCell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath { static NSString *CellIdentifier UITableViewCell *cell = [tableview dequeuereusablecellwithidentifier:cellidentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initwithstyle:uitableviewcellstyledefault reuseidentifier:cellidentifier] autorelease]; cellimageviewimage=[uiimage imagenamed:@"categorygif"]; cellaccessorytype=uitableviewcellaccessorydetaildisclosurebutton; celltextlabeltext = [[[CookBookManager getinstance] getcategories] objectatindex:indexpathrow]; return cell; 21

8 Receptlista A fentiek elkészülte után most már megjelennek a kategóriák, úgy ahogy a modell részben meghatározásra kerültek Csináljuk meg ugyanazt a recept listával is Ez már egy kicsit összetettebb hiszen a receptlista van mind az ajánlatoknál, mind a kategóriákon belül Ezért itt felveszünk ami azt tárolja van e kiválasztott kategória Ha nincs akkor az ajánlatokat jelenítjük meg Azért nem a konstruktort írjuk át, mert a tabokat nem mi példányosítjuk kódból 22 RecipeListViewController Felvesszük a h fájlba a propertyt és a segéd RecipeListViewController : UITableViewController { NSString* selectedcategory; NSArray* (nonatomic, retain) NSString* (nonatomic, retain) NSArray* 23 RecipeListViewController Az m fájlban megjelenéskor lekérjük az új listát, majd felhasználjuk: - (void)viewwillappear:(bool)animated { if (selfselectedcategory=nil){ selfrecipes=[[cookbookmanager getinstance] getrecipesbycategory:selfselectedcategory]; else { selfrecipes=[[cookbookmanager getinstance] gethot]; - (NSInteger)tableView:(UITableView *)tableview numberofrowsinsection:(nsinteger)section { if(selfrecipes=nil) { return [recipes count]; else return 0; 24

9 RecipeListViewController // Customize the appearance of table view cells - (UITableViewCell *)tableview:(uitableview *)tableview cellforrowatindexpath: (NSIndexPath *)indexpath { static NSString *CellIdentifier UITableViewCell *cell = [tableview dequeuereusablecellwithidentifier:cellidentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initwithstyle:uitableviewcellstylesubtitle reuseidentifier:cellidentifier] autorelease]; cellimageviewimage=[uiimage imagenamed:@"recipejpeg"]; cellaccessorytype=uitableviewcellaccessorydetaildisclosurebutton; if(selfrecipes = nil) { Recipe* r = [recipes objectatindex:indexpathrow]; celltextlabeltext = rtitle; celldetailtextlabeltext= rsubtitle; return cell; 25 RecipeViewController Felvesszük a h fájlban a recept elemeit (ne felejstük el IB-ben RecipeViewController : UIViewController { UILabel* recipetitle; UILabel* recipesubtitle; UILabel* complexity; UITextView* description; Recipe* (nonatomic,retain) IBOutlet UILabel* (nonatomic,retain) IBOutlet UILabel* (nonatomic,retain) IBOutlet UILabel* (nonatomic,retain) IBOutlet UITextView* (nonatomic,retain) Recipe* 26 RecipeViewController Az m fájlban megjelenéskor betöltjük a mezőket - (void)viewwillappear:(bool)animated { if(selfrecipe = nil){ selftitle = selfrecipetitle; selfrecipetitletext = selfrecipetitle; selfrecipesubtitletext = selfrecipesubtitle; selfcomplexitytext = selfrecipecomplexity; selfdescriptiontext = selfrecipedescription; [super viewwillappear:animated]; 27

10 Kattintások kezelése Mind a kategóriák, mind a receptlista, mind a receptek már képesek megjelenni, de még nem készítettük el, hogy egy sorra való kattintáskor működjön is Lényegében a didselectrowatindexpath hívást kell bővítenünk Eddigi ismereteink alapján ezt próbáljuk meg önállóan megcsinálni 28 CategoryViewController Megfelelően felparaméterezzük a receptlistát: - (void)tableview:(uitableview *)tableview didselectrowatindexpath: (NSIndexPath *)indexpath { RecipeListViewController *recipelistviewcontroller = [[RecipeListViewController alloc] initwithnibname:@"recipelist" bundle:nil]; NSString* category = [[[CookBookManager getinstance] getcategories] objectatindex:indexpathrow]; recipelistviewcontrollertitle = category; recipelistviewcontrollerselectedcategory = category; [selfnavigationcontroller pushviewcontroller:recipelistviewcontroller animated:yes]; [recipelistviewcontroller release]; 29 RecipeListViewController Megfelelően felparaméterezzük a recept megjelenítőt: - (void)tableview:(uitableview *)tableview didselectrowatindexpath: (NSIndexPath *)indexpath { RecipeViewController *recipeviewcontroller = [[RecipeViewController alloc] initwithnibname:@"recipe" bundle:nil]; recipeviewcontrollerrecipe = [recipes objectatindex:indexpathrow]; [selfnavigationcontroller pushviewcontroller:recipeviewcontroller animated:yes]; [recipeviewcontroller release]; 30

11 Hol tartunk most? 31 II Hálózatkezelés 32 Iphone a hálózaton Az Iphone része az IP hálózatnak amennyiben A felhasználónak van internethasználat engedélyezve a mobilszolgáltatónál (ez csak mobilhálózatra vonatkozik) Van megfelelő mobilhálózat Van elérhető Wifi a környezetben Mobile Network, 3G, Edge, etc Wireless LAN Ip address is granted by the current network provider 33

12 Áttekintés BSD Sockets, OpenSSL WebKit, CFNetwork Bonjour - itunes, ichat, printers, music sharing Peer2Peer - GameKit, Bluetooth, Bonjour ASIHTTPRequest - Third party library, POST 34 UIWebView Internetes oldalak egyszerű beépítése tetszőleges helyre WebView elérhető az InterfaceBuilderben Támogatott formátumok a HTML-en kívül: Excel, Keynote, Numbers, Pages, PDF, Powerpoint, Word, MHTML MS Office documentumok Word 97 formátumban működnek csak IPhone OS 30: RTF, Keynote, Number, Pages 09 verziók 35 NsUrlConnection Különböző protokollokat támogat Szinkron és aszinkron módon is tud működni, alapértelmezett üzemmód aszinkron A kérés kiszolgálásának folyamatát lehet követni, file fel/ letöltés hol tart, becslés számítása, stb Feladatai: autentikáció, protokoll implementáció, cacheelés, cookie-k 36

13 ASIHTTPRequest NsUrlConnection körülményes Open source könyvtár Aszinkron és szinkron módon is tud működni HTTP post és file feltöltést egyszerűvé teszi NSURL *url = [NSURL URLWithString:@" *request = [ASIHTTPRequest requestwithurl:url]; [request startsynchronous]; NSError *error = [request error]; if (error) { NSLog(@"Error connecting %@", error); else { NSLog(@"Response arrived: %@", [request responsestring]); 37 JSON Javascript Object Notation Általános eszköz a webes technológiákban Tömörebb, hatékonyabb, mint az XML Jól használható Iphone alkalmazásokban, ha egy webes alkalmazáshoz kell kapcsolódni, könnyű az integráció { "firstname": "John", "lastname": "Smith", "age": 25, "address":{ "streetaddress": "21 2nd Street", "city": "New York", "state": "NY", "postalcode": "10021", "phonenumber":[{"type": "home","number": " ", {"type": "fax", "number": " "] 38 JSON értelmezése JSON Api kiegészíti az NSString interface-t JSON feldolgozása innentől az NSString osztály JSONValue metódusa lesz Visszaadhat NSArray, NSDictionary a választól függően NSArray* recipesjson = [[request responsestring] JSONValue]; NSMutableArray* recipeslist = [NSMutableArray arraywithcapacity: [recipesjson count]]; for (NSDictionary* dict in recipesjson) { Recipe* r = [Recipe recipewithdictionary:dict]; [recipeslist addobject:r]; 39

14 Külső komponensek Húzzuk be a Classes alá a utils könyvtárat Mindenképpen másoljuk be az állományokat a projekt alá Adjuk hozzá a projekthez a következő keretrendszereket: CFNetwork CoreGraphics MobileCoreFramework SystemConfiguration libz123dylib 40 Folytassuk a szakácskönyvet Egészítsük ki a CookBookManager osztályunkat, hogy az adatokat mostantól a webes szerverünkről töltse le Ehhez hozzunk létre modell osztályokat, illetve egészítsük ki a már meglévőket, hogy a megfelelő adatokat tudjuk tárolni Használjuk az ASIHTTP API-t a szerverhívásokhoz A beérkező JSON választ dolgozzuk fel a JSON API segítségével Hozzunk létre objektumokat a JSON adatok alapján 41 Az interface Három nézetünk van jelenleg, amihez szerver kommunikáció szükséges, ezekhez pedig a következő adatokat kell lekérdeznünk: Aktuális ajánlatok Kategóriák Egy adot kategóriához tartozó receptek Tetszőleges recept az azonosítója alapján 42

15 A szerver Az alkalmazás szerver a következő lekérdezéseket támogatja: Próbáljuk ki, ha beírjuk a böngészőbe mit kapunk, nézzük meg a forrást is 43 Kibővítjük a Recipe osztályt Megjelent az imageurl mező Készítsünk egy factory metódust ami a JSON adatokból létrehoz egy objektum példányt NSString* imageurl; + (id) recipewithdictionary: (NSDictionary*) dict; - (id) initwithtitle:(nsstring*)_title andsubtitle:(nsstring*) _subtitle anddescription:(nsstring*)_description andcomplexity: (NSString*)_complexity (nonatomic, retain) NSString* imageurl; 44 Kibővítjük a Recipe osztályt Vezessük át az új mezőt (property, konstruktor, synthesize, dealloc), valamint vegyük fel a factory metódust: + (id) recipewithdictionary: (NSDictionary*) dict { Recipe* r = [[[Recipe alloc] init] autorelease]; rtitle = [dict objectforkey:@"title"]; rsubtitle = [dict objectforkey:@"subtitle"]; rdescription = [dict objectforkey:@"description"]; rcomplexity = [dict objectforkey:@"complexity"]; rimageurl = [dict objectforkey:@"imageurl"]; return r; 45

16 Category Létrehozunk egy Category osztályt Category : NSObject { NSString* catid; NSString* name; NSString* (nonatomic, retain) NSString* (nonatomic, retain) NSString* (nonatomic, retain) NSString* imageurl; + (id) categorywithdictionary: (NSDictionary*) 46 name, catid, imageurl; + (id) categorywithdictionary: (NSDictionary*) dict { Category* cat = [[[Category alloc] init] autorelease]; catname = [dict objectforkey:@"name"]; catcatid = [dict objectforkey:@"catid"]; catimageurl = [dict objectforkey:@"imageurl"]; return cat; -(void)dealloc{ [name release]; [catid release]; [imageurl release]; [super 47 CookBookManager Kibővítjük a metódusokat hálózati kommunikcióval - (NSArray*) gethotrecipes { NSURL *url = [NSURL URLWithString:@" cookbookserverappspotcom/gethots"]; ASIHTTPRequest *request = [ASIHTTPRequest requestwithurl:url]; [request setdefaultresponseencoding:nsutf8stringencoding]; [request startsynchronous]; NSError *error = [request error]; if (error) { NSLog(@"Error getting hot recipes from server: %@", error); return nil; else { NSArray* recipesjson = [[request responsestring] JSONValue]; NSMutableArray* recipeslist = [NSMutableArray arraywithcapacity:[recipesjson count]]; for (NSDictionary* dict in recipesjson) { Recipe* r = [Recipe recipewithdictionary:dict]; [recipeslist addobject:r]; return recipeslist; 48

17 CookBookManager - (NSArray*) getcategories { NSURL *url = [NSURL URLWithString:@" cookbookserverappspotcom/getcategories"]; ASIHTTPRequest *request = [ASIHTTPRequest requestwithurl:url]; [request setdefaultresponseencoding:nsutf8stringencoding]; [request startsynchronous]; NSError *error = [request error]; if (error) { NSLog(@"Error getting categories from server: %@", error); return nil; else { NSArray* categoriesjson = [[request responsestring] JSONValue]; NSMutableArray* categorylist = [NSMutableArray arraywithcapacity:[categoriesjson count]]; for (NSDictionary* dict in categoriesjson) { Category* c = [Category categorywithdictionary:dict]; [categorylist addobject:c]; return categorylist; 49 CookBookManager - (NSArray*) getrecipesbycategory: (NSString*) catid { NSURL *url = [NSURL URLWithString:[NSString stringwithformat:@" getrecipesbycategory?catid=%@", catid]]; ASIHTTPRequest *request = [ASIHTTPRequest requestwithurl:url]; [request setdefaultresponseencoding:nsutf8stringencoding]; [request startsynchronous]; NSError *error = [request error]; if (error) { NSLog(@"Error getting recipes for category from server: %@", error); return nil; else { NSArray* recipesjson = [[request responsestring] JSONValue]; NSMutableArray* recipeslist = [NSMutableArray arraywithcapacity:[recipesjson count]]; for (NSDictionary* dict in recipesjson) { Recipe* r = [Recipe recipewithdictionary:dict]; [recipeslist addobject:r]; return recipeslist; 50 CookBookManager - (Recipe*) getrecipebyid: (NSString*) recid { NSURL *url = [NSURL URLWithString:[NSString stringwithformat:@" recid=%@", recid]]; ASIHTTPRequest *request = [ASIHTTPRequest requestwithurl:url]; [request setdefaultresponseencoding:nsutf8stringencoding]; [request startsynchronous]; NSError *error = [request error]; if (error) { NSLog(@"Error getting recipe from server: %@", error); return nil; else { NSDictionary* dict = [[request responsestring] JSONValue]; return [Recipe recipewithdictionary:dict]; 51

18 Controllerek Módosítsuk a kontrollereinket, hogy a plussz adatokat is megjelenítsék (CategoryViewController) - (UITableViewCell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath { Category* category=[[[cookbookmanager getinstance] getcategories] objectatindex:indexpathrow]; NSURL *url = [NSURL URLWithString:catimageURL]; NSData *data = [NSData datawithcontentsofurl:url]; UIImage *img = [UIImage imagewithdata:data]; cellimageviewimage = img; celltextlabeltext = catname; return cell; 52 Controllerek Módosítsuk a kontrollereinket, hogy a plussz adatokat is megjelenítsék (RecipelistViewController) - (UITableViewCell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath { Recipe* r = [recipes objectatindex:indexpathrow]; celltextlabeltext = rtitle; celldetailtextlabeltext= rsubtitle; NSURL *url = [NSURL URLWithString:rimageURL]; NSData *data = [NSData datawithcontentsofurl:url]; UIImage *img = [UIImage imagewithdata:data]; cellimageviewimage = img; return cell; 53 A recept Hozzunk létre egy UIImageView típusú adattagot a recept nézet controllerébe Kössük be az Interface Builderben a képhez tartozó elemet is - (void)viewwillappear:(bool)animated { if(selfrecipe = nil){ selfrecipetitletext = selfrecipetitle; selfrecipesubtitletext = selfrecipesubtitle; selftimetomaketext perc"; selfdescriptiontext = selfrecipedescription; NSURL *url = [NSURL URLWithString:recipeimageURL]; NSData *data = [NSData datawithcontentsofurl:url]; UIImage *img = [UIImage imagewithdata:data]; selfimageviewimage = img; [super viewwillappear:animated]; 54

19 A memória felszabadítása Ne feledjük el felszabadítani a lefoglalt memóriát A nézetekben tárolt listákat végül magunknak kell felszabadítani Receptlista nézetben a recepteket Recept nézetben a receptet - (void)dealloc { [recipes release]; [super dealloc]; 55 Próbáljuk ki 56 Köszönöm a figyelmet Sallai Péter petersallai@pontehu 57

iphone programozás alapjai II. Gyakorlat

iphone programozás alapjai II. Gyakorlat iphone programozás alapjai II. Gyakorlat A mai gyakorlat témái I. Modell szétválasztás Modell logika osztályainak létrehozásának módjai Szakácsköny model kialakítása II. Hálózat kezelés Hálózat kezelés

Részletesebben

iphone programozás alapjai I. Gyakorlat

iphone programozás alapjai I. Gyakorlat iphone programozás alapjai I. Gyakorlat A mai gyakorlat témái I. Számológép Egyszerű Interface Builder példa Outletek és Actionok bekötése II. Szakácskönyv Neki kezdünk a nagy feladatnak Megjelenítés elemei

Részletesebben

iphone programozás alapjai

iphone programozás alapjai iphone programozás alapjai I. Gyakorlat A mai gyakorlat témái I. Számológép Egyszerű Interface Builder példa Outletek és Actionok bekötése II. Szakácskönyv Neki kezdünk a nagy feladatnak Megjelenítés elemei

Részletesebben

iphone Programozás II. előadás február 14.

iphone Programozás II. előadás február 14. iphone Programozás II. előadás A mai előadás témái I. Interface builder Az UI betöltés folyamata Outletek és Actionok II. További UI elemek Tableview Navigation és Tabbar Controllerek III. Gyakorlati példa

Részletesebben

iphone programozás alapjai

iphone programozás alapjai iphone programozás alapjai II. előadás A mai előadás témái I. Interface builder Az UI betöltés folyamata Outletek és Actionok II. További UI elemek Tableview Navigation és Tabbar Controllerek III. Gyakorlati

Részletesebben

ios alkalmazásfejlesztés Koltai Róbert

ios alkalmazásfejlesztés Koltai Róbert ios alkalmazásfejlesztés Koltai Róbert mit vettünk a múlt órán? mi az a protocol? szintaktikája? mire jó a category? milyen memóriakezelés van ios-en? mi ennek a 4 állapota? mi a főszabály? + 4 része mi

Részletesebben

Objective-C PPKE-ITK 2013. 02. 14.

Objective-C PPKE-ITK 2013. 02. 14. Objective-C PPKE-ITK 2013. 02. 14. Objective-C bevezetés "Objective-C is a superset of C" Header:.h, osztálydeklarációk Implementáció:.m, osztályok implementációja Objective-C++:.mm Framework: Cocoa Szintaxis

Részletesebben

Mi az a Memory Management

Mi az a Memory Management Memory management Mi az a Memory Management A memória kezelés egy olyan aspektusa a programozásnak, ahol az egyes objektumok életciklusát vezéreljük, felszabadítva azokat, ha már nincs rájuk szükség. Ez

Részletesebben

JAVA webes alkalmazások

JAVA webes alkalmazások JAVA webes alkalmazások Java Enterprise Edition a JEE-t egy specifikáció definiálja, ami de facto szabványnak tekinthető, egy ennek megfelelő Java EE alkalmazásszerver kezeli a telepített komponensek tranzakcióit,

Részletesebben

ios alkalmazásfejlesztés

ios alkalmazásfejlesztés ios alkalmazásfejlesztés mi kell hozzá? Mac OS X ios Developer Program regisztráció (99$/year) SDK + Xcode eszközök 2 Mac OS X Finder Launchpad Spotlight Preview Terminal AppStore 3 Xcode felépítése 4

Részletesebben

Webes alkalmazások fejlesztése

Webes alkalmazások fejlesztése Webes alkalmazások fejlesztése 3. gyakorlat Authentikáció, adatok feltöltése Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu Authentikáció Manapság már elvárás, hogy a felhasználó regisztrálni

Részletesebben

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI) Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 8. előadás (ASP.NET WebAPI) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto A webszolgáltatás

Részletesebben

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor Java Programozás 4. Gy: Java GUI Tipper, MVC kalkulátor 15/1 B ITv: MAN 2018.03.10 1. Feladat: Tipper Készítsük el a tippelős programunk grafikus változatát. Az üzleti logika kódja megvan, a felület pedig

Részletesebben

Programozás II gyakorlat. 7. Példák a polimorfizmus alkalmazásaira

Programozás II gyakorlat. 7. Példák a polimorfizmus alkalmazásaira Programozás II gyakorlat 7. Példák a polimorfizmus alkalmazásaira Probléma class A { public: ~A() { cout

Részletesebben

iphone és Android két jó barát...

iphone és Android két jó barát... iphone és Android két jó barát... Multiplatform alkalmazásfejlesztés a gyakorlatban Kis Gergely MattaKis Consulting 1 Tartalom Miért multiplatform fejlesztés? Multiplatform fejlesztési módszerek A közös

Részletesebben

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22 Szerializáció Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) Szerializáció 2014 1 / 22 Tartalomjegyzék 1 Szerializációs Alapfogalmak 2 Szerializációs Megoldások Object Szerializáció XML

Részletesebben

Entity Framework alapú adatbáziselérés

Entity Framework alapú adatbáziselérés Entity Framework alapú adatbáziselérés Dr. Johanyák Zsolt Csaba http://johanyak.hu A gyakorlat célja Model-first megközelítéssel Entity-Framework modell létrehozása, majd ebből adatbázis generálása LocalDB-ben.

Részletesebben

Java Programozás 11. Ea: MVC modell

Java Programozás 11. Ea: MVC modell Java Programozás 11. Ea: MVC modell 20/1 B ITv: MAN 2018.03.02 MVC Model-View-Controller A modell-nézet-vezérlő a szoftvertervezésben használatos szerkezeti minta. Az MVC célja elválasztani az üzleti logikát

Részletesebben

MVC. Model View Controller

MVC. Model View Controller MVC Model View Controller Szoftver fejlesztés régen Console-based alkalmazások Pure HTML weboldalak Assembly, C Tipikusan kevés fejlesztő (Johm Carmack Wolfenstein, Doom, Quake..) Szűkös erőforrások optimális

Részletesebben

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens Hozzunk létre egy ASP.NET Empty Web Site projektet! A projekt neve legyen WCFAPP1. Ez

Részletesebben

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez Székely István Debreceni Egyetem, Informatikai Intézet A rendszer felépítése szerver a komponenseket szolgáltatja Java nyelvű implementáció

Részletesebben

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft Flash és PHP kommunikáció Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft A lehetőségek FlashVars External Interface Loadvars XML SOAP Socket AMF AMFphp PHPObject Flash Vars Flash verziótól függetlenül

Részletesebben

Az iphone fejlesztés alapjai. I. előadás

Az iphone fejlesztés alapjai. I. előadás Az iphone fejlesztés alapjai I. előadás A ponte.hu Kft. 2001 óta a piacon Web iphone, Android, Nokia és Windows mobile fejlesztések Újszerű megoldások és technológiák keresése A kurzus menete 3x45+2x45

Részletesebben

Adatbányászat és Perszonalizáció architektúra

Adatbányászat és Perszonalizáció architektúra Adatbányászat és Perszonalizáció architektúra Oracle9i Teljes e-üzleti intelligencia infrastruktúra Oracle9i Database Integrált üzleti intelligencia szerver Data Warehouse ETL OLAP Data Mining M e t a

Részletesebben

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010. Országos Területrendezési Terv térképi mellékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010. május 1. BEVEZETÉS Az útmutató célja az Országos Területrendezési

Részletesebben

Az iphone fejlesztés alapjai

Az iphone fejlesztés alapjai Az iphone fejlesztés alapjai I. előadás A ponte.hu Kft. 2001 óta a piacon Web iphone, Android, Nokia és Windows mobile fejlesztések Újszerű megoldások és technológiák keresése A kurzus menete 3x45+2x45

Részletesebben

ios alkalmazásfejlesztés alapjai Nagy Aszter András BME MIK anagy@mik.bme.hu

ios alkalmazásfejlesztés alapjai Nagy Aszter András BME MIK anagy@mik.bme.hu ios alkalmazásfejlesztés alapjai Nagy Aszter András BME MIK anagy@mik.bme.hu 1 ios platform Apple mobil operációs rendszere iphone, ipod Touch, ipad OS X-en alapul De nem kompatibilis azzal Homogén rendszer

Részletesebben

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 04. 17. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési

Részletesebben

Szoftver Tervezési Dokumentáció. Nguyen Thai Binh

Szoftver Tervezési Dokumentáció. Nguyen Thai Binh Szoftver Tervezési Dokumentáció Nguyen Thai Binh April 2010 1. fejezet Feladat Szimulációs feladat. Célja, hogy reprezentáljunk egy több komponensből álló alkalmazást, amely a megadott témakörnek megfelel,

Részletesebben

Platform lehetőségek kutatása: ios. A Mobil multimédiás kliens fejlesztői eszközkészlet létrehozása című kutatás-fejlesztési projekthez

Platform lehetőségek kutatása: ios. A Mobil multimédiás kliens fejlesztői eszközkészlet létrehozása című kutatás-fejlesztési projekthez Platform lehetőségek kutatása: ios A Mobil multimédiás kliens fejlesztői eszközkészlet létrehozása című kutatás-fejlesztési projekthez Tartalomjegyzék 1 Bevezetés... 3 2 Objective-C... 3 2.1 ARC... 4 2.2

Részletesebben

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

MicroSigner Közvetítő Szerver fejlesztői dokumentáció MICROSEC ZRT. MicroSigner Közvetítő Szerver fejlesztői dokumentáció verzió: 1.0 Ivicsics Sándor, Máté Norbert, Vanczák Gergely 2016.06.09. Tartalom Általános információk... 2 ESign munkamenet létrehozása...

Részletesebben

Programozási technológia

Programozási technológia Programozási technológia Swing GUI készítése NetBeans IDE segítségével Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Bevezető Eddig a grafikus felhasználói felületet kódból hoztuk létre kézzel. A mi

Részletesebben

WEB-PROGRAMOZÁS II. 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: <?php. interface Kiir { public function kiir();

WEB-PROGRAMOZÁS II. 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: <?php. interface Kiir { public function kiir(); WEB-PROGRAMOZÁS II 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: a) Legyen a Felhasznalo osztálynak egy osztály szintű publikus változója, amelyben számolja a létrehozott példányai

Részletesebben

Szathmáry László Debreceni Egyetem Informatikai Kar

Szathmáry László Debreceni Egyetem Informatikai Kar Szathmáry László Debreceni Egyetem Informatikai Kar 1. Gyakorlat bevezető JSON telepítés (utolsó módosítás: 2018. szept. 12.) 2018-2019, 1. félév MongoDB https://www.mongodb.com/ A MongoDB egy nem-relációs,

Részletesebben

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans Enterprise JavaBeans Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans (EJB) server oldali komponens, amely Az üzleti

Részletesebben

A JavaServer Pages (JSP)

A JavaServer Pages (JSP) A JavaServer Pages (JSP) Fabók Zsolt Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 03. 27. JSP Harmadik generáci ciós s WEB szerver A dinamikus lap a tipikus Dinamikus

Részletesebben

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN OOP: Java 11.Gy: Enumok, beágyazott osztályok 13/1 B ITv: MAN 2019.04.24 ArrayList Rugalmas tömb A tömbök korlátai Fix méret, nem lehet menet közben megnövelni Ha túl nagyra választjuk, fölösleges helyfoglalás

Részletesebben

Bevezetés Működési elv AJAX keretrendszerek AJAX

Bevezetés Működési elv AJAX keretrendszerek AJAX AJAX Áttekintés Bevezetés Működési elv AJAX-ot támogató keretrendszerek Áttekintés Bevezetés Működési elv AJAX-ot támogató keretrendszerek Áttekintés Bevezetés Működési elv AJAX-ot támogató keretrendszerek

Részletesebben

iphone programozás alapjai

iphone programozás alapjai iphone programozás alapjai IV Gyakorlat A mai előadás témái I Térképek és pozíció MKMapView GPS pozíció lekérése II Kamera kép kezelése III Gyorsulás érzékelő IV Push Notification I Térképek és Pozíció

Részletesebben

Függőség injekció Konstantinusz Kft 2010

Függőség injekció Konstantinusz Kft 2010 Függőség injekció Konstantinusz Kft 2010 1 Tartalomjegyzék 1 Tartalomjegyzék 2 2 Bevezetés 3 3 Függőségek formái 4 4 Függőség kezelés problémái 8 5 Megvalósítás 9 2/16 2 Bevezetés Egy objektum modellben

Részletesebben

munkafüzet open eseményéhez

munkafüzet open eseményéhez Makrók használata az Excelben - munkafüzet open eseményéhez VBA-eljárás létrehozása Az Auto_Open makróval kapcsolatos fenti korlátozások megkerülhetők az Open eseményhez rendelt VBA-eljárással. Példa Auto_open

Részletesebben

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

Egészítsük ki a Drupal-t. Drupal modul fejlesztés Egészítsük ki a Drupal-t Drupal modul fejlesztés Drupal 6.0 2008. február 13. Miért írjunk Drupal modult? Nincs az igényeinknek megfelelő modul Valamilyen közösségi igény kielégítése Valami nem úgy működik

Részletesebben

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Cserép Máté.

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Cserép Máté. Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 4. előadás (ASP.NET) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Készült Giachetta Roberto jegyzete alapján

Részletesebben

Webes alkalmazások fejlesztése. Bevezetés az ASP.NET MVC 5 keretrendszerbe

Webes alkalmazások fejlesztése. Bevezetés az ASP.NET MVC 5 keretrendszerbe Webes alkalmazások fejlesztése Bevezetés az ASP.NET MVC 5 keretrendszerbe ASP.NET MVC Framework 2009-ben jelent meg az első verziója, azóta folyamatosan fejlesztik Nyílt forráskódú Microsoft technológia

Részletesebben

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET)

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 4. előadás (ASP.NET) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Nézetek kezelése Sok esetben

Részletesebben

Adatbázis rendszerek 7. előadás State of the art

Adatbázis rendszerek 7. előadás State of the art Adatbázis rendszerek 7. előadás State of the art Molnár Bence Szerkesztette: Koppányi Zoltán Osztott adatbázisok Osztott rendszerek Mi is ez? Mi teszi lehetővé? Nagy sebességű hálózat Egyre olcsóbb, és

Részletesebben

Google App Engine az Oktatásban 1.0. ügyvezető MattaKis Consulting http://www.mattakis.com

Google App Engine az Oktatásban 1.0. ügyvezető MattaKis Consulting http://www.mattakis.com Google App Engine az Oktatásban Kis 1.0 Gergely ügyvezető MattaKis Consulting http://www.mattakis.com Bemutatkozás 1998-2002 között LME aktivista 2004-2007 Siemens PSE mobiltelefon szoftverfejlesztés,

Részletesebben

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group COMET webalkalmazás fejlesztés Tóth Ádám Jasmin Media Group Az előadás tartalmából Alapproblémák, fundamentális kérdések Az eseményvezérelt architektúra alapjai HTTP-streaming megoldások AJAX Polling COMET

Részletesebben

IBM Software Group Archiválási technológiák - tartalomkezelés Kovács László Az információ kezelésének evolúciója Struktúrált adatok kezelése '60s Alkalmazások '70s Adatbázisok alkalmazásokra optimalizálva

Részletesebben

API tervezése mobil környezetbe. gyakorlat

API tervezése mobil környezetbe. gyakorlat API tervezése mobil környezetbe gyakorlat Feladat Szenzoradatokat gyűjtő rendszer Mobil klienssel Webes adminisztrációs felület API felhasználói Szenzor node Egyirányú adatküldés Kis számítási kapacitás

Részletesebben

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk. JSON tutorial Készítette: Cyber Zero Web: www.cyberzero.tk E-mail: cyberzero@freemail.hu Msn: cyberzero@mailpont.hu Skype: cyberzero_cz Fb: https://www.facebook.com/cyberzero.cz BEVEZETÉS: A JSON (JavaScript

Részletesebben

A Java nyelv. Dialógus ablakok. Elek Tibor

A Java nyelv. Dialógus ablakok. Elek Tibor A Java nyelv Dialógus ablakok Elek Tibor Dialógus ablakok Szerepe: felbukkanó ablak (üzenet, input) Felépítése, használata majdnem ua., mint JFrame Tulajdonos: lehet tulajdonosa, amellyel együtt ikonizálódik,

Részletesebben

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1 SZE INFORMATIKAI KÉPZÉS 1 ADATBÁZIS-KEZELÉS MS ACCESS 2010 A feladat megoldása során a Microsoft Office Access 2010 használata a javasolt. Ebben a feladatban a következőket fogjuk gyakorolni: Adatok importálása

Részletesebben

TSIMMIS egy lekérdezés centrikus megközelítés. TSIMMIS célok, technikák, megoldások TSIMMIS korlátai További lehetségek

TSIMMIS egy lekérdezés centrikus megközelítés. TSIMMIS célok, technikák, megoldások TSIMMIS korlátai További lehetségek TSIMMIS egy lekérdezés centrikus megközelítés TSIMMIS célok, technikák, megoldások TSIMMIS korlátai További lehetségek 1 Információk heterogén információs forrásokban érhetk el WWW Társalgás Jegyzet papírok

Részletesebben

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák Java Web technológiák Bevezetés Áttekintés Model View Controller (MVC) elv Java EE Java alapú Web alkalmazások Áttekintés Model View Controller (MVC) elv Java EE Java alapú Web alkalmazások Áttekintés

Részletesebben

Bevezető. Servlet alapgondolatok

Bevezető. Servlet alapgondolatok A Java servlet technológia Fabók Zsolt Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 03. 06. Servlet Bevezető Igény a dinamikus WEB tartalmakra Előzmény: CGI Sokáig

Részletesebben

Stateless Session Bean

Stateless Session Bean Stateless Session Bean Készítsünk egy stateless session bean-t, amellyel összeadhatunk két számot. Hozzunk létre egy Dynamic Web projectet File New Other itt a következőket kell választani: Web Dynamic

Részletesebben

Java labor segédlet. Alkalmazás fejlesztési környezetek c. tárgyhoz. késztette: Filep Szabolcs 2017.

Java labor segédlet. Alkalmazás fejlesztési környezetek c. tárgyhoz. késztette: Filep Szabolcs 2017. Java labor segédlet az Alkalmazás fejlesztési környezetek c. tárgyhoz késztette: Filep Szabolcs 2017. Szerzői jogok Jelen dokumentum a BME Villamosmérnöki és Informatikai Kar hallgatói számára készített

Részletesebben

Kommunikáció Androidon Mobilinternet Wifi

Kommunikáció Androidon Mobilinternet Wifi OE-NIK 2012. március 24. Sicz-Mesziár János sicz-mesziar.janos@ nik.uni-obuda.hu Kommunikáció Androidon Mobilinternet Wifi Kommunikációs eszközök Androidon Wi-Fi Ma már minimum: a / b / g szabványok, újabbakon

Részletesebben

OOP és UML Áttekintés

OOP és UML Áttekintés OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés

Részletesebben

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1 DCOM Áttekintés Miskolci Egyetem Általános Informatikai Tanszék DCOM /1 Mi a DCOM? DCOM: Distributed Component Object Model A Microsoft osztott objektum modellje Bináris együttmÿködési szabvány és annak

Részletesebben

Reaktív programozás szerver oldalon

Reaktív programozás szerver oldalon Reaktív programozás szerver oldalon Tóth Márton Supercharge Agenda Reactive streams Spring WebFlux Reactive Spring Data Benchmarks Konklúzió Reactive streams Reactive streams Reaktív programozási modell

Részletesebben

A JavaServer Pages (JSP)

A JavaServer Pages (JSP) A JavaServer Pages (JSP) Fabók Zsolt Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 03. 27. JSP Harmadik generáci ciós s WEB szerver A dinamikus lap a tipikus Dinamikus

Részletesebben

Swing GUI készítése NetBeans IDE segítségével

Swing GUI készítése NetBeans IDE segítségével Programozási Swing e NetBeans IDE segítségével Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 2 2 Eddig a grafikus felhasználói felületet kódból hoztuk létre kézzel. A mi feladatunk volt az

Részletesebben

Model View Controller alapú alkalmazásfejlesztés

Model View Controller alapú alkalmazásfejlesztés 10. Laboratóriumi gyakorlat Model View Controller alapú alkalmazásfejlesztés A gyakorlat célja: Az MVC elv megértése és ismerkedés egy egyszerű MVC keretrendszerrel. Felkészüléshez szükséges anyagok: 1.

Részletesebben

iphone programozás alapjai IV. Gyakorlat

iphone programozás alapjai IV. Gyakorlat iphone programozás alapjai IV Gyakorlat A mai előadás témái I Térképek és pozíció MKMapView GPS pozíció lekérése II Kamera kép kezelése III Gyorsulás érzékelő IV Push Notification I Térképek és Pozíció

Részletesebben

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész Java Programozás 9. Gy: Java alapok Adatkezelő 5.rész 15/1 B ITv: MAN 2018.04.22 A Keresés funkció Programlogika: 1. A keresés az etm táblamodellben fog keresni, és a találat rekordokat átmásolja egy másik

Részletesebben

Tisztelt Telepítő! 2. Ellenőrizze, hogy a modul engedélyezve van-e: Szekció [382] Opció 5 (alternatív kommunikátor) BE.

Tisztelt Telepítő! 2. Ellenőrizze, hogy a modul engedélyezve van-e: Szekció [382] Opció 5 (alternatív kommunikátor) BE. Tisztelt Telepítő! A PowerSeries NEO GO alkalmazás segítségével távolról vezérelhetőek a NEO központok. Ehhez a központokat valamely TL280/TL2803G/3G2080 modullal kell bővíteni. A modul verziószámának

Részletesebben

Ez a megoldás azért is érdekes, hiszen jelenleg ma a mobil applikációk piacán ez egyedülállónak számít.

Ez a megoldás azért is érdekes, hiszen jelenleg ma a mobil applikációk piacán ez egyedülállónak számít. Appioneer Mobil alkalmazásfejlesztő vállalkozás - App Webalkalmazás Kft. A mai mobil alkalmazások gyártásánál fontos szempont a felhasználók elérése. Minden platformon biztosított a hivatalos áruház, ahonnan

Részletesebben

A Java EE 5 plattform

A Java EE 5 plattform A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11. 13. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési

Részletesebben

CMDB architektúra megjelenítése SAMU-val Rugalmas megoldás. ITSMF 2015. 10. 30. Bekk Nándor Magyar Telekom / IT szolgáltatás menedzsment központ

CMDB architektúra megjelenítése SAMU-val Rugalmas megoldás. ITSMF 2015. 10. 30. Bekk Nándor Magyar Telekom / IT szolgáltatás menedzsment központ CMDB architektúra megjelenítése SAMU-val Rugalmas megoldás ITSMF 2015. 10. 30. Bekk Nándor Magyar Telekom / IT szolgáltatás menedzsment központ Tartalom Nehézségeink CMDB adatok és függ ségek vizualizációja

Részletesebben

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu Számonkérés 2 Papíros (90 perces) zh az utolsó gyakorlaton. Segédanyag nem használható Tematika 1. félév 3 Óra Dátum Gyakorlat 1. 2010.09.28.

Részletesebben

Labor leletező program

Labor leletező program Labor leletező program 1. A labor leletező főbb funkciói 2. Labor kérés létrehozása 3. Labor kérések figyelése 4. Eredmények bevitele 5. Kérés archiválása 6. Beteg kérések archiválása 7. Régi lelet keresése

Részletesebben

Ajax és Echo 2. Bokor Attila

Ajax és Echo 2. Bokor Attila Ajax és Echo 2 Bokor Attila attila.bokor@netvisor.hu Tartalom Ajax áttekintés Echo2 Echo2 kiegészítések Asynchronous JavaScript and XML Webfejlesztési technika interaktív webalkalmazásokhoz Kifejezés közösen

Részletesebben

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok

Részletesebben

Multimédiás adatbázisok

Multimédiás adatbázisok Multimédiás adatbázisok Multimédiás adatbázis kezelő Olyan adatbázis kezelő, mely támogatja multimédiás adatok (dokumentum, kép, hang, videó) tárolását, módosítását és visszakeresését Minimális elvárás

Részletesebben

Kezdő lépések Microsoft Outlook

Kezdő lépések Microsoft Outlook Kezdő lépések Microsoft Outlook A Central Europe On-Demand Zrt. által, a Telenor Magyarország Zrt. részére nyújtott szolgáltatások rövid kezelési útmutatója 1 Tartalom Áttekintés... 3 MAPI mailbox konfiguráció

Részletesebben

Web-fejlesztés NGM_IN002_1

Web-fejlesztés NGM_IN002_1 Web-fejlesztés NGM_IN002_1 Rich Internet Applications RIA Vékony-kliens generált (statikus) HTML megjelenítése szerver oldali feldolgozással szinkron oldal megjelenítéssel RIA desktop alkalmazások funkcionalitása

Részletesebben

Ustream.tv Bepillantás egy közösségi élővideo site működésébe

Ustream.tv Bepillantás egy közösségi élővideo site működésébe Ustream.tv Bepillantás egy közösségi élővideo site működésébe Tolmács Márk Pillantás bele... Facebook-clean, YouTube simple......so you get the drill Mivel kell szembenéznünk... Web front-end 30 000 kérés

Részletesebben

DDNS szolgáltatás beállítása NVR P2P elérésének beállítása

DDNS szolgáltatás beállítása NVR P2P elérésének beállítása DDNS szolgáltatás beállítása NVR P2P elérésének beállítása Walisec AHDVR, NVR és IP kamera ingyenes DDNS beállítása: Megjegyzés: Csak kizárólag nem Cloud szériás Walisec eszközöknél használható ez a funkció!

Részletesebben

HÁLÓZATI BEÁLLÍTÁS. Videorögzítőkhöz

HÁLÓZATI BEÁLLÍTÁS. Videorögzítőkhöz I BEÁLLÍTÁS Videorögzítőkhöz Kérjük olvassa át figyelmesen ezt az útmutatót a készülék használata előtt és tartsa meg jövőben felhasználás céljára. Fenntartjuk a jogot a kézikönyv tartalmának bármikor

Részletesebben

Se S r e ial a iza z t a ion o n (in n Ja J v a a v ) a Szerializáció

Se S r e ial a iza z t a ion o n (in n Ja J v a a v ) a Szerializáció Serialization (in Java) Szerializáció Java Serialization API Standard eljárás az objektumok állapotának adatfolyamba történő kiírására (elmentésére egy bájtszekvenciába), és visszatöltésére Perzisztencia

Részletesebben

1/9. Sunell IP kamerák webes felületének használati útmutatója. Élő kép (Live Video)

1/9. Sunell IP kamerák webes felületének használati útmutatója. Élő kép (Live Video) felületének használati útmutatója Élő kép (Live Video) Belépés után rögtön látható a kamera élő képe, váltható a stream minősége (a beállításoktól függően), valamint a képre jobb kattintással előhozható

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály

Részletesebben

Tartalomjegyzék. I. rész: Bevezetés. A szerzőről... xvii. Köszönetnyilvánítás... xix. Bevezetés... xxi. 1. Bevezetés az iphone programozásába...

Tartalomjegyzék. I. rész: Bevezetés. A szerzőről... xvii. Köszönetnyilvánítás... xix. Bevezetés... xxi. 1. Bevezetés az iphone programozásába... A szerzőről... xvii Köszönetnyilvánítás... xix Bevezetés... xxi Kinek szól ez a könyv?... xxii Mivel foglalkozik ez a könyv?... xxii Hogyan épül fel ez a könyv?... xxv Mi szükséges a könyv használatához?...

Részletesebben

Adatbázisok elleni fenyegetések rendszerezése. Fleiner Rita BMF/NIK Robothadviselés 2009

Adatbázisok elleni fenyegetések rendszerezése. Fleiner Rita BMF/NIK Robothadviselés 2009 Adatbázisok elleni fenyegetések rendszerezése Fleiner Rita BMF/NIK Robothadviselés 2009 Előadás tartalma Adatbázis biztonsággal kapcsolatos fogalmak értelmezése Rendszertani alapok Rendszerezési kategóriák

Részletesebben

Enterprise JavaBeans 1.4 platform (EJB 2.0)

Enterprise JavaBeans 1.4 platform (EJB 2.0) Enterprise JavaBeans 1.4 platform (EJB 2.0) Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11.13. Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans

Részletesebben

HÁLÓZATI HASZNÁLATI ÚTMUTATÓ

HÁLÓZATI HASZNÁLATI ÚTMUTATÓ HÁLÓZATI HASZNÁLATI ÚTMUTATÓ Nyomtatási napló tárolása hálózaton 0 verzió HUN A megjegyzések definíciója A Használati útmutatóban következetesen az alábbi szimbólumot használjuk: A megjegyzésekből azt

Részletesebben

Adatbáziskezelés Delphi 5 alatt. Bese Antal 2006. http://toni.web.elte.hu/delphi

Adatbáziskezelés Delphi 5 alatt. Bese Antal 2006. http://toni.web.elte.hu/delphi Adatbáziskezelés Delphi 5 alatt Bese Antal 2006. http://toni.web.elte.hu/delphi 1. Bevezetés Számítógépes adattárolás fájlokban. Az egész adatbázist egy fájlban (Pl.: Access, Interbase,és a legtöbb SQL

Részletesebben

Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése

Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése 1 Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése Természetes nyelv feldolgozás 2 Tudásalapú információ-kereső rendszerek

Részletesebben

Objektum orientált kiterjesztés A+ programozási nyelvhez

Objektum orientált kiterjesztés A+ programozási nyelvhez Szegedi Tudományegyetem Informatikai Tanszékcsoport Objektum orientált kiterjesztés A+ programozási nyelvhez Diplomamunka terve Készítette: Bátori Csaba programtervező matematikus hallgató Témavezető:

Részletesebben

NEPTUN ID BMENET ID. Címtár BME VPN. vcenter VPN SVN. Trac Wiki. Wifi

NEPTUN ID BMENET ID. Címtár BME VPN. vcenter VPN SVN. Trac Wiki. Wifi Tanszék N NEPTUN ID Címtár vcenter Trac Wiki SVN Wifi VPN BMENET ID BME VPN BME címtár elérés Drupal alól Ujhelyi Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek

Részletesebben

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

MicroSigner Közvetítő Szerver fejlesztői dokumentáció MICROSEC ZRT. MicroSigner Közvetítő Szerver fejlesztői dokumentáció verzió: 1.0 Ivicsics Sándor, Máté Norbert, Vanczák Gergely 2016.06.09. Tartalom Általános információk... 2 ESign munkamenet létrehozása...

Részletesebben

Tisztelt Telepítő! A központ és az alkalmazás összehangolását a következőképpen hajthatja végre:

Tisztelt Telepítő! A központ és az alkalmazás összehangolását a következőképpen hajthatja végre: Tisztelt Telepítő! A PowerSeries NEO GO alkalmazás segítségével távolról vezérelhetőek a NEO központok. Ehhez a központokat valamely TL280/TL2803G/3G2080 modullal kell bővíteni. A leírás a v5.x modul verziókhoz

Részletesebben

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv Tartalomjegyzék 1. Symbian rendszer...2 1.1 Funkciók és követelmények...2 1.2 Telepítés és használat...2 2. Windows Mobile rendszer...6 2.1

Részletesebben

PHP-MySQL. Adatbázisok gyakorlat

PHP-MySQL. Adatbázisok gyakorlat PHP-MySQL Adatbázisok gyakorlat Weboldalak és adatbázisok Az eddigiek során megismertük, hogyan lehet a PHP segítségével dinamikus weblapokat készíteni. A dinamikus weboldalak az esetek többségében valamilyen

Részletesebben

DDNS szolgáltatás beállítása NVR P2P elérésének beállítása

DDNS szolgáltatás beállítása NVR P2P elérésének beállítása DDNS szolgáltatás beállítása NVR P2P elérésének beállítása Fontos! A megfelelő DDNS eléréshez a portokat át kell irányítani a routeren/tűzfalon, egyébként az eszköz nem lesz elérhető. A www.hdcctvddns.com

Részletesebben

Többfelhasználós és internetes térkép kezelés, megjelenítés

Többfelhasználós és internetes térkép kezelés, megjelenítés Többfelhasználós és internetes térkép kezelés, megjelenítés Többfelhasználós környezetek Egyszerű fájlszerveres megoldás, LAN (Novel, Windows hálózat) Egy fájl egyidejű módosítása több helyről nem lehetséges

Részletesebben

BajaWebNet hálózatfeladat Egy kisvállalat hálózatának tervezésével bízták meg. A kisvállalatnak jelenleg Baján, Egerben és Szolnokon vannak irodaépületei, ahol vezetékes, illetve vezeték nélküli hálózati

Részletesebben

Fogalmak: Adatbázis Tábla Adatbázis sorai: Adatbázis oszlopai azonosító mező, egyedi kulcs Lekérdezések Jelentés Adattípusok: Szöveg Feljegyzés Szám

Fogalmak: Adatbázis Tábla Adatbázis sorai: Adatbázis oszlopai azonosító mező, egyedi kulcs Lekérdezések Jelentés Adattípusok: Szöveg Feljegyzés Szám Fogalmak: Adatbázis: logikailag összefüggő információ vagy adatgyőjtemény. Tábla: logikailag összetartozó adatok sorokból és oszlopokból álló elrendezése. Adatbázis sorai: (adat)rekord Adatbázis oszlopai:

Részletesebben