Delphi XE7 Java2OP終於release出來了

一早就收到廖啟甫大哥的訊息,把Java2OP的release資訊pass給我。
目前XE7可以將jar檔加入在android專案下的library目錄下,但需要將jar 轉換成 .pas bridge file,然後加入project才可以正確使用。以前要將jar轉pas需要一些第三方solution(如:Java2Pas….),而XE7貼心的將這個需求透過官方完成了。

Java2OP下載
http://cc.embarcadero.com/item/30007
Java2OP說明
http://docwiki.embarcadero.com/RADStudio/XE7/en/Java2OP.exe,_the_Native_Bridge_File_Generator_for_Android

Delphi XE7 開放試用下載了!

昨天看到Jim McKeeth發出訊息,RAD Studio XE7開放試用下載了!

大家可以到 http://www.embarcadero.com/products/delphi 去看官方的資料~

不過上次聽QCom的預覽研討會時,李維大師展示的FireUI又是讓人驚艷的技術了

Delphi XE6 透過台北市Opendata取得旅遊住宿資料

Delphi在XE5開始就提供了REST Client的元件,讓開發REST Client應用的開發者能在最短的時間開發出相關的應用,今天就利用臺北市政府資料開放平台中的臺北市旅館資料庫資料來做一個簡單的範例「台北住宿通」。讓大家瞭解Delphi 如何存取json資料,並顯示。
詳細內文請見
CodeData >> Delphi APP 開發入門(十)REST Client 開發

 

xe6tour10-16

Delphi XE6 GCM+Kinvey推播

詳盡原文刊登於 Codedata

當APP不在前景執行時,能夠用自己的平台或伺服器發送通知給行動的一項技術。在iOS平台上有APNS(Apple Push Notification Service),而Android平台上則叫做GCM(Google Cloud Messaging),在今天我們先以Android的GCM搭配BaaS服務Kinvey為例子。

Google Cloud Messaging

1.進入網站 https://console.developers.google.com
07
2.輸入專案名稱跟專案ID
08
3.完成後,記得專案編號(等等在其他設定會用到)
09
4.接著點選API 找到 Google Cloud Messageing for Anroid 後按關閉按鈕打開

1112

五、點選建立新的金鑰

13

六、點選伺服器金鑰

14

七、如果沒有特別允許使用IP可以略過後按建立就行了

 

15

八、一樣要記得API金鑰
17

kinvey申請

