• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Using Webservice  in iOS
 

Using Webservice in iOS

on

  • 320 views

This is a comprehensive slide on implementing web service in iOS . There are basic information on Web Service . There are steps of using web service in iOS. The presentation emphasized on XML Parsing ...

This is a comprehensive slide on implementing web service in iOS . There are basic information on Web Service . There are steps of using web service in iOS. The presentation emphasized on XML Parsing .

Statistics

Views

Total Views
320
Views on SlideShare
313
Embed Views
7

Actions

Likes
0
Downloads
5
Comments
1

1 Embed 7

http://www.slideee.com 7

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • http://en.wikipedia.org/wiki/Web_service
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Using Webservice  in iOS Using Webservice in iOS Presentation Transcript

    • Working with Web Service in iOS
    • Syed Mahboob Nur iOS Developer Blog: http://mahboobiosdeveloper.blogspot.com/ Fb Profile: https://www.facebook.com/mahboob.nur Meetnar Profile: http://www.meetnar.com/Home/UserDetails/24
    • Web Service A Web service is a method of communications between two electronic devices over the World Wide Web. It is a software function provided at a network address over the web with the service always on as in the concept of utility computing.
    • Several Types of Web Services WSDL • WSDL stands for Web Services Description Language • WSDL is an XML-based language for describing Web services. • WSDL is a W3C recommendation
    • Several Types of Web Services SOAP • SOAP stands for Simple Object Access Protocol • SOAP is an XML based protocol for accessing Web Services. • SOAP is based on XML • SOAP is a W3C recommendation
    • Several Types of Web Services UDDI • UDDI stands for Universal Description, Discovery and Integration • UDDI is a directory service where companies can search for Web services. • UDDI is described in WSDL • UDDI communicates via SOAP
    • Several Types of Web Services RDF • RDF stands for Resource Description Framework • RDF is a framework for describing resources on the web • RDF is written in XML • RDF is a W3C Recommendation
    • Advantage of Using Web Service in Mobile Application • • • • Minimize application size Minimize Code Size Easy to modify Reuse Application
    • Disadvantage of Using Web Service in Mobile Application • Internet Connection Required • Server have to be active 24/7
    • Working with Web Service in iOS (WSDL) WSDL is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint. Related concrete endpoints are combined into abstract endpoints (services)
    • WSDL Example <xml> <types> <schema targetNamespace="http://example.com/ stockquote.xsd" xmlns="http://www.w3.org/2000/10/ XMLSchema"> <element name="TradePriceRequest"> <complexType> <all> <element name="tickerSymbol" type="string"/> </all> </complexType> </element> <element name="TradePrice"> <complexType> <all> <element name="price" type="float"/> </all> </complexType> </element> </schema> </types> </xml>
    • Steps of Implementing XML Service in IOS • Create a XML Parser file as NSObject type. • Write relevant code in the files. • Call the XML Parser class in a View Controller Class and load XML by url . • Parse the data and load in the containers or view components. Example : Table View, Picker View, Labels, Text Field etc.
    • Create a XML Parser file as NSObject type. #import <Foundation/Foundation.h> //#import "TeamViewController.h" #import "TeamInfo.h" @interface TeamParser : NSObject<NSXMLParserDelegate> { NSString *currentNodeImage; NSString *currentNodeName; NSXMLParser *parser; NSMutableArray *imageArray; NSMutableArray *nameArray; TeamInfo*teamInfo; } @property (nonatomic, retain) NSMutableArray *imageArray; @property (nonatomic, retain) NSMutableArray *nameArray; -(id) loadXMLByURL:(NSString *)urlString; @end
    • .m file implementation #import "TeamParser.h" @implementation TeamParser @synthesize imageArray; -(id) loadXMLByURL:(NSString *)urlString { imageArray= [[NSMutableArray alloc] init]; nameArray=[[NSMutableArray alloc]init]; NSURL *url = [NSURL URLWithString:urlString]; //parser = [[NSXMLParser alloc] initWithData:aData]; parser= [[NSXMLParser alloc] initWithContentsOfURL:url]; //parser = [[NSXMLParser alloc] initWithData:aData]; parser.delegate=self; [parser parse]; return self; }
    • - (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict { if ([elementname isEqualToString:@"team"]) { currentNodeImage=[[NSString alloc] init] ; currentNodeName=[[NSString alloc]init]; teamInfo=[[TeamInfo alloc]init]; } }
    • - (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { if ([elementname isEqualToString:@"logo"]) { teamInfo.teamLogo = currentNodeImage; //NSLog(@"image:%@",currentNodeImage); } if ([elementname isEqualToString:@"name"]) { teamInfo.teamName = currentNodeImage; //NSLog(@"name:%@",currentNodeImage); } if ([elementname isEqualToString:@"team"]) { [imageArray addObject:teamInfo]; [currentNodeImage release]; [currentNodeName release]; currentNodeImage = nil; currentNodeName=Nil; }
    • Call the XML Parser class in a View Controller Class and load XML by url . -(void)viewWillAppear:(BOOL)animated { [super viewWillAppear:YES]; teamImageParser = [[TeamParser alloc] loadXMLByURL:@"http://www.amarhost.info/sabbir/iOS/AsiaCup/Services/teamlog o.xml"]; imageNameArray=teamImageParser.imageArray; teamNameArray=teamImageParser.nameArray; for(int i=0;i<[imageNameArray count];i++) { NSLog(@"%@",[imageNameArray objectAtIndex:i]); } for(int i=0;i<[teamNameArray count];i++) { NSLog(@"%@",[teamNameArray objectAtIndex:i]);
    • Plot Parsed Data in the TableView - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [[teamImageParser imageArray] count]; }
    • Plot Parsed Data in the TableView - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"TeamCustomCell"; TeamCustomCell *cell = (TeamCustomCell*)[teamTableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { NSArray *topLabelObject = [[NSBundle mainBundle] loadNibNamed:@"TeamCustomCell" owner:self options:nil]; for (id currentObject in topLabelObject) { if ([currentObject isKindOfClass:[UITableViewCell class]]) { cell = (TeamCustomCell*) currentObject; break;
    • TeamInfo *teamInfo; teamInfo = [[teamImageParser imageArray] objectAtIndex:indexPath.row]; cell.selectionStyle = UITableViewCellSelectionStyleNone; cell.headerTextLabel.text=teamInfo.teamName; NSLog(@"teamName: %@",teamInfo.teamName); imageQueueTeamLogo = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul); dispatch_async(imageQueueTeamLogo, ^ { UIImage *imageTVGuideLogo = [UIImage imageWithData:[NSData dataWithContentsOfURL: [NSURL URLWithString:[teamInfo teamLogo]]]]; dispatch_async(dispatch_get_main_queue(), ^ { cell.titleImageView.image = imageTVGuideLogo; [cell setNeedsLayout]; }); }); return cell; }
    • That’s all for today