易截截图软件、单文件、免安装、纯绿色、仅160KB

自己动手写iPhone wap浏览器之界面架构篇

自己动手写iPhone wap浏览器之界面架构篇(手把手教你iphone开发 – 进阶篇)
作者:孙东风 2009-12-28(转载请注明出处)
在笔者的上篇文章《自己动手写iPhone wap浏览器之BSD Socket引擎篇》中已经成功解析出来了wml页面中的tag,如果读者仔细的话可能会看到里面中文的tag显示为乱码,这是因为在iPhone上默认的中文编码格式是UTF-8,而通过BSD Socket请求过来的是ASCII码,所以需要通过转换为UTF-8格式,如下:
 
[[NSString alloc] initWithBytes:aChild->Value() length:strlen(aChild->Value()) encoding:NSUTF8StringEncoding]
 
经过转换编码之后,在屏幕上显示的打印内容如下:
 
parse xml succeed
aChild value = STATUS OK
aChild value = card
TiXmlNode::ELEMENT name = title, attr value = 百度一下,你就知道
aChild value = p
aChild value = img
TiXmlNode::ELEMENT name = src, attr value = /r/wise/wapsearchindex/logoindexsmall.gif
TiXmlNode::ELEMENT name = alt, attr value = 百度首页
aChild value = br
aChild value = input
TiXmlNode::ELEMENT name = name, attr value = word
TiXmlNode::ELEMENT name = emptyok, attr value = true
aChild value = br
aChild value = anchor
aChild value = 搜网页
TiXmlNode::TEXT Value = 搜网页
 
接下来的任务就是渲染这些解析出来的tag并显示在界面上了,本篇里笔者重点讲述如果搭建一个可扩展的、健壮的界面架构。
 
在所有平台的界面架构中,笔者一直推崇MVC,MVC的着重点在于把界面显示和数据处理分离开来以提供可扩展的界面架构平台。基于这个思想,笔者建立了如下的架构图:
 
 
 
图1.Tag界面架构图
 
在Xml模块处理完xml数据并提取出tag后,交给CXmlControl进行处理,CXmlControl在这里充当Control的角色,它负责在处理完tag(标签)后生成相应的消息以显示在界面上。
 
其中CXmlControl继承自UIView类,它负责显示界面并响应用户的按键消息,而具体的逻辑处理则是在CXmlControlImpl类中进行的,CXmlControlImpl这个类负责管理生成的tag(标签)以及tag(标签)的界面Layout(布局),如下:
 
 
 
@class CXmlControlImpl;
@interface CXmlControl : UIView {
@public
         CXmlControlImpl* iImpl


相关文档:

让网站空间支持WAP访问

WAP技术仅是一项浏览器客户端技术,大多做优化的(电话录音盒)对此都有了解,因此让您的站点支持WAP功能只需要修改WEB服务器的MIME类型列表,使他能够正确处理WAP类型的文件。也就是其他供应商常说的“WAP虚拟主机”或“无线虚拟主机”在我们的网站空间中Windows系统的IIS是可以通过Plesk空间控制面板 ......

用户反馈 WAP 显示 403 。。。

收到反馈。我马上去看了下~~  的确是 403 为啥呢?  代码确定没动过。。
目前主要WAP上网是两种网络
CMNET   CMWAP
经过测试发现  CMWAP  就显示 403   而  CMNET 就很正常~~
顶。原来是网络问题~~ ......

Wap 配置环境 VS

首先 到 http://files.cnblogs.com/fox23/ASPNETMobileTemplates.zip  下载C#的模板的压缩包,解压后先读各个文件夹下面的Readme.txt(其实就是说需要把他们铐到??\My Documents\Visual Studio 2008\Templates\ItemTemplates下的两个文件夹下).有了这几个模板,在ASP.NET Web Site 和 ASP.NET Web Application的项 ......

symbian net wap 区分

TBool  isWap = EFalse;
 TBuf<128> iapServerType;
 TUint32  iapServerId;
  CCommsDatabase*   commsDb = CCommsDatabase::NewL( EDatabaseTypeIAP );
  CleanupStack::PushL( commsDb );
  CCommsDbTableView*   ia ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号