在行動裝置的開發領域目前有個BaaS(後端即服務:Backend as a Service)的技術概念。BaaS是指為行動裝置開發者提供整合雲端的基礎服務,像是資料/文件的儲存或是帳號管理、訊息推送、社群網路整合等….
而在Delphi XE6中支援二個熱門的服務為Kinvey及Parse,在這邊我們以Kinvey做為例子。
1.進入Kinvey網站(http://www.kinvey.com/)按下Sign Up註冊
01

2.註冊帳號只要電子郵件跟密碼就行了

02

3.點選Individual 個人帳戶的Get Started即可

 

 

03

4.接著建立一個新的專案,平台的話選擇Other(其他)的REST API即可
04
5.建立完成後,右下角的API Keys要記下來06

6.接著我們要建立可以存取服務的使用者,點選上面的Addons,在Core內有Users點入22

7.接著點選Add User新增使用者23

8.只要輸入帳號密碼就可以,我們建立一個test使用者24

9. 建立完成後可以看見使用者列表

25

10.接著建立待會使用的 Push Notification,一樣在Addons的目錄下有一個Messaging,裡面有一個Push

18

11.接著我們將剛才在Google控制台的專案編號填入Project ID、API金鑰填入API Key,接著按下Save GCM Configuration。右上角會由inactive轉為active。這樣就完成了相關的申請跟設定,不過先別關掉它。等等會再使用到!19 20 21

程式開發

1.我們延續剛才的通知範例,在畫面加上ListView元件,將Align設為Bottom

螢幕快照 2014-06-17 下午3.40.05

2.接著在畫面上放上二個元件,一個是TKinveyProvider以及TPushEvents

螢幕快照 2014-06-17 下午3.40.38

螢幕快照 2014-06-17 下午3.41.01

3.PushEvents1中的AutoActivate、AutoRegisterDevice設為True以及Provider指定KinveyProvider1

螢幕快照 2014-06-17 下午3.41.33

4.設定 OnPushReceived事件,在裡面的程式寫上

螢幕快照 2014-06-17 下午3.42.21

1
2
3
4
5
procedure TForm1.PushEvents1PushReceived(Sender: TObject;
  const AData: TPushData);
begin
  ListView1.Items.Add.Text := AData.Message;
end;

5.接著在KinveyProvider1設定相關參數
螢幕快照 2014-06-17 下午3.43.31

6.最後開啟專案目錄下的AndroidManifest.template.xml(這個檔案是Delphi編譯過程中產生AndroidManifest.xml的範本檔。

在幾個位置加入設定
.<%uses-permisson%>後面加上

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!-- GCM connects to Google Services. -->
    <uses-permission android:name="android.permission.INTERNET" />
    <!-- GCM requires a Google account. -->
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <!-- Keeps the processor from sleeping when a message is received. -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <!--
     Creates a custom permission so only this app can receive its messages.
     NOTE: the permission *must* be called PACKAGE.permission.C2D_MESSAGE,
     where PACKAGE is the application's package name.
    -->
    <permission android:name="%package%.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />
    <uses-permission android:name="%package%.permission.C2D_MESSAGE" />
    <!-- This app has permission to register and receive data message. -->
    <uses-permission
    android:name="com.google.android.c2dm.permission.RECEIVE" />

.</intent-filter></activity> 後面加上

1
2
3
4
5
6
7
8
<receiver
android:name="com.embarcadero.gcm.notifications.GCMNotification" android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND"
  <intent-filter>
    <action android:name="com.google.android.c2dm.intent.RECEIVE" />
    <category android:name="%package%" />
  </intent-filter>
</receiver>

接著就可以執行程式了!
程式執行後,我們回到Kinvey網站,輸入要推播的訊息後按 Send Push Notification
pushmessage

可以看到程式的Listview會出現推播的訊息。

1907712_10152077090231541_3460962835102390423_n

最後附上原始碼

https://github.com/superlevin/xe6notification

Marco Cantu用Delphi XE6展示藍芽搖控Mini Cooper?

Delphi K.Top

在Delphi K.Top上看到Qcom放上的照片,是Marco Cantu在展示手機搖控Mini Cooper。後來在網路上看到是透過藍芽操作的 BeeWi – BBZ201 – Mini Cooper S Bluetooth Car

Jim McKeeth有把Delphi XE6的原始碼放在
https://github.com/jimmckeeth/BeeMiniCtrl/tree/XE5/AppMethod

【胡思亂想】有點想來自寫一本Delphi XE5/6的電子書

下午在露天拍賣看到這本書叫價到2,000元(連結),對這本Delphi 徹底研究的書印象是同學口中的”聖經本”。不過好像後續的版本就沒再出了,總覺得很可惜,Delphi快速開發的特性再加上可以開發Android/iOS,應該可以再現風華,唯讀缺少一本類似這樣的書,或許對後續推廣Delphi XE4/5/6都很有幫助。

21305118420210_703

雖然捷康有出了幾本移動開發入門手冊/FireMonkey 資料庫程式 設計篇/DataSnap 開發實戰篇,可是又覺得不夠全面。

突然有股念頭想要自幹一本電子書出來,也當作自己的成果驗收好了!

http://embarcadero.qcomgroup.com.tw/images/publish/delphi_xe5_mobile_cover.jpg

 

Box2D for Delphi XE6下載

BOX2D 對開發手機2D遊戲的朋友想必不陌生,隨著Delphi XE6發表後,也有有網友也將BOX2D 轉成Firemonkey元件了!

這個版本是基於Box2D v2.3.0 所改寫的,下載連結也有附上範例。

Box2D 2.30 for Delphi XE5/Xe6

http://i0.wp.com/www.fmxexpress.com/wp-content/uploads/2014/04/box2d.jpg

 

Delphi XE6(RAD Studio XE6)讓部落格流量增加?

blogstatus

自從XE4之後,發現自己的部落格有個很妙的現象!

只要遇到 Embarcadero有發表新的RAD STUDIO版本,

部落格的流量就會增加!

昨天 RAD STUDIO XE6發表後也是如此,呈現一柱擎天的現象~

不過老實說台灣關注 Delphi 或 RAD STUDIO的人數真的少很多

除了小弟之外,大概就是

縹緲’s blog

賈氏柏的屋簷下

自己也有在FB成立社群

Delphi Developer【Delphi開發者】

歡迎大家多多聯繫囉!