Delphi XE5 Firemonkey實作仿Flappy Bird遊戲

FMX Express 上看到的「Flappy Bird Clone Source Code For Delphi XE5 Firemonkey On Android And IOS

Delphi XE5 Firemonkey Flappy Bird

有興趣研究Delphi XE5如何寫出Mobile遊戲的可以下載程式碼。

下載連結:
Download Flappy Firemonkey Prototype Source Code For Delphi XE5 Firemonkey.

Download Flappy Firemonkey 3D Prototype Source Code For Delphi XE5 Firemonkey 3D or download the Win32 binary.

Delphi XE5 Firemonkey Flappy Bird Clone

微軟SkyDrive更名為OneDrive

未命名 - 1

未命名 - 2

微軟將SkyeDrive更名為OneDrive,然後支援Windows、Mac、iOS、Android、Windows Phone、Xbox等平台。

管理儲存空間

如果安裝行動裝置app後,就可以將原來的5GB升級到7GB。以及如果推薦朋友加入的話,每推薦成功一位可獲得500MB空間。推薦獲得最高容量有5GB。

如果真的還是覺得不夠的話,可以購買50G、100G、200G的空間。

升級選項

 

OneDrive官方網站

onedrive.com

OneDrive Windows版本

http://go.microsoft.com/fwlink/?LinkID=392253&clcid=0x404

OneDrive for MacOS

http://go.microsoft.com/fwlink/?LinkID=392246&clcid=0x404

OneDrive APP下載

Windows Phone版本

http://go.microsoft.com/fwlink/?LinkID=392252&clcid=0x404

Android版本

https://play.google.com/store/apps/details?id=com.microsoft.skydrive

iOS版本
https://itunes.apple.com/us/app/skydrive/id477537958?ls=1&mt=8

 

 

Delphi XE5開發的Mobile APP有那些上架?

Delphi 支援 Android / iOS的行動裝置開發已經一段時間了!許多人好奇開發出來的APP到底可不可以在 Google Play 或是  Apple Store上架?

Embarcadero整理了一個「RAD Studio Application Showcase」網頁,讓大家知道有那些已上架的APP。

android ios

當然如果您要回報你使用Delphi、C++ Builder或RAD Studio開發且上架的程式,也可以透過這個表單送出。

facebook建立了一個Delphi Developer Forum

由於比較常在Facebook上出沒,所以索性在Facebook建了一個「Delphi Developer【Delphi開發者】」,主要討論的是所有Delphi開發的大小事以及新知。

也期待有更多人踏入Delphi for Mobile的開發 🙂

 

 

網址: https://www.facebook.com/groups/585770898163978/

Delphi XE5深入技術研討會

由李維大師所主持的Delphi XE5深入技術研討會,研討會過後二天,台灣QCom(捷康)就寄來了相關的文件了!

• 瞭解 Delphi XE5 如何在 Android / iOS 環境中運行
• 通往 Android / iOS 環境的重要觀念,類別 / 介面和方法
• 動態呼叫?靜態呼叫?
• 會使用下列幾個實例來說明:

– Delphi XE5 未封裝的 API
– BlueTooth
– Bar Code
– 其他第 3 方函式庫

 

延伸閱讀:
李維大師部落格 IT : 是工作還是嗜好?

捷康科技/Embarcadero 應用程式開發工具 http://embarcadero.qcomgroup.com.tw/

Delphi 歷史~ 1995年Delphi 1- 2013年Delphi XE5

Delphi已經邁向18年的歷史了,幾乎每一年都出了新的版本,而每個版本也幾乎都有令人驚艷的功能存在。

如果您是老Delphi 開發者,不妨可以回鍋體驗Delphi XE5開發 iOS、Android的樂趣。

如果您是新Delphi 開發者,也許可以嘗試使用Delphi XE5開發 iOS、Android的評估。

 

1995-Delphi1(windows3.1)

