Xcode 4實現(xiàn)基于WebService用戶登錄iPhone程序 實例
Xcode4實現(xiàn)基于WebService用戶登錄iPhone程序 實例是本文完介紹的內容。最近論壇里面iphone開發(fā)的文章貌似多起來了,剛好我最近也在學Objective-c,忍耐不住寂寞啊,做了個登錄Demo給將要入門的博友參考參考,也請大牛不膩賜教。好吧,我承認我才入門一個星期,上周才把mac系統(tǒng)裝好。
需求很簡單:
界面上有三個輸入框,分別是服務器地址、用戶名、密碼(這里的服務器地址僅僅是為了我個人調試所用)
輸入帳號密碼,點擊登錄,如服務器地址有誤提示則提示“服務器未相應”;
若登錄成功,將用戶名和密碼以對話框的形式打印出來;
若登錄失敗,提示返回信息;
在iphone手機上大多軟件都免不了登錄吧,當然iphone程序又不像.Net那樣,可以很方便的操作數(shù)據(jù)庫,所以這里采取Web API的方式。首先用vs創(chuàng)建一個WebService,這個很簡單,代碼如下:
- ///
- /// 驗證用戶登錄
- ///
- ///
- 用戶名稱
- ///
- 用戶密碼
- /// 返回驗證結果
- [WebMethod]
- public String CheckLoginUserInfo(string userName, string pwd)
- {
- XmlDocument document = new XmlDocument();
- Func func = new Func((nodeName, innterText) =>
- {
- XmlNode node = document.CreateNode("element", nodeName, "");
- node.InnerText = innterText;
- return node;
- });
- XmlNode rootElem = func("result", "");
- XmlNode data = func("data", "");
- String isSuccess = "0";
- if (userName == "test" && pwd == "123456")
- {
- isSuccess = "1";
- data.AppendChild(func("truename", "測試人員1"));
- data.AppendChild(func("userroleid", "1"));
- data.AppendChild(func("depid", "2"));
- data.AppendChild(func("depname", "編輯中心-要聞編輯部"));
- data.AppendChild(func("paperid", "3"));
- data.AppendChild(func("papername", "解放日報"));
- }
- else
- {
- data.AppendChild(func("message", "帳號或密碼錯誤!"));
- }
- rootElem.AppendChild(func("isSuccess",isSuccess));
- rootElem.AppendChild(data);
- document.AppendChild(rootElem);
- Console.WriteLine();
- return document.OuterXml;
- }
用戶信息我就不從數(shù)據(jù)庫里面取了,默認正確的就是test、123456;
我們可以在本地測試下這個服務,保證服務器本身沒有問題。
輸入錯誤的用戶名和密碼如下返回提示信息:
輸入test、123456,返回我們期望的結果,注意是xml格式
好了,我們回到iphone這邊,開發(fā)環(huán)境是Mac10.6.6 + Xcode4,新建一個應用程序,程序界面如下,
我們在登錄界面初始化時給視圖設置一個背景,雖然是demo,但也不能太丑吧:
- - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
- {
- self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
- UIImage *bgImage = [UIImage imageNamed:@"background.png"];
- UIImageView *bgView = [[UIImageView alloc ]initWithImage:bgImage];
- [self.view insertSubview:bgView atIndex:0];
- [bgView release];
- return self;
- }
接下就是登錄按鈕的事件了,聲明webservice的請求主體
- NSString *soapMessage = [NSString stringWithFormat:
- @"< ?xml version=\"1.0\" encoding=\"utf-8\"?> "
- "< soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
- xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
- "< soap:Body> "
- "< CheckLoginUserInfo xmlns=\"http://tempuri.org/\">"
- "< userName>
小結:關于用Xcode4實現(xiàn)基于WebService用戶登錄iPhone程序的內容介紹完了,希望本文對你有所幫助!