Delphi XE7 這個版本,表面上看跟 XE6 相比似乎改變不大,骨子裡筆者認為改進的幅度還是不小的,除了之前介紹到的 GCM、Splash Screen 等看得見的,還有 What's New 中提到的 New TMultiView Component、FireMonkey Save State Feature 等等...
不過筆者最關心的,其實是 What's New 中提到的另外一項「Add Java Libraries to Your Applications for Android」,在 Android 的世界就像是在 Windows 一樣,可以允許各式各樣的第三方廠商提供 SDK 來銜接周邊硬體,包含之前研討會中廖老師分享中提到的 IPCam、iBeacon、Bluetooth Printer 等等,廖老師在 FB 上分享的 powerpoint 也有稍微提到怎麼銜接,但是可能是時間關係,沒有細講,這部分就讓小弟來代勞一下吧...
截至筆者撰寫此文的同時,EMBT 尚未釋出 Java2OP.exe 這個工具的正式版本,照之前李維大師提供的訊息,目前已經進入 QA 階段,但釋出日期尚不得而知,因此在此時此刻若要先嘗試結合第三方廠商提供的 jar,必須先透過其他工具(需要 $$),比如 Java2Pas、JavaImport for Android 等等,.jar 的檔案就是 Java library file,其實就像 Windows 世界的 DLL,若要使用則必須知道其 API 的呼叫介面、參數等等,而上述工具就是把 .jar 轉成 .pas 的呼叫介面,方便 Delphi 的使用者來使用。
這次要舉的範例比較簡單,讓大家可以輕鬆入門,免得覺得這部分門檻太高,因此結合硬體的部分本次先跳過,畢竟這些周邊不是人人都有,這次要結合的是 Base64Coder in Java,這是一個 open source 的專案,主要提供 Base64 的 Encode 與 Decode,官方網站在此:http://www.source-code.biz/base64coder/java/ ,由於 android 在 API Level 8(Android 2.2)後才有內建 Base64 的 Encode 與 Decode 函式,因此若你的專案要向下相容更低版本的 android,勢必得自行準備這部分的 code,這時就可以引用這個 open source 寫好的東西。
首先我們要從上述網站取得 .jar,因此需要下載的是 full package