2 single: モバイル用 RingQt アプリケーションのビルド方法; はじめに
4 ==============================================
5 モバイル用 RingQt アプリケーションのビルド方法
6 ==============================================
8 モバイル用 RingQt アプリケーションのビルド方法を学びます。
12 pair: モバイル用 RingQt アプリケーションのビルド方法; 開発環境のダウンロード
15 ======================
17 このリンクをご確認ください : http://doc.qt.io/qt-5/androidgs.html
23 https://developer.android.com/sdk/index.html
25 * Android NDK (android-ndk-r21 で検証済み)
27 http://developer.android.com/tools/sdk/ndk/index.html
29 * Java SE Development Kit (JDK) v6 以降
31 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
34 pair: モバイル用 RingQt アプリケーションのビルド方法; Android SDK の更新
39 開発で必要な API および、ツールのパッケージを得るには Android SDK を更新します。
41 Android 4.4.2 (API 19) で検証済み。
43 * Windows では - 愛用のシステムに合わせて環境変数を定義します。
49 用例 : C:\Program Files (x86)\Java\jdk1.8.0_05
55 用例 : C:\JavaAndroid\AndroidSDK
58 pair: モバイル用 RingQt アプリケーションのビルド方法; Qt for Android のインストール
60 Qt for Android のインストール
61 =============================
63 * このリンクから Qt for Android をインストールします。
65 https://download.qt.io/archive/qt/5.12/5.12.6/
67 * Qt Creator を実行後に、 ツール → オプション → Android を選択して
68 Android NDK と SDK のパスを追加します。
70 http://doc.qt.io/qtcreator/creator-developing-android.html
73 pair: モバイル用 RingQt アプリケーションのビルド方法; Ring2EXE の用法
79 Qt プロジェクトのアプリケーションを Ring2EXE で手軽に用意できます。
85 ring2exe myapp.ring -dist -mobileqt
88 .. note:: Ring ノートパッドの配布メニューからでもできます。
90 .. tip:: Ring2EXE (Qt プロジェクトの準備 - モバイル機器用の配布) オプションは配布メニューにあります。
93 pair: モバイル用 RingQt アプリケーションのビルド方法; Ring アプリケーション用の Qt プロジェクト
95 Ring アプリケーション用の Qt プロジェクト
96 =========================================
98 Ring2EXE または Ring ノートパッドの配布メニューを使用後に、
100 * Qt Creator で生成された Qt プロジェクトを開きます。
102 フォルダ : target/mobile/qtproject
104 プロジェクトファイル : project.pro
106 * Qt Creator からリソース (YourAppName.ringo) にコンパイルされた Ring アプリケーションを見つけられます。
108 このファイル (Ring オブジェクトファイル) は Ring コンパイラで生成します。
112 ring YourAppName.ring -go -norun
114 * Qt Creator でアプリケーションをビルドします。
116 (1) リソースにはアプリケーションで使用する画像を追加できます。
118 またはテキストエディタを (Notepad など) で修正します : project.qrc
120 (2) Ring アプリケーションから画像を見つけ出すには、リソースで使用されているファイル名が必要です。
127 mypic = new QPixmap(":/cards.jpg")
129 mypic = new QPixmap("cards.jpg")
133 pair: モバイル用 RingQt アプリケーションのビルド方法; Android 開発についての注釈 (RingQt)
135 Android 開発についての注釈 (RingQt)
136 ===================================
138 (1) メインのプロジェクトファイルは main.cpp です。
140 このファイルは Ring コンパイラ、仮想計算機 (VM) と RingQt で読み込まれます。
142 実行中にリソースの一時作業フォルダから Ring オブジェクトファイルを取得します。
144 そして Ring 仮想計算機 (VM) で Ring オブジェクトファイル (ringapp.ringo) を実行します。
146 main.cpp で追加 (複数のファイルから構成されているプロジェクト) することにより、
147 リソースの一時作業フォルダから複数のファイルを抽出できます。
149 (2) この Ring エディションにおいて、この関数は未実装です。
151 * データベース (ODBC, SQLite と MySQL)
153 * セキュリティとインターネット関数 (LibCurl と OpenSSL)
155 * RingAllegro (Allegro ライブラリ)
157 * RingLibSDL (LibSDL ライブラリ)
159 Qt クラスは RingQt から使用します
161 データベースのアクセスには QSqlDatabase クラスを使用します。
163 .. note:: 未実装のライブラリ (LibCurl, OpenSSL および Allegro) は全て Android 用にコンパイルできますが Qt プロジェクトは収録されていません。
165 (3) Android 用のコードへ動作を切り替えたい場合は isandroid() を使用します。
177 (4) ボタンのテキスト、または画像が繰り返し描画されることがあること気づくと思います!
178 このコードで Qt の問題を回避できます。
184 border-style: outset;
191 (5) 手動設定によるコントロールの位置と寸法の代わりにレイアウトを常時使用します。
192 これはユーザインタフェースの問題回避を想定した最良の方法 (小規模、追加の寸法を有するコントロール) です。
194 (6) Qt クラスを扱う場合はリソースから画像を決定できます (main.cpp で使うためのコピーは不要です)。
202 mypic = new QPixmap(":/cards.jpg")
204 mypic = new QPixmap("cards.jpg")
207 RingQt にはファイル名を決定するために AppFile() 関数があります。
213 mypic = new QPixmap(AppFile("cards.jpg")) # デスクトップまたは Androrid
215 (7) プロジェクトのコード更新時、 Qt プロジェクトの生成に Ring2EXE を再実行する必要はありません。
217 Ring ノートパッドの配布メニューからオブジェクトファイルの生成 (\*.ringo) を選択します。
219 その後 YourAppName.ringo ファイルを target/mobile/qtproject フォルダへコピーしてファイルの置き換えに応じてください。
221 (8) アプリケーションにフォルダに Qt リソースファイル (project.qrc) がある場合は、
223 Ring2EXE または Ring ノートパッドの配布メニュー → Ring2EXE (Qt プロジェクトの準備 - モバイル機器用の配布) を実行するとリソースファイルが使用されるようになります。
225 用例は ring/applications/cards ゲームを参照してください。