设为首页 收藏本站
查看: 1009|回复: 0

windows phone 7随笔

[复制链接]

尚未签到

发表于 2015-5-13 07:07:20 | 显示全部楼层 |阅读模式
  最近在学windows phone 7的开发,所以抄点东西,怕忘了以后。
  1、wp7的架构:wp7的架构基于微软的.NET平台,在应用架构上是Sliverlight和XNA共同承担,使用Sliverlight来开发应用程序,使用XNA来开发游戏
  wp7使用.NET的子集,使用sliverlight和XNA的类库
  2、windows phone 7的生命周期
  windows phone是一个多任务的操作系统,但是不支持多线程,所以我觉得应该是一个假的多任务
  它只有唯一一个第三方应用程序可以在前台运行。当用户离开当前程序的页面时,应用应用程序会被操作系统所终止。
  屏幕锁 呼入电话 短消息 提醒功能 低电量 程序切换 用户点击开始按钮  都有可能引起应用程序中断
  tombstoning 墓碑化冻结  是wp7生命周期的一大特征
  中断发生   失去激活状态(Deactivated)   程序终止状态(Terminated)  重新激活状态(Activated)  运行状态(Running) DSC0000.png
  生命周期处理事件 Application_Launching 程序启动时调用  程序重新激活时不调用  通常从Isolated Storage加载一些永久配置数据(persisted data)
  Application_Closing 当程序关闭时调用  当程序失去激活时不调用  通常保存一些永久配置数据(persisted data)到Isolated Storage中
  Application_Activated 当程序重新激活的时候调用  当程序启动的时候不调用  通常使用PhoneApplicationService.State保存一些临时数据(transient data)
  Application_Decativated 当程序失去激活时调用  当程序关闭的时候不调用  通常从PhoneApplicationService.State读取一些临时数据(transient data) 恢复到用户离开该页面时候的状态,保持用户体验的一致性。
  WP7中有这样几个术语,需要注意:

  • Tombstoing:程序在导航出时被系统关闭的状态。系统保留程序的的状态,如果返回能够恢复程序状态。
  • Page State:程序的视觉状态。在OnNavigatedTo和OnNavigatedFrom中来添加事件。
  • Application State:程序中无关于某个特定页面的状态,使用PhoneApplicationService类调用。
  • Persitent Data:被程序中的所有实例享用的数据,一般使用isolated storage来保存
  • Transient state: 描述程序中实力的数据,一般存储在PhoneApplicationService提供的State字典数据中。
  wp7提供了两种方式获取数据:isoloated storage以及state。前者能够长久存储数据,而后者只能够在内存还没有消除你的state的情况下获取数据。
  在WP7中,一个应用如果在10秒钟内未加载完成将会被系统强制关闭。
  3、启动器和选择器(Launchers&Choosers)
  windows phone 应用程序不可以直接访问其他存储信息,如联系人信息等。
  windows phone 应用程序不可以直接调用其他功能,例如电话和短消息。
  启动器和选择器为应用程序提供间接访问这些内置功能的方法,启动器和选择器运行时操作系统可能终止当前的应用程序。
  启动器:启动一个内置的程序提供给用户使用   不返回任何数据给调用的程序
  选择器:启动一个内置的程序提供给用户使用  返回一些数据给调用的程序  当用户完成操作是,调用撑血会被重新激活 并接受到返回的数据  但用户可能取消操作这样就返回Null
  内置的启动器 EmailComposeTask  MarketplaceDetailTask  MarketplaceHubTask  MarketplaceReviewTask  MarketplaceSearchTask  MediaPlayerLauncher  PhoneCallTask SearchTask SmsComposeTask WebBrowserTask
  内置的选择器CameraCaptureTask  EmailAddressChooserTask PhoneNumberChooserTask  PhotoChooserTask SaveEmailAddressTask  SavePhoneNumberTask
  可能没有tombstone的tasks  PhotoChooserTask  CameraCaptureTask  MediaplayerLauncher EmailAddressChooserTask  PhoneNumberChooserTask  PhoneCallTask(都不会调用Deactived事件)
  
  4、推送通知服务
  windows phone执行模型决定只有一个第三方的应用程序可以再后台运行   第三方的应用程序不能在后台不断的往Cloud拉数据  微软提供推送通知服务给第三方应用程序取得更新通知的消息  服务器主动能发起的通信  能有效的降低电池的消耗  
  当前版本的windows phone只支持最多15个第三方应用程序使用推送通知服务
  消息类型有
  Raw Notification 可以发送任何格式的数据   应用程序可以根据需要加工数据  应用程序相关的通知消息 只有在应用程序运行时才发送
  Toast Notification  发送的数据为指定的XML格式  如果应用程序正在运行 内容发送到应用程序中  如果应用程序不运行弹出Toast消息框提示消息
  Tile Notification   发送的数据为指定的XML格式  不会往应用程序进行发送 如果用户吧应用程序pin 同 start,
  那更新数据发送到start screen的title里面(包含三个属性,背景,标题和计数器 每个属性都有固定的格式与位置  可以使用其中的属性,不宜行三个属性一起使用)
  推送服务的详解及代码http://www.lob.cn/jq/wp7/7491.shtml
  5、地理位置服务(Location Service)
  使用Location Service能帮助开发者为windows Phone 开发具备位置感知(Location-Aware)功能的应用程序
  Location Service能从GPS,Wifi和移动网络基站等多种数据源中获取位置信息
  根据应用程序的需要,Location Service从一个或者多个数据中计算出位置信息
  有效的平衡电池的消耗与位置信息的准确性   为应用程序提供基于事件(event-driven)的统一接口
  
  想办法减低电池的消耗
  如果可以的话 使用那个较低准确率的数据源
  当需要的时候打开地理位置服务,一旦使用完毕立刻关闭该服务
  设置准确率的门限值,减低更新频率
  使用状态更新事件(StatusChanged)监控服务状态,提醒用户状态的更新
  提醒用户初次启动地理位置服务时需要等待一段时间(15秒到120秒)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-66362-1-1.html 上篇帖子: 使用Windows 7别“裸奔” 下篇帖子: HP Compaq V3XXX系列的Intel集成显卡和Windows 7自带显卡驱动的兼容性问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表