本來想說 GCM 的部分前面已經寫過粉多次了,不過既然有網友提問是否可以提供不需要 java code 的 sample project,那麼就乾脆一次大放送,把接收/發送一併寫在同一個 sample project 好了。

sample project 置放於此

http://1drv.ms/1GzA9FE

基本上這個 project 是以 XE8 建立的,所以如果要改用 XE7 開啟的話,建議自行新增一個專案後,再把 uMain.xxx 加入。

project > options 的設定部分,需要調整的只有需要將 Receive push notification 設定為 true

文章標籤

縹緲 發表在 痞客邦 留言(16) 人氣()

話說 XE8 的 What' New 內提到

New in XE8! MapView component for mobile platforms (iOS and Android) supporting platform specific interactive mapping libraries (respectively, by Apple and Google)

意思是 XE8 在 mobile 的環境提供一個新的 Map 元件,除了可以支援互動,還分別對應原生平台使用之 Map(Google Map 或 Apple Map)

感覺好像粉強大,趕快來試看看吧~

以 Delphi 提供的 Sample Demo - Map Type Selector 作為測試標的

文章標籤

縹緲 發表在 痞客邦 留言(1) 人氣()

正當 XE8 app 上路一切都沒問題了之後,今天同事突然告知他的手機使用 app 時,在登入畫面出現一個錯訊

之前從來沒有看過這個畫面,安裝過這麼多台手機也沒發生過,這到底是怎麼了?!

同事提供的線索:手機是小米 2S,android 5.x,沒有 Google play

唯一可能的兇手就是後者(沒有 Google play),因為 app 在登入的時候,會馬上要求去做 GCM 的註冊,但在註冊之前,程式會先檢查有沒有支援 Google play service,如下這段

文章標籤

縹緲 發表在 痞客邦 留言(0) 人氣()

在 iOS 上遇到的升級狀況遠比在 android 的部分多的多了,主要部分有兩個

1.XE8 變更了 iOS Provisioning 的設定方式,雖然變得更人性了,但是卻把之前設定過的值通通丟掉,因此這部分得重新設定才能 compiler 並將 app 發佈到實機上做測試

2.更令人驚恐的是,好不容易完成上述第一點,也發佈到實機上了,結果一執行 app 馬上閃退

上述狀況不只在一個 app 轉換時發生,至少有三個以上,因此可以說是普遍現象...當時真是叫人無法接受啊...

首先說明第一個 iOS Provisioning 部分,這次感覺 EMBT 有把獻上說明文件作的更完整些了,雖然...

文章標籤

縹緲 發表在 痞客邦 留言(0) 人氣()

Delphi 出一個新的版本,把原本的專案從前一版或更舊的 delphi 版本升級上來往往都是考驗,因為你不知道會發生什麼事情…在 FMX 的時代遠遠比 VCL 的時代無法捉摸多了,相信是很多人的共同心聲,網路上大家也是罵聲不斷,畢竟工具應該是用來提昇我們的生產力的,不是加重我們的工作負擔!

這次從 Delphi XE7 Upd1 升級上來,總的來說在 android 的部分並沒有遇到什麼困難,唯一比較大的變動就是筆者把自 XE5 開始使用自行編譯的 classes.dex 改變為使用 jar 的形式,這樣的好處是 jar 不需要因為 delphi 版本的變動而需要重新編譯,相反的為了相容於不同的 delphi 版本,若是要用自定義的 classes.dex,就需要因應 delphi 版本的變動而重新編譯,否則 app 就可能會發生不相容或無預警的 crash。

如何編譯 jar 呢?你可以參考 Brian Long 去年在他的 blog 上發表的這篇「Using NFC in Delphi XE7 Android apps」,後半段在「Building the Java code」有提到如何使用一個 batch file 編譯 java code 成為 jar,由於 Delphi 是在 XE7 開始支援可以 add jar 的 library,所以其實這部分的轉換在 XE7 就可以實現,只是一方面筆者偷懶,二方面也怕剛推出的東西不穩定,所以一直到 XE8 才轉換這個部分。轉換上也沒有遇到什麼困難,只要將 batch file 調整成符合你自己的環境(delphi 安裝路徑、android sdk 所在路徑等等),就可以順利編譯出 jar,然後透過之前提過的將 jar 掛入 Libraries 中即可

java code sample

文章標籤

縹緲 發表在 痞客邦 留言(0) 人氣()

先賣個關子好了,要看結果請拉到文章最下方...

再次說明受測環境

Delphi XE8
Mac OS X 10.10.3
XCode 6.3.1 with command line tools

文章標籤

縹緲 發表在 痞客邦 留言(0) 人氣()

延續上一篇,目標是要確認 XE8 到底在新版 android 5.1.1 上行不行!你沒看錯,上一篇才說測試環境是在 android 5.1.0,沒想到過了沒兩天,nexus 7 就收到訊息通知,說 4/22 release 的 5.1.1 已經備便可以更新了,唉,這就是一系列文章難產的原因之一,外在環境一直變,叫我們怎麼來得及跟上...

不囉唆,如果您懶得看完,就先講結果吧

XE8 @ android 5.1.1 是 ok 的!

測試標的是把當初在 XE5/XE6 寫的小型 CRM app (http://jamesjuantw.pixnet.net/blog/post/185758317) 移轉到 XE8 上,其實這個 app 一直都有隨著新版 delphi 更新,因此這次其實是從 XE7 Upd1 準備更新到 XE8,前文提過,因為要到 XE8,delphi 才正式支援 android 5.x,雖然 EMBT 也有出 hotfix for XE7,但為啥名稱給的是 beta hotfix 呢?

在功能都未變更的狀況下,先看一下編譯出來的大小

文章標籤

縹緲 發表在 痞客邦 留言(0) 人氣()

Delphi XE8 已經出來快一個月的時間了,但是小弟實在粉忙,沒有時間把玩,但是最近被逼的不得不面對現實

話說之前公司弄了幾個 app,也有客戶在使用了,但 Google 跟 Apple 不約而同的在去年接近年底的時候,陸續做出重大更新。Google 的部分當然就是推出 android 5.0 Lollipop(棒棒糖),支援 API Livel 21,之後在今年(2015/3/10)更新至 android 5.1,支援 API Livel 22;Apple 的部分就是要求需要要上架的 app 需要支援 x64,另外 iOS 的版本也是持續更新,從 2014/10/20 推出 iOS 8.1 後,陸續更新到 2015/4/9 的 8.3,這還不包括 Mac 版本以及 XCode 版本也都是持續在更新中...

面對一個環境變化這麼快的市場,XE8 到底行還是不行!?

不禁讓人想起以前的世界是多麼的美好,Windows 版本三、五年才一個大版,差異也不大,就算 x64 出來,為了考量要兼容之前的應用,也不會強迫大家的應用要跟著升級(改版),但這世界終究變了,變成「天下武功,無堅不破,唯快不破」,大家都在快快快、變變變,苦的是我們這些開發者,$$ 沒賺到幾個,只能天天陪著大廠玩,更別提之後的物聯網?現在就炒到翻天了...

話說回來,原本天下太平的世界,客戶也用的好好的,無奈客戶移動裝置陸續更新到 android 5.x、iOS 8.x 以後,怎麼原本可以用的 app 跑不起來,就算想重新安裝,在 iOS 上也是問題重重,這就是小弟被逼著要上 XE8 的原因了...唉...沒錢可賺的苦差事。

文章標籤

縹緲 發表在 痞客邦 留言(0) 人氣()