现在的位置: 首页 > 综合 > 正文

芒果微盘开发小记

2012年12月06日 ⁄ 综合 ⁄ 共 1687字 ⁄ 字号 评论关闭

由于课程学习的需要,这段时间在研究Windows Phone 7开发,发现博客园里关于WP7开发资料最近一段时间井喷一样的出现,不乏许多牛人的视频,文章等等,自己也学到许多东西,在这里感谢一下博客园为我们提供了这么好的社区平台,好了,不多说废话了,下面就对近期的小项目--芒果微盘进行一下总结,还望园子的朋友批评指正,技术水平时间等等原因,仍有许多不足,欢迎拍砖。

先晒一下界面预览:

wps_clip_image-24697 wps_clip_image-2459wps_clip_image-4311 wps_clip_image-24231

wps_clip_image-18524wps_clip_image-22719wps_clip_image-10817 wps_clip_image-11301

项目中的一些要点

1、REST服务

2、封装SDK

3、Silverlight ToolKit

4、独立存储空间

5、多任务下载

芒果微盘是基于新浪微盘REST服务而开发的,包含基本的文件管理,热门资源搜索下载,本地文件管理等等。界面设计参考了UC的设计,很简洁。

由于微盘的API仍不完善,所以开发起来还比较困难,需要自己封装SDK,目前微盘官方提供的API都是基于PHP的,没有.NET版本,首要任务是封装SDK简化开发,微盘官方API:http://vdisk.me/api/doc (首先需要注册开发帐号,获得AppKey 和AppSecret)。

首先我们需要了解一下REST服务,大家可以参考iTech 的文章

http://www.cnblogs.com/itech/archive/2011/02/23/1962549.html

我们可以自己封装REST服务的操作类,也可以采用比较成熟的第三(Hammock或RESTSharp),我采用的是Hammock, 对于Hammock我们只需要以下简单几步:

1,实例化RestClient对象,并设置相应属性

2,实例化RestRequest对象,并添加请求的参数

3,进行异步请求

4,回调函数处理

新浪微盘官方提供的微盘API,官方描述基于HTTP协议、通过json格式返回数据,所以我们需要对返回的数据进行处理,对于大量的JSON数据建议采用第三方的类库,而不是使用DataContractJsonSerializer(System.Runtime.Serialization.Json 命名空间下), 强烈推荐Newtonsoft.Json.WindowsPhone,使用方法参见:

下面就是利用Hammock和Newtonsoft.Json封装SDK.SDK的封装以后我详细介绍,在这就不多说了。

在WP7.1 Mango并未包含较多的新控件,比较实用全面的Silverlight for windows phone toolkit和Coding4fun tools 下载地址:http://silverlight.codeplex.com/

和 http://coding4fun.codeplex.com/

关于Silverlight for windows phone toolkit 推荐大家阅读Windows Phone Toolkit Aug 2011 in depth(英文版)  ,这本书介绍的很全面,作者真的很用心,希望大家有空研究一下。下载地址:http://www.windowsphonegeek.com/WPToolkitBook

Coding4fun 在线文档介绍的也不错,http://coding4fun.codeplex.com/documentation

这些控件对于我在项目的开发中起到很大的作用,当然自己还想更深入的理解和学习,比如ListBox怎样动态加载,当滚动条滑倒底部时自动加载下一部分数据,怎样判断滚动条已经滑倒底部(网上也许多的资料,大家自己可以Google一下),还有数据的缓存,一次性的加载肯定影响性能,这都是我今后需要更进一步研究的。

WP7中 独立存储空间的概念,这一部分园内的大牛都写得很好,我就不在赘述了,我的写作水平也不高,参见

多任务下载,关于WP7中实现下载,我是利用线程池实现多线程下载。

好了,基本包含了这些要点,当然还有许多没有提到的一些琐碎的东西,可能这篇小记没有包含太多的代码实现,是侃侃而谈了一些大的方面,因为这是我这么长时间在博客园以来发表的第一篇文章,只想简单的记录下最近开发过程加以总结。以后会和大家分享、讨论技术上的问题。谢谢大家关注!

抱歉!评论已关闭.