人気ブログランキング | 話題のタグを見る

[BASIC] RFO-BASIC! Quick APK で Hello World [APK化] (10/5)

以前、Android-BASICやBASIC! でAndroid上で動作するBASICプログラムを作成した。

そして、そこで作ったプログラムをAPK化して、インタープリター上でなく直接動かそうとした。
しかしその時はAndroid-BASICではうまくいかなくて、BASIC!ではやり方が明確ではなく断念した。

今回、参照したサイト様は2018年の記事ではあるが、APK化に成功したのでここに記す。
Basic言語でGoogle Playアプリを作る | Rakusandou

上記記事は、RFO-BASIC!という、元々BASIC!の上位共通仕様のBASICで、これから一連のOliBASIC!やその他のBASIC!系の派生が生まれている。
[BASIC] RFO-BASIC! Quick APK で Hello World [APK化] (10/5)_a0034780_20495254.jpg
上記記事はOliBASIC!での例になるが、別にAPK化自体は親のRFO-BASIC!の仕様に沿っていれば、スマホの派生BASICインタープリター上で動かすのでなければ、RFO-BASIC!のマニュアル通りに作ればよい。

通すのは「RFO-BASIC! Quick APK」だからね。

■ 準備
1.マニュアル
これは記事内の1.BASIC! アプリの項の、
・BASIC!アプリ   (Google Play ストア)
・BASIC!マニュアル (いわゆるリファレンスマニュアル)
・BASIC!フォーラム (BASIC!の公式掲示板)
となっている通り、アプリはもうない。ただし、記事の後にOliBASICのGitLabへのリンクが残っている。

マニュアルもNot Foundなので、GitLabから取得する。
OliBasic3_00/Documentation · master · OliBasic / Main · GitLab
RFO-Basic Manual 1.91 De_Re_BASIC!.pdf
[BASIC] RFO-BASIC! Quick APK で Hello World [APK化] (10/5)_a0034780_19585467.jpg

2.APK化ツール
記事内の2.にある通り、・RFO-BASIC! Quick APK (PC)がそれ。リンク先タイトルに沿うと次のようになる。
[BASIC] RFO-BASIC! Quick APK で Hello World [APK化] (10/5)_a0034780_20285312.jpg
これをインストールすると、Windows 11ではJavaが入っていないといわれるので、アプリのメッセージに従い、Javaをインストール。
[BASIC] RFO-BASIC! Quick APK で Hello World [APK化] (10/5)_a0034780_20284959.jpg

再度RFO-BASIC! Quick APKを起動すると、ちゃんと最後まで起動し、.basソースのフォルダを聞いてくるようになる。

3.OliBASIC!
記事内のOliBASIC!のリンクを開くとGitLabのページが開く。
[BASIC] RFO-BASIC! Quick APK で Hello World [APK化] (10/5)_a0034780_20352056.jpg
記事にあるようにAPK化ツールのインストールフォルダのBasic.apkをバックアップして、別の名前にして置き、GitLabの、Basic.apkを上書きする。


パスは上記リンク文字を見ればわかる通り、OliBasic3_00/APKs/Version for Compilers com.rfo.basicの下だ。

これをコピーするとき、管理者権限が必要だ。またAPK化ツールは一度終了させておく。
またコピー後、プロパティでネットワークでダウンロードしたファイルを承認する処理を行っておくこと。

これで準備OK。

まずマニュアルを開き、PRINT文の例とPAUSE(一時停止)の例を探し、メモ帳などでHello.basを作成する。
PDFならコントロール+Fで検索。
[BASIC] RFO-BASIC! Quick APK で Hello World [APK化] (10/5)_a0034780_20013009.jpg
[BASIC] RFO-BASIC! Quick APK で Hello World [APK化] (10/5)_a0034780_20013784.jpg

■ Hello.bas
PRINT "Hello, World
PAUSE 5000

APK化ツールでNew Projectを選ぶと、BASICソースの場所を聞いてくるので、デフォルトの、C:\Users\<ユーザ名>\Documents\BASIC\rfo-basic\source にフォルダを作って、そこにHello.basを置く(下図はhello作成済み)。
[BASIC] RFO-BASIC! Quick APK で Hello World [APK化] (10/5)_a0034780_20022761.jpg

APK作成のためNEXTを押すとコンパイルされて、保存場所を聞いてくるので、そのままデフォルトフォルダに置く。
[BASIC] RFO-BASIC! Quick APK で Hello World [APK化] (10/5)_a0034780_20023175.jpg

出来たAPKをWi-FiやUSBでコピーすることもできる画面が出るが、普通にPCでコピーしたいので、「open its folder on your computer」でフォルダを開く。
[BASIC] RFO-BASIC! Quick APK で Hello World [APK化] (10/5)_a0034780_20023472.jpg

■ Hello.apk
APKが出来ているので、スマホやQuest2にコピーする。
(X-ploreでPCの共有フォルダにLANサーバアクセスできるようにしてある)
上記X-ploreではコピーではなくインストールになる。ボタンを押す必要があるので、Quest2ならばBluetoothマウスを接続しておくとよい。
[BASIC] RFO-BASIC! Quick APK で Hello World [APK化] (10/5)_a0034780_20111069.png

コピー後に実行すると、インストールになる。続けて実行すると以下のようになった。
[BASIC] RFO-BASIC! Quick APK で Hello World [APK化] (10/5)_a0034780_20085100.png

実機はSH-M15 Android 10で、API29。
Quest2もベースは同じ。

RFO-BASIC!は以前の記事で、Quest2でGUIを作った「GW_LIB」もある。
なのでGUIを含んだダイアログをBASICプログラムで作成し、APKでQuest2に提供できるのだ。
まあ、2Dで、ボタンPushとドラッグやスクロール、マウスポインタ座標取得(押下も)ぐらいだろうが。
[BASIC] RFO-BASIC! Quick APK で Hello World [APK化] (10/5)_a0034780_20544841.jpg

[BASIC] RFO-BASIC! Quick APK で Hello World [APK化] (10/5)_a0034780_21034162.jpg
そういえば、以前の記事でRFO-BASIC!の全体像を説明したな~
[BASIC] RFO-BASIC! Quick APK で Hello World [APK化] (10/5)_a0034780_21592665.jpg
今回のAPK化ツール以外(Wi-Fi同期やLauncher・エディタなど)の使い方など記載しているので、「BASIC!コンパイラ(Andorid上)」を除くと大体説明したかな。



by k1segawa | 2023-10-05 17:20 | BASIC | Comments(0)