期刊鉴别 论文检测 免费论文 特惠期刊 学术答疑 发表流程

基于iOS平台的漫画阅读手机客户端的设计与实现(2)

时间:2014-10-21 13:39 文章来源:http://www.lunwenbuluo.com 作者:王艳君 点击次数:

  2 系统模块设计

  程序的整体功能模块包含从服务器请求和解析数据、功能选择、提交数据到服务器等。其中,使用同步请求方式进行数据请求,XML解析使用的是GDataXML解析,字符串解析使用的是SBJson解析。具体的模块设计如图1所示。

  3 界面的绘制

  界面绘制较为简单,只需根据当前需求分析对每个页面进行绘制。首先在工程中创建一个视图控制器,并为其生成nib文件,然后将绘制界面所用到的控件拖入合适位置,形成插座控件,等待网络请求完毕时加载数据在这些控件上。若没有生成nib文件,则可以使用代码手动创建实现控件的生成。绘制流程图如图2所示。

  4 控件的选择

  UILabel用来显示文字,可以设置字体、字号、颜色等。

  UIImageView用来显示图片,可以设置图片大小、位置等。

  UITextView用来显示多行文本内容,该控件可以对文本内容进行编辑,若文本内容超出文本框范围则可以上下滚动浏览。

  UIButton在iPhone上主要就是按钮,可以响应用户操作事件,它可以设置背景图片、文字等相关属性。

  UITableView是一个一维的表视图,是上下滑动的条目清单,可进行分区,每个分区展示不同类型的数据,每个表格里的指定行(cell)中的数据由他所在分区(section)和所在分区的行(row)来决定。

  UIScrollView是一个滚动视图控件,当视图中无法显示多于一个屏幕尺寸的内容时可以使用该控件, contentsize属性可以设置滚轴内容的宽高。

  5 数据的请求

  数据请求总共有四种,分别是同步请求、异步请求、Get请求、Post请求。其中同步请求一旦发生,应用程序会停止与用户进行交互,等待数据返回完成,才可以进行之后的操作。异步请求解决了同步请求中线程阻塞的问题,当发生异步请求之后,程序会建立新的线程进行操作,对于用户交互丝毫不会受到影响,用户依然可以对所有界面元素进行操作。Get请求虽然操作简单,但安全性不高,它的请求参数都显示在访问路径上,外界可以直观的看到。Post请求操作相对复杂,不过安全性较高,它是将所有的请求参数放在一个body里面,从而使外界不容易捕获到这些信息。

  同步Get请求虽然阻塞线程并且安全性不高但操作简单,可以在列表展示模块使用同步Get请求,可以大大减少工作量,缩短程序开发周期。在数据下载模块则需要使用异步Get请求,可以实现多线程下载,不会阻塞线程,在下载的同时可以进行用户交互。

  (1) 同步Get请求的建立需要以下三个步骤:

  第一步,创建URL,代码如下:

  NSURL*url=[NSURLURLWithString:@"http://cmhtech.ecartoon.net/tuijian.php/book_index.php?id=2"];

  第二步,通过URL创建网络请求,代码如下:

  NSURLRequest*request=[[NSURLRequestalloc]initWithURL:urlcachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];

  第三步,连接服务器,代码如下:

  NSData*received=[NSURLConnectionsendSynchronousRequest:requestreturningResponse:nil error:nil];

  NSString*str=[[NSStringalloc]initWithData:receivedencoding:NSUTF8StringEncoding];

  (2) 异步Get请求的建立需要以下三个步骤:

  第一步,创建URL,代码如下:

  NSURL*url=[NSURLURLWithString:@"http://cmhtech.ecartoon.net/tuijian.php/book_index.php?id=2"];

  第二步,通过URL创建网络请求,代码如下:

  NSURLRequest*request=[[NSURLRequestalloc]initWithURL:urlcachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];

  第三步,连接服务器,代码如下:

  NSURLConnection*connection = [[NSURLConnection alloc]initWithRequest:request delegate:self];

  异步请求需要实现的代理方法如下:

  ① 接收到服务器回应的时候调用

  -(void)connection: (NSURLConnection*) connectiondidReceiveResponse: (NSURLResponse *) response {}

  ② 服务器传输数据时调用,此方法执行若干次。

  -(void)connection: (NSURLConnection *) connection didReceiveData: (NSData*) data {}


  •   论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
  •   论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
  •  
  •   论文投稿客服QQ: 论文投稿2863358778 论文投稿2316118108
  •  
  •   论文投稿电话:15380085870
  •  
  •   论文投稿邮箱:lunwenbuluo@126.com

联系方式

  • 论文投稿客服QQ: 论文投稿2863358778
  • 论文投稿客服QQ: 论文投稿2316118108
  • 论文投稿电话:15380085870
  • 论文投稿邮箱:lunwenbuluo@126.com

热门排行

 
QQ在线咨询
咨询热线:
15380085870
微信号咨询:
lunwenbuluoli