RAD Studio Delphi XE5 iOS For beginners Haruyuk Mohri

  • View
    583

  • Download
    5

  • Category

    Mobile

Preview:

DESCRIPTION

RAD Studio Delphi XE5 iOS For beginners Haruyuk Mohri

Citation preview

Delphi で、はじめての iOS と Android

自己紹介 • なまえ 毛利 ( モウリ )• 職業 カラオケシステム と東京で店舗• Twitter @haruyuk• Facebook haruyuk• 趣味 ドラムやったりギターやったり

iPhone のアプリを Delphi で組む!

メリットってなんでしょ。。。Delphi で組むんだったら iPhone と Android両方同じソースで組むのがメリットだと思います

iOS(iPhone) だけで良いなら xcode で組むのも大差ないです

必要な物• iPhone もしくは iPad(mini)• Mac (Mac OS X) Mavericks, Mountain Lion• Windows• xcode 最新• iOS Developer Program 登録 (8 千円弱? )• RAD Studio( もしくは Delphi) XE5 以上

Mac で xcode が動いてデバッグできる環境を作る

• xcode のインストールは App Store からできるので簡単です

• xcode インストール後 Command Line Toolsも忘れずインストール

Windows に RAD Studio XE5(6) をインストールする

• 普通に SetUp から

接続構成

Windows

RAD Studio( Delphi)

Mac OS

Paserver XE5(6)

xcode

iPhone5(S)

Command Line ToolsTCP/IP

Mac OS 上で PAServer を起動する

ターミナル上で /Application/RAD PAServer XE5(6).app/Contents/MacOS/paserver

Windows(RAD Studio) 側からこの TCP ポートで接続します

RAD Studio(Delphi) でプロジェクト作る

こんな画面です

デフォルトは Android になってます

ターゲットを iPhone に変更します

Hellow Word はたったこれだけ

画面ダブルクリックで下記の method が作られるので 実行したい内容を記述するだけです

なんですが。。。。

Hellow world だけなら xcode でも Code 数は変わらないww

Button のタッチイベント

iPhone アプリを Delphi で作るメリットは?

UI も xcode そっくり

xcode 開発環境 RAD Studio(Delphi) 開発環境

Android ターゲットで Delphi プログラム

開発に必要な物• Windows 7 以降の端末• Android 端末 (USB ケーブル含む )• JDK( たぶん 7)

Android 用の SDK はとくに 無くても RAD Studio の中にはいってます気になる方は 最新の SDK とってきてください

Android 開発環境• Android 端末は機器やバージョンで 開発接

続までの環境が様々です• 通常の ADB などの開発環境で端末認識し

ている状態でしたら RAD Studio でも動作します

こんな感じでデバイスマネージャーから見えていれば 接続できます

たまたま接続した Android 端末名

Windows 上で認識できていればRAD Studio でも認識できている

こんな感じに見えてたら接続できています

RAD Studio(Delphi) の IDE 操作感は変わりません

Button1 をダブルクリックでイベント作成

UI がカスタマイズできます!RAD Studio なら部品はそのままで見た目のデザイン変更できます

TStyleBook を使ってカスタマイズ

RAD Studio でカスタマイズされた UI を使いつつ xcode のライブラリも使いた

い• RAD Studio は画面デザインを簡単にカスタ

マイズできます• 視覚的に 3D アプリを作りたい

• でも中身はやっぱり Objective-C で書きたい

ここからが本題

xcode で作ったライブラリをRAD Studio(Delphi) で利用する

NSObject で簡単なクラスオブジェクトを作ってみる

• NSObject クラスから自分用のライブラリを作ってみる ( 慣れた人はどって事無い作業 )

この辺にクラスつくるテンプレートがあります

Next

NSObject 継承して勝手にできます今のところ他の Object は試してませんイケるクラスはイケると思います

Delphi で言う Tobject みたいなもの?

適当に Objective-C の Method 作ります

ヘッダーに追加 実態側にコード記述i1 に 10 足して return

⌘B でビルドすると *.a ファイルができます

ビルドするとこんな感じで *.a ファイルができました

mohri_obj : NSObject の中身

mohri_obj クラス

aaa(int i1) Method

これだけしかしないクラスの完成!

mohri_obj : NSObject を Delphi で呼ぶ準備

• xcode でビルドするとヘッダファイルも自動で吐き出すのですがこれは Delphi では使えません

• Delphi のコードでヘッダを作る必要があります

別 .pas で作ろうと思ったんですが

• 同一のプロジェクトフォーム側の TYPE 宣言に追加する事にしました

• RAD Studio(Delphi) を起動します

[ 新規 ]Fire Monkey モバイルアプリケーションプロジェクト

入力 BOX2 つとボタンを配置します

Delphi Type 宣言に追加

NSObject をインターフェースした mohri_obj の宣言をする

Delphi のクラスで呼び出せるように NSObjectClass を作成しTOCGenericImport で関係性を作る

上記のような物理的に DLL 呼ぶときのような処理も必要です全部メインフォーム上に記述しても OK です別のユニット作っても OK です

Button イベントを作成し mohri_obj を使ってみます

実行すると

NSLog が使いたい場合xcode でいつも使っている Log を出す方法を Delphi でも利用したい場合

xcode のオーガナイザー画面で出力が可能です

おまけ• Android での開発の場合 Java で作ったクラ

スも Delphi で呼べます• 僕の場合は JNI を使いますが他にも方法が

いくつかあります• TJNIResolver.GetJavaMethodID を使う方法が

楽でした

まとめ• iPhone のプログラムを Delphi で組むには

xcode の知識もあった方が何かと便利

• Delphi も xcode も同じような画面が作れる(Fire Monkey は部品をカスタマイズできる )

• Delphi と xcode 両方の良い点を理解して組合わせてみるとできなかった事ができたりするかもしれない