[開發] 關於Universal App開發二三事(補充)

看板WindowsPhone作者 (WildDagger)時間11年前 (2014/10/22 10:17), 11年前編輯推噓3(300)
留言3則, 2人參與, 最新討論串1/1
原文已經是好一段時間的文章了 總之這邊一樣是有關於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返回後,他還是會在剛才的那一頁 所以等於是走進死胡同不能用了(除非關掉重開,但想也知道沒人這麼有閒) 目前大致就這樣,如果還有甚麼的話會再補充的。 --

02/01 01:46,
藍澤光只不過是個
02/01 01:46

02/01 01:46,
02/01 01:46

02/01 01:46,
樓上決鬥
02/01 01:46

02/01 01:47,
說錯了 KTA決鬥啦
02/01 01:47

02/01 01:47,
好啊 來決鬥 我在桌上覆蓋一張水桶卡 結束這回合
02/01 01:47
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.109.177 ※ 文章網址: http://www.ptt.cc/bbs/WindowsPhone/M.1413944269.A.9C3.html

10/22 11:29, , 1F
xbox目前應該沒有在uap的考慮內 所以沒有那個macro才對
10/22 11:29, 1F

10/22 12:53, , 2F
page cachesize設定後 也不能返回上頁嗎?
10/22 12:53, 2F
因為他呼叫的不是Frame的上一頁而是呼叫包含Frame的那個頁面的上一頁事件 簡單說就是有一個Page叫MainPage,MainPage放了一個Frame, 並且在Frame裡面放置主要內容頁面 在Windows 8.1裡面,因為上一頁的指令是從Frame裡面的內容頁面呼叫 所以會呼叫Frame本身的上一頁事件 但是在Windows Phone 8.1裡面,上一頁是用硬體呼叫的 所以他不會去執行Frame的上一頁事件, 而是會呼叫MainPage(正確來說是包著MainPage的最上層Frame)的上一頁事件。 ※ 編輯: hoyunxian (111.250.109.177), 10/22/2014 14:41:04

10/22 19:32, , 3F
原來如此
10/22 19:32, 3F
文章代碼(AID): #1KHnFDd3 (WindowsPhone)