こんにちは、@Yoshimiです。
機械学習を取り入れた株価予測システム(と言っていいものなのか・・・)は一通り完成しました。Python×Djangoで作れたので今のところは満足です。ただ、次のブラッシュアップしていく課題も見つかっているので、作業は継続して進めます。
さて、今回は、其の開発したアプリを公開したいと考え、まずは、Androidアプリの開発の経験値を積んでいこうと思い、備忘録をとっていきます。
開発環境
PC:MacBook Pro
OS:Big Sur
Python:3.7.6
PythonでAndroidアプリの作成手順
PythonでAndroidアプリの作成手順を「アプリを作ってみよう!PythonでAndroidアプリの作成手順7つ」を参考に書き出してきます。
- Pythonをインストール
- Kivyをインストール
- Buildozerをインストール(CrystaX NDK、Java Development Kit)
- Buildozeを起動
- BuildozeでAPKファイルを作る
- AKPファイルをAndroidに移動する
- Android端末でアプリの起動確認
Pythonはインストールされているとして、「Kivyをインストール」をすすめます。
Kivyのインストール
下準備
KivyはGUIアプリケーションを作成するためのフレームワークです。Kivyを使うことで簡単にGUIアプリを作成することができます。Pythonがインストールされていることが前提になるので、まずはインストールしておいてください。(不親切でごめんなさい)
pipやその他もろもろを最新バージョンにアップデートしておきましょう。
python -m pip install --upgrade pip setuptools virtualenv
仮想環境を作成し、そこにKivyをインストールします。
仮想環境を作成することでプロジェクト毎にPythonのバージョンやパッケージを独立させることができます。開発する際には、Pythonが3.5なのか3.8なのか、Djangoが2.Xか3.Xなのかでコーディングも変わってきますので、間違えないようにするわけです。
ターミナルでいかのコマンドを入力して、フォルダを作成します。
cd Desktop/
mkdir test_kivy
cd test_kivy
デスクトップに「test_kivy」というフォルダが生成されます。そのフォルダ内で仮想環境を作成します。
python -m virtualenv kivy_venv
フォルダ内に「kivy_venv」が作成されます。
仮想環境をアクティブ化を行います。
仮想環境は出来上がりましたが、そのままでは利用ができないのでアクティブ化をします。
「kivy_venv」を作成したフォルダ内で以下のコマンドを実行します。
source kivy_venv/bin/activate
行の先頭に(kivy_venv)と表示されていればアクティブ化できています。(base)は無視してください。
Kivyをインストールする
仮想環境ができましたので、これだKivyをインストールできます。
この時点で仮想環境はアクティブな状態です。
python -m pip install kivy[base] kivy_examples
上記コマンドはKivyの最低限のファイルインストールです。他にも追加インストールはできますが、適宜プロジェクトに合わせてインストールしてください。
参考:Installing Kivy’s dependencies
Hello, World!を表示させてみる
Kivyが正常にインストールされたか確認するために、簡単なプログラムを実行してみます。
そう、おきまりのHello, World!です。
main.pyをtest_kivyフォルダ直下に設置してください。
from kivy.app import App from kivy.uix.label import Label class HelloWorld(App): def build(self): return Label(text="Hello, World!") if __name__ == "__main__": HelloWorld().run()
コードを実行すると下記「Hello, World!」が表示されればOKです。
これで一旦、Kivyのインストール、動作確認は完了しました。
最後に
チュートリアル的にKivyのインストールをインストールを行いました。私的には、アプリ開発において環境構築が1番の苦手です。私のPCには不要な環境が多数存在していることでしょう。しかし、これでKivyを使うことで簡単にGUIアプリケーションを作成することがでるようになったので次に進めます。
多くの手順がありますが、できるかな〜。
頑張っていきます。