【摘要】
今天,WP7版布丁优惠券V1.0版在将近一个月的开发中终于上架了。大家可以在wp7商城免费下载,免费使用O(∩_∩)O~
网页下载链接:http://www.windowsphone.com/zh-CN/apps/294b3ba9-43f4-4c20-850e-28baf5c11a2c
当然,V1.0版还有很多小缺陷,现在也正在弥补,相信不久就会更新,到时候惠请大家更新哦。
【截图】
【看完图之后,几句寒暄】
希望看完截图,大家有兴趣去下载哈,的确可以给大家的生活省下不少钱哦,有异性朋友的那就更加要下载,不过目前国内拥有wp7手机的用户的确不多,
不过我相信以后会多起来的,不喜欢安卓的卡机,死机同学这个手机是个不错的选择。
【技术要点】
1.图片缓存,图片异步下载
在显示商家优惠券列表的时候,我是使用ListBox来包含所有的优惠券的信息,主要就是显示优惠券的小图片,标题,价格这些内容,当然首次加载的时候,
肯定要从服务器获取数据,对于文字信息好办,直接绑定就可以了,而对于图片,则需要做优化处理,我当时是参见如下,大家可以看看,写的很详细。
2.页面传值
对于页面传值的方式,网上有很多资料,当时我觉得用户比较多的是
(1.通过参数传值,类似http 中的get方式
(2.State保存应用程序临时值
PhoneApplicationService.Current.State["currentUserViewFav"] as CouponList;
(3.App中全局变量
3.MVVM
我主要使用的是MVVMlight.大家可以在这去学习下:http://www.galasoft.ch/mvvm/
4.为用户节省流量
这就需要应用对从网上获取的数据有缓存,使用独立存储,本地数据库都可以,当前,我简化了应用,使用的
独立存储,具体使用方式,我可以给出本系统中主要的函数,这些方法大家都可以直接用的。
public static void WriteFileToIso(string fileContent, string folderName, string fileName) {try {using (var myStore = IsolatedStorageFile.GetUserStoreForApplication()) {string filePath = Path.Combine(folderName, fileName);if (!myStore.DirectoryExists(folderName)) { myStore.CreateDirectory(folderName); }using (IsolatedStorageFileStream myFileStream = new IsolatedStorageFileStream(filePath, FileMode.OpenOrCreate, myStore)) {using (var isoFileWriter = new StreamWriter(myFileStream)) { isoFileWriter.WriteLine(fileContent); } myFileStream.Close(); } } }catch (Exception e) {//throw; } }public static string ReadFileFromIso(string folderName, string fileName) {using (IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication()) {try {// Specify the file path and options. string filePath = Path.Combine(folderName, fileName);string readcontent = null;using (var isoFileStream = new IsolatedStorageFileStream(filePath, FileMode.Open, myStore)) {// Read the data. using (var isoFileReader = new StreamReader(isoFileStream)) { readcontent = isoFileReader.ReadToEnd(); isoFileReader.Close();if (readcontent != null)return readcontent;elsereturn null; } } }catch {// Handle the case when the user attempts to click the Read button first. return null; } } }public static bool IsFileCached(string folderName, string fileName) {using (var myStore = IsolatedStorageFile.GetUserStoreForApplication()) {string filePath = Path.Combine(folderName, fileName);if (myStore.FileExists(filePath)) {return true; }elsereturn false; } }public static bool DeleteFileByFileName(string folderName, string fileName) {using (var myStore = IsolatedStorageFile.GetUserStoreForApplication()) {string filePath = Path.Combine(folderName, fileName);if (myStore.FileExists(filePath)) { myStore.DeleteFile(filePath); }if (myStore.FileExists(filePath)) {return false; }elsereturn true; //表示已经删除 } }
5.了解发布到微软商城的协议
比如在使用GPS定位之前,需要向用户询问是否允许应用使用GPS. 了解这些其实也是为一次性通过微软审核做出准备,不然最后浪费的时间还是自己
的,每次的提交都需要近一个礼拜的等待。
我自己也上传了几个小应用,大致总结下,微软主要审核的内容
(1.语言,就是开发应用使用的语言要和你上传应用目标所在地的语言一致,不然不让通过,PS:当然可以使用本地化
(2.飞行模式测试,如果应用需要从网络上获取资源,要先判断用户当前网络状态
(3.使用手机服务提醒,并且需要在设置中拥有“开”“关”按钮。比如前文中的定位服务
(4.手机主题,再更改手机主题之后,应用中控件的可见性
6.保存页面的状态和应用程序的状态
这个可以参见MSDN,比我说的详细:
保存页面的状态:http://msdn.microsoft.com/zh-cn/library/ff967548(v=vs.92).aspx
保存应用程序的状态:http://msdn.microsoft.com/zh-cn/library/ff967547(v=vs.92).aspx
7.待续吧,还有工作没有完成,wp7布丁优惠券下一个版本的开发中...
【总结】通过这个应用的开发,大概主要技术和要点,在上面说了,大家如果想需要WP7开发,可以先从这几方面入手,通过这几方便的学习,
相信大家就可以开发更好的应用。加油。自己也加油。对于wp7的开发,个人也觉得,微软做了一件好事,只要有ASP.Net或windowfrom或
C#或WPF或silverlight的开发经验来学习这个,真的不难。
转载于:https://www.cnblogs.com/fendouzl/archive/2012/03/16/2400294.html
相关资源:各显卡算力对照表!