1996-Delphi2(windows95)

1997-Delphi3

1998-Delphi4(windows98)

1999-Delphi5

2001-Delphi6(dbexpress)

2002-Delphi7

2003-Delphi8(支援.net)

2004-Delphi2005

2005-Delphi2006

2006-Delphi2007

2008-Delphi2009

2009-Delphi2010

2010-Delphi XE

2011-Delphi XE2

2012-Delphi XE3

2013(April)-Delphi XE4 (iOS)

2013(Septemper)-Delphi XE5 (Android)

Click to see full-sized image


Click to see full-sized image

Delphi XE5如何透過URL呼叫Android或iOS上的其他程式?

之前曾經分享過,手機版的Line可以透過 line://msg/<CONTENT TYPE>/<CONTENT KEY> 這樣的語法呼叫Line 的程式分享。

當然Delphi XE5也可以透過程式呼叫程式才對,在 的「Sending a URL to Another App on Android and iOS with Delphi XE5」文章有教您如何呼叫

  • http, tel, sms, fb, mailto, twitter, geo…..
  • 作者也分類成三種:
  • 1. iOS跟Android都可以使用的URLs
  • http://superlevin.ifengyuan.tw/
  • tel://0921789779
  • sms://hello_world
  • http://twitter.com/superlevin (這個語法會直接打開Android上的Twitter Client程式)
  • mailto://superlevin@gmail.com
  • twitter://user?screen_name=superlevin
  • fb://profile/705666540
    (可以透過 http://graph.facebook.com/(帳號)superlevin取得UID)

iOS特殊語法

  • http://maps.apple.com?q=5617 Scotts Valley Drive, Scotts Valley, CA 95066 (需要URL encode)

Android特殊語法

  • content://contacts/people/
  • content://contacts/people/1
  • geo://0,0?q=5617 Scotts Valley Drive, Scotts Valley, CA 95066
  • geo://46.191200, -122.194400 (I think this one doesn’t like the URLEncode)

作者在文中有提到使用TidURL.URLEncode 。

[pascal]
unit OpenViewUrl;

interface

// URLEncode is performed on the URL
// so you need to format it protocol://path
function OpenURL(const URL: string; const DisplayError: Boolean = False): Boolean;

implementation

uses
IdURI, SysUtils, Classes, FMX.Dialogs,
{$IFDEF ANDROID}
FMX.Helpers.Android, Androidapi.JNI.GraphicsContentViewText,
Androidapi.JNI.Net, Androidapi.JNI.JavaTypes;
{$ELSE}
{$IFDEF IOS}
iOSapi.Foundation, FMX.Helpers.iOS;
{$ENDIF IOS}
{$ENDIF ANDROID}

function OpenURL(const URL: string; const DisplayError: Boolean = False): Boolean;
{$IFDEF ANDROID}
var
Intent: JIntent;
begin
// There may be an issue with the geo: prefix and URLEncode.
// will need to research
Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW,
TJnet_Uri.JavaClass.parse(StringToJString(TIdURI.URLEncode(URL))));
try
SharedActivity.startActivity(Intent);
exit(true);
except
on e: Exception do
begin
if DisplayError then ShowMessage(‘Error: ‘ + e.Message);
exit(false);
end;
end;
end;
{$ELSE}
{$IFDEF IOS}
var
NSU: NSUrl;
begin
// iOS doesn’t like spaces, so URL encode is important.
NSU := StrToNSUrl(TIdURI.URLEncode(URL));
if SharedApplication.canOpenURL(NSU) then
exit(SharedApplication.openUrl(NSU))
else
begin
if DisplayError then
ShowMessage(‘Error: Opening "’ + URL + ‘" not supported.’);
exit(false);
end;
end;
{$ELSE}
begin
raise Exception.Create(‘Not supported!’);
end;
{$ENDIF IOS}
{$ENDIF ANDROID}

end.
[/pascal]