• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#asp.netPhoneGaphtml5

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

很久没写博客,今天自己写一篇吧。来谈一谈c# PhoneGap,html5 与asp.net。能搜到这篇博客就说明你是一位.net开发者,即将或者正在从事移动开发。

大家可能都有疑,我是一名.net开发者,能用.net做苹果,安卓,wp平台的应用吗?

如大家所知,phoneGap是用来开发跨平台移动应用的,而且phoneGap能调用移动设置的硬件接口,实现一些普通html在移动设备上无法实现的功能,比如拍照,录音,录制视频等。

要做html5页面为单元的应用,一定少不了与服务器进行数据交互。想到的与服务器交互有两种方案:

一种是使用默认的本地HTML方式(当然也可以把HTML放在服务器端,但是这样还不如使用第二种方案),一种是全程使用服务器脚本,比如JSP页面,当然这些页面肯定是放在服务器端,客户端只需要在初始化的时候引用这个页面即可,Android客户端,代码如下:

public class MyActivity extends DroidGap {
  @Override
  public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  //super.loadUrl("file:///android_asset/login.html");
  super.loadUrl("http://220.166.32.204:8080/test/login.jsp");
  super.setIntegerProperty("loadUrlTimeoutValue", 15000);
  }
}

(注释掉的代码为PhoneGap默认的本地HTML方案)

另一种是http请求即为服务器脚本解决方案

各有各的好处,本地HTML方案可以把代码和服务器端的代码隔离开,维护只需要维护客户端,无需修改服务器端,并且因为是本地读取,可以在无网络情况下使用应用程序(可以把资源保存在本地sqlLite数据库中);服务器脚本解决方案好处是代码简单,和开发普通web页面几乎无差别,甚至可以直接使用之前针对PC写好的web页面,JS识别设备动态更换一下CSS样式即可。

我使用的是本地HTML5解决方案,在数据交互上,使用的是ajax,使用jQuery的ajax方法,JS代码如下:

function pullNoticeList(){
 $.ajax({
  url:addr+"notice_list.action",
  type:"POST",
  dataType:"jsonp",
  data:{"start":"0","limit":"8","sort":"effectiveDate","dir":"DESC"},
  beforeSend: function(){
  $("#content").html("<p>数据拉取中,请稍后...</p>").trigger("create");
  },
  success:function(response){
  var startHtml = '<ul );
  },
  error:function(){
  showReConnConfirm();
  }
 });
}

必须使用jsonp格式,不然无返回值,其次,注意返回的json格式,一定要符合jQuery的json格式,可以通过firedug查看调试json,服务器端使用的struts,可以使用struts的json插件,可以很智能把对象封装成json格式。

如果你想用phoneGap做一款跨平台的应用,首先要确定会不会调用移动设备的硬件接口,如果不需要调用,那么第一张方案是最佳的选择,维护开发与平常web几乎没区别,最佳的适合我们.net开发者,因为我们可以直接选择用aspx页面来开发。

但是如果项目有要求要调用移动设备的硬件接口,那么必须要选择用第二种方案了。

这时,与服务器交互,html5端用ajax,后台可以用aspx,或者ashx,或者asmx,即分别对应普通aspx页面或者一般处理程序ashx页面,或者直接写webservice服务都行。希望能帮到大家。

移动开发html5,必将是主流,一起迎接吧!


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap