Python

Pythonとkivyを使って簡単なAndroidアプリを作成しよう

PythonとKivyを使って簡単なアプリを作成する方法を学びましょう!
Kivyは、Pythonを使用してAndroidアプリを開発するためのオープンソースのライブラリです。これらを使用することで、簡単なAndroidアプリを作成できます。このチュートリアルでは、PythonとKivyを使用してアプリを作成する方法を学びます。Pythonを使用して簡単なAndroidアプリを作成するために必要なツールや技術を学ぶことができます。また、Kivyを使用してAndroidアプリを開発するための手順も学びます。今回の内容はまず、PCでアプリとして動作するところまでを行います。

Pythonでアプリを開発してみたいけどさっぱりわからない。

PythonとKivyのライブラリを使うと簡単にアプリ開発ができるからおすすめだよ。

まずはpythonでkivyを使用してアプリをちゃっと作成する方法について教えてください。

今回はkivyを使ってアプリを作るところまでやってみよう。簡単にアプリを作ることができます。GUIアプリができると実際に仕事で使うこともできるから便利だよ。

【記事の対象者】
 ・GUIアプリを作ってみたい
 ・Pythonとkivy を勉強してみたい
 ・初心者だけど、アプリを実際に作れるか試してみたい

🚀 0円で現役エンジニアから学べる【Techスクールオンライン】のお申込みをお勧めします。 このオンラインスクールでは、現役のエンジニアから直接学ぶことができ、プログラミングの基礎から高度なスキルまでを習得できます。しかも、今なら 0円 で受講できるチャンスです。 エンジニア転職を考えている方やプログラミングに興味がある方、新しいスキルを習得したい方に特におすすめです。

1. Pythonとkivyとは

Pythonの紹介

Pythonは、プログラミング初心者でも簡単に使える、人気の高いプログラミング言語です。プログラミングを始めるならPythonが最適です。Pythonは、高度なアルゴリズムを実装したり、Webサイトを作成したり、データを分析したりするのに最適なツールです。Pythonでは、様々なアプリケーションを作成し、自分のアイデアを実現していくことができます。Pythonであれば、プログラミングの初心者でも楽しく学ぶことができます!

kivyの紹介

Kivyは、Pythonを使ってクロスプラットフォームのモバイルアプリやデスクトップアプリを作成するためのオープンソースライブラリです。Kivyを使えば、iOSやAndroidなどのモバイルプラットフォームやWindows、Mac、Linuxなどのデスクトッププラットフォームで、同じコードを使ってアプリを開発できます。Kivyを使えば、初心者でも簡単にモバイルアプリやデスクトップアプリを開発することができます。

アプリ開発の環境を構築する

検証環境

  • kivy 2.1.0
  • Python 3.9.15
  • pip 22.2.1
  • Microsoft Windows 11 Home

Kivyのインストール

Kivyをインストールするには、まずPythonをインストールします。Pythonを使用可能な状態に準備します。次に、Kivyをインストールするために、pipを使用します。コマンドプロンプトを開き、「pip install kivy」と入力して実行してください。

pip install kivy

インストールが完了したら、test.pyを作成し、下記コードを入力し、ターミナルからtest.pyを実行してください。黒い画面にHelloと表示されれば完了です。

from kivy.app import App
from kivy.uix.label import Label

class TextApp(App):
    def build(self):
        return Label(text='Hello')

if __name__ == '__main__':
    TextApp().run()

これで初期設定は完了になります。これで、簡単に画面に文字を表示するアプリを作成することができました。

Kivyを使ってアプリを作成する

今回は実際に画像を表示するアプリを作っていきます。

プロジェクトの構成

Kivyを使ってアプリを作成するプロジェクトの構成は、PythonコードとKivy GUIを組み合わせることで実現します。Pythonコードでは、アプリのロジックを実装し、Kivy GUIでは、ウィジェットを使用して、インターフェースを作成します。また、Kivyの.KVファイルを使用して、GUIのレイアウトを定義します。最後に、Kivyのアプリケーションクラスを使って、アプリを実行するためのスタートアップコードを書きます。今回のファイルの構成は 下図のようなディレクトリで構成されています。

imgフォルダの中に複数の画像を格納しています。ファイルとしては、image.pyファイルとimage.kvファイルで構成されています。

プロジェクトの作成

Kivyをインストールしたら、上記のようにプロジェクトを作成するためのディレクトリ(今回は221205-kivy_program)を作成し、その中にimage.kvとimage.pyファイルを作成しコードを記述していきます。

  1. image_display.pyの形式でコードを作成
  2. image.kivyの形式でレイアウトを作成(下記コードを作成
  3. ターミナルから、image_display.pyを実行(仮想環境を設定している場合は、activatesする)
# 画面の縦・横のサイズを指定
from kivy.config import Config
Config.set('graphics','width','640')
Config.set('graphics','height','480')
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.properties import StringProperty
from random import randint

class ImageWidget(Widget):#Image Widgetというアプリ
    source = StringProperty('./img/1.jpg')

    def __init__(self, **kwargs):
        super(ImageWidget, self).__init__(**kwargs)
        pass

    def btn_first(self):
        self.source='./img/1.jpg'

    def btn_rand(self):
        self.source = './img/'+f'{randint(1,5)}.jpg'

class ImageApp(App):#ImageAppのImage とkvファイルの名称を合わせる必要がある。今回はimage.kv
    def __init__(self, **kwargs):
        super(ImageApp,self).__init__(**kwargs)
        self.title = '画像表示'
    pass

if __name__ == '__main__':
    ImageApp().run()
ImageWidget:#下で定義した内容を呼び出している

<ImageWidget>
    canvas.before:
        Color:
            rgba: 0.9, 0.9, 0.7, 1
        Rectangle:
            pos: self.pos
            size: self.size

    BoxLayout:
        orientation: 'vertical'
        size: root.size

        Image:
            source: root.source
        
        BoxLayout:
            size_hint_y:0.3
            padding: 20, 30, 20,10
            Button:
                id: button1
                text: "First Image"
                font_size: 30
                on_press: root.btn_first()
            
            Button:
                id: button2
                text: "Random"
                font_size: 30
                on_press: root.btn_rand()

実際に起動するとこのようなGUI画面が出て、Randomのボタンを押すとimgフォルダに保存していた1~5.jpgという画像ファイルが表示されるようなソフトを作ることができました。

画像はStable diffusionで作った風景になります。AIってすごいですね。。。なんでも作れるようになってきています。

画像が変化する様子が確認できます。これらに今後openCVの内容などを取り組んで、実際にandroidのアプリ作成を次の記事でやっていきたいとおもいます。

まとめ

Pythonとkivyを使用することで、簡単なアプリ開発を行うことが可能になりました。Pythonとkivyのコーディングスキルを活用して、Androidアプリを開発し、実際に今後適用していきましょう!

🚀 0円で現役エンジニアから学べる【Techスクールオンライン】のお申込みをお勧めします。 このオンラインスクールでは、現役のエンジニアから直接学ぶことができ、プログラミングの基礎から高度なスキルまでを習得できます。しかも、今なら 0円 で受講できるチャンス。
私がツナグバに登録してから、求人情報が豊富に届き、自分に合った仕事を見つけることができました。特に、第二新卒向けの求人情報が多いので、自分のスキルや経験を活かしながら新たなキャリアに挑戦することができました。転職活動は不安も多いですが、ツナグバのサポートがあれば、成功への道が明るく感じました。