2009-07-06 55 views
0

我打算将我的网站转换为iPhone本机应用程序。我被困在如何实现这一点。如何制作一个网站作为iPhone本机应用程序?

最初,我开发了第一个屏幕,即我的应用程序的登录屏幕。我的服务器是用Java构建的。我能够将登录凭据发送到服务器,并能够在服务器上看到请求。但是我无法收到服务器对我发送的请求的响应。

我的代码的一部分是:

NSString *post = @"username="; 

    post = [post stringByAppendingString:username]; 
    post = [post stringByAppendingString:@"&password="]; 
    post = [post stringByAppendingString:password]; 

    NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES]; 

    NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; 

    NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 
    [request setURL:[NSURL URLWithString:@"http://mysite.com/login.action?"]]; 
    [request setHTTPMethod:@"POST"]; 
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
    // [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
    [request setHTTPBody:postData]; 

    NSURLConnection *conn=[[NSURLConnection alloc] initWithRequest:request delegate:self]; 
    if (conn) 
    { 
     receivedData = [[NSMutableData data] retain]; 
     NSLog(@"In \"LOGIN()\" : receivedData = %@",receivedData); 
    } 


- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
{ 
    [receivedData setLength:0]; 

    NSLog(@"In \"didReceiveResponse()\" : receivedData = %@",receivedData); 
} 

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
{ 
    [receivedData appendData:data]; 
    NSString *ReturnStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
    NSLog(@"In \"didReceiveData()\" : receivedData = %@",receivedData); 
    NSLog(@"Return String : %@", ReturnStr); 

} 

- (void)connectionDidFinishLoading:(NSURLConnection *)connection 
{ 
    NSLog(@"Succeeded! Received %d bytes of data",[receivedData length]); 


    NSString *urlData; 
    if (nil != receivedData) { 
     urlData = [[[NSString alloc] initWithData:receivedData 
             encoding:NSUTF8StringEncoding] autorelease]; 
    } 
    NSLog(@"In \"connectionDidFinishLoading()\" : urlData = %@",urlData); 

    [receivedData release]; 
} 


- (void)connection:(NSURLConnection *)connection 
    didFailWithError:(NSError *)error 
{ 

    [connection release]; 

    [receivedData release]; 


    NSLog(@"Connection failed! Error - %@ %@", 
      [error localizedDescription], 
      [[error userInfo] objectForKey:NSErrorFailingURLStringKey]); 
} 
  1. 如何开发一个登录应用程序?
  2. 我正在向服务器发送成功请求,但我无法从服务器获得响应。我怎样才能克服这个问题?

回答

1

如果您的经验与网络开发有关,您可能有兴趣查看适用于iPhone的NimbleKit。这是一个简单的XCode插件,它允许您使用HTML和JavaScript来开发整个本机应用程序。

相关问题