OSDN Git Service

タグを打ち忘れていたついでに、html版ドキュメントを追加しました。
[ring-lang-081/ring.git] / docs / ja-jp / build / html / _sources / qtmobile.txt
1 .. index:: 
2         single: モバイル用 RingQt アプリケーションのビルド方法; はじめに
3
4 ==============================================
5 モバイル用 RingQt アプリケーションのビルド方法
6 ==============================================
7
8 モバイル用 RingQt アプリケーションのビルド方法を学びます。
9
10
11 .. index:: 
12         pair: モバイル用 RingQt アプリケーションのビルド方法; 開発環境のダウンロード
13
14 開発環境のダウンロード
15 ======================
16
17 このリンクをご確認ください : http://doc.qt.io/qt-5/androidgs.html
18
19 ダウンロード
20
21 * Android SDK ツール
22
23         https://developer.android.com/sdk/index.html
24
25 * Android NDK (android-ndk-r21 で検証済み)
26
27         http://developer.android.com/tools/sdk/ndk/index.html
28
29 * Java SE Development Kit (JDK) v6 以降
30
31         https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
32
33 .. index:: 
34         pair: モバイル用 RingQt アプリケーションのビルド方法; Android SDK の更新
35
36 Android SDK の更新
37 ==================
38
39 開発で必要な API および、ツールのパッケージを得るには Android SDK を更新します。
40
41         Android 4.4.2 (API 19) で検証済み。
42
43 * Windows では -  愛用のシステムに合わせて環境変数を定義します。
44
45 (1) JAVA_HOME
46
47 .. code-block:: ring
48         
49         用例 : C:\Program Files (x86)\Java\jdk1.8.0_05 
50
51 (2) ANDROID_HOME        
52
53 .. code-block:: ring
54
55         用例 : C:\JavaAndroid\AndroidSDK
56
57 .. index:: 
58         pair: モバイル用 RingQt アプリケーションのビルド方法; Qt for Android のインストール
59
60 Qt for Android のインストール
61 =============================
62
63 * このリンクから Qt for Android をインストールします。
64
65                 https://download.qt.io/archive/qt/5.12/5.12.6/
66
67 * Qt Creator を実行後に、 ツール → オプション → Android を選択して
68     Android NDK と SDK のパスを追加します。
69
70                 http://doc.qt.io/qtcreator/creator-developing-android.html
71
72 .. index:: 
73         pair: モバイル用 RingQt アプリケーションのビルド方法; Ring2EXE の用法
74
75
76 Ring2EXE の用法
77 ===============
78
79 Qt プロジェクトのアプリケーションを Ring2EXE で手軽に用意できます。
80
81 用例:
82
83 .. code-block:: none
84
85         ring2exe myapp.ring -dist -mobileqt
86
87
88 .. note:: Ring ノートパッドの配布メニューからでもできます。
89
90 .. tip:: Ring2EXE (Qt プロジェクトの準備 - モバイル機器用の配布) オプションは配布メニューにあります。
91
92 .. index:: 
93         pair: モバイル用 RingQt アプリケーションのビルド方法; Ring アプリケーション用の Qt プロジェクト
94
95 Ring アプリケーション用の Qt プロジェクト
96 =========================================
97
98 Ring2EXE または Ring ノートパッドの配布メニューを使用後に、
99
100 *  Qt Creator で生成された Qt プロジェクトを開きます。
101
102         フォルダ : target/mobile/qtproject
103
104         プロジェクトファイル : project.pro
105
106 * Qt Creator からリソース (YourAppName.ringo) にコンパイルされた Ring アプリケーションを見つけられます。
107
108         このファイル (Ring オブジェクトファイル) は Ring コンパイラで生成します。
109
110 .. code-block:: none
111
112         ring YourAppName.ring -go -norun
113
114 * Qt Creator でアプリケーションをビルドします。
115
116 (1) リソースにはアプリケーションで使用する画像を追加できます。
117
118         またはテキストエディタを (Notepad など) で修正します : project.qrc
119
120 (2) Ring アプリケーションから画像を見つけ出すには、リソースで使用されているファイル名が必要です。
121
122         用例
123
124 .. code-block:: ring
125
126         if isandroid()
127                 mypic = new QPixmap(":/cards.jpg")
128         else
129                 mypic = new QPixmap("cards.jpg")
130         ok
131
132 .. index:: 
133         pair: モバイル用 RingQt アプリケーションのビルド方法; Android 開発についての注釈 (RingQt)
134
135 Android 開発についての注釈 (RingQt)
136 ===================================
137
138 (1) メインのプロジェクトファイルは main.cpp です。
139
140         このファイルは Ring コンパイラ、仮想計算機 (VM) と RingQt で読み込まれます。
141
142         実行中にリソースの一時作業フォルダから Ring オブジェクトファイルを取得します。
143
144         そして Ring 仮想計算機 (VM) で Ring オブジェクトファイル (ringapp.ringo) を実行します。
145
146         main.cpp で追加 (複数のファイルから構成されているプロジェクト) することにより、
147         リソースの一時作業フォルダから複数のファイルを抽出できます。
148
149 (2) この Ring エディションにおいて、この関数は未実装です。
150
151         * データベース (ODBC, SQLite と MySQL)
152
153         * セキュリティとインターネット関数 (LibCurl と OpenSSL)
154
155         * RingAllegro (Allegro ライブラリ)
156
157         * RingLibSDL (LibSDL ライブラリ)
158
159         Qt クラスは RingQt から使用します
160
161         データベースのアクセスには QSqlDatabase クラスを使用します。
162
163 .. note:: 未実装のライブラリ (LibCurl, OpenSSL および Allegro) は全て Android 用にコンパイルできますが Qt プロジェクトは収録されていません。
164
165 (3) Android 用のコードへ動作を切り替えたい場合は isandroid() を使用します。
166
167 用例:
168
169 .. code-block:: ring
170
171         if isandroid()
172                 // Android のコード
173         else
174                 // それ以外のプラットフォーム
175         ok
176
177 (4) ボタンのテキスト、または画像が繰り返し描画されることがあること気づくと思います!
178         このコードで Qt の問題を回避できます。
179
180 .. code-block:: ring
181
182         if isandroid()
183                 setStyleSheet("
184                         border-style: outset;
185                         border-width: 2px;
186                         border-radius: 4px;
187                         border-color: black;
188                         padding: 6px;")
189          ok
190
191 (5) 手動設定によるコントロールの位置と寸法の代わりにレイアウトを常時使用します。
192         これはユーザインタフェースの問題回避を想定した最良の方法 (小規模、追加の寸法を有するコントロール) です。
193
194 (6) Qt クラスを扱う場合はリソースから画像を決定できます (main.cpp で使うためのコピーは不要です)。
195
196
197 用例:
198
199 .. code-block:: ring
200
201         if isandroid()
202             mypic = new QPixmap(":/cards.jpg")
203         else
204             mypic = new QPixmap("cards.jpg")
205         ok
206
207 RingQt にはファイル名を決定するために AppFile() 関数があります。
208
209 用例:
210
211 .. code-block:: ring
212
213         mypic = new QPixmap(AppFile("cards.jpg"))  # デスクトップまたは Androrid
214
215 (7) プロジェクトのコード更新時、 Qt プロジェクトの生成に Ring2EXE を再実行する必要はありません。
216
217 Ring ノートパッドの配布メニューからオブジェクトファイルの生成 (\*.ringo) を選択します。
218
219 その後 YourAppName.ringo ファイルを target/mobile/qtproject フォルダへコピーしてファイルの置き換えに応じてください。
220
221 (8) アプリケーションにフォルダに Qt リソースファイル (project.qrc) がある場合は、
222
223 Ring2EXE または Ring ノートパッドの配布メニュー → Ring2EXE (Qt プロジェクトの準備 - モバイル機器用の配布) を実行するとリソースファイルが使用されるようになります。
224
225 用例は ring/applications/cards ゲームを参照してください。