楼主:
hoyunxian (WildDagger)
2014-10-22 10:17:45原文已经是好一段时间的文章了
总之这边一样是有关于Universal App的开发
1. Windows 8.1其实也有专门的条件变量可以判断
之前的文章有说,可以透过“WINDOWS_PHONE_APP”的条件编译变量
去判断现在在处理的APP其目标平台是不是Windows Phone 8.1
虽然可以用#if WINDOWS_PHONE_APP......#else......#endif
来判断是Windows 8.1还是Windows Phone 8.1
不过依照微软的趋势,未来XBOX One也会加入Universal App的行列
到时候要怎么区分XBOX One与Windows 8.1呢?
昨天在翻一篇地图教学的时候,
看到作者有提到Windows 8.1也是有专门条件变量来判断的
那个变量就是“WINDOWS_APP”
所以在这个情况下,判断是否为Windows Phone 8.1/Windows 8.1的编译条件
可以改写为#if WINDOWS_APP......#elif WINDOWS_PHONE_APP......#endif
(注意第二个前面是写成#elif,不是#elseif,也不是Ruby型的#elsif)
照这看来我猜XBOX One的APP编译判断条件应该会是“XBOX_APP”吧?
2. 其实不一定要把手机与平板做成一样的画面
前面有提过,Shared专案主要是放两个平台共用的部分
所以针对手机与平板不一样的部分,其实也不用说全部都要弄成一样就是。
比方说手机可以是单纯的塞资料,
平板跟电脑的版本则是可以管理资料之类的
(再怎么说用平板跟电脑管理资料总比用手机方便吧(笑))
如果用以前的方式就变成要处理两个APP,
但是Universal App的状况下资料的部分可以合并处理,
这样两边的Model就是一样的了
(交换资料可以活用漫游资料或者是服务器来处理)
3. 手机上并不适用页面里面塞个共用Frame来共用应用程式列
前面写过一篇文讲说可以用在主画面塞个Frame,
再让这个Frame去读取其他页面以共用上方应用程式列的方法
不过这个方法前阵子测试的时候发现不适用于手机
因为手机是用Back按钮,所以按下去的时候会变成呼叫Frame页面的回上一页事件
于是不管在哪个页面按上一页,都会跑回开始画面
而更麻烦的是因为从suspending返回后,他还是会在刚才的那一页
所以等于是走进死胡同不能用了(除非关掉重开,但想也知道没人这么有闲)
目前大致就这样,如果还有什么的话会再补充的。