Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

Java は 1995年にUNIXベンダーとして有名でだったサン・マイクロシステムズによって公開されたプログラミング言語で、個人・企業問わずに世界中の多くの企業で使用される人気言語です。

JVM という Java の仮想マシン上で動くのが特徴で、「一度(プログラムを)書けば、どこでも実行できる」をコンセプトとしたプログラム言語として、発表当時は世界に大きなインパクトを与えました。Javaは多くの企業の社内システムで採用され、世界中で多くのシェアを占めるまでになり、 Android アプリの開発言語としても使用されます。

Android Studioで電卓アプリを作ってみよう

この記事では、Java の API がそのまま使える JVM 互換言語の Kotlinと Android Studioを使って簡単な電卓アプリを作る方法を紹介します。

Kotlinは、Javaの統合開発環境であるIntelliJ IDEAで有名なJetBrainsが開発したオブジェクト指向プログラミング言語です。

ポテパンダの一言メモ

Kotlin 構文自体は Java と似ている部分もありますが、Java で冗長に書きがちになってしまう問題点を克服した互換性はあまりない独自構文をします。ただし、コンパイルされたコードはJava VM(仮想マシン)上で動作するため、Java の便利なAPI群や、数多くのライブラリなど、Java資産の多くを流用できるという特徴を持っています。

アプリの完成イメージ

今回作成する電卓アプリの完成イメージは次の通りです。

画面上部には計算式や計算結果を表示するディスプレイ部があり、その下には数字を入力するためのボタンと、足算、引算、掛算、割算を行う演算子のボタンがあるシンプルな電卓アプリです。

今回はAndroidアプリ開発のイメージを掴んでもらうのが主旨であるため、電卓機能は最小限にとどめ、整数の演算のみができるシンプルな作りにします。

アプリの画面デザインを作る

まず最初は、電卓アプリの画面デザインを作りましょう。

プロジェクトエクスプローラーから「activity_main.xml」をダブルクリックして開き、画面のデザイナを開きます。

TableLayoutを画面一杯に配置します。

TableLayoutの下に、TableRowを 6個(行)配置します。

TableRowの1行目には、電卓のディスプレイ部分となる、TextViewを配置します。

TableRowの2〜6行目には、電卓のボタンを次のイメージの通り配置します。

ボタンに設定するプロパティは次のとおりです。

電卓アプリのコードを書く

画面デザインの準備ができたら、ボタンが押された時の計算処理を行うコード部分を作成していきましょう。プロジェクトエクスプローラーから「MainActivity.kt」をダブルクリックして開き、エディタに表示します。

メソッドの構成

今回作る電卓アプリは、次の4つのメソッドで構成されます。

では、これらのメソッドのコードを書いていきましょう。

display メソッド

引数で指定された文字を、画面上部のディスプレイ部に表示する関数です。この後に作成するメソッドから計算式や計算結果を画面に表示する時に呼ばれます。

/**
* 計算式または計算結果を画面上部の TextViewに表示する処理
*/
private fun display(value: String) {
    var display = findViewById<TextView>(R.id.display)
    display.text = value.toString()
}

onClickNumberメソッド

数字ボタンがタップされた時の処理を行うメソッドです。

タップされる度に変数の値を10倍したもの対して加算することで、「1」→「2」→「4」の順に数字がタップされた時に、変数の値が「124」となるようにします。また、上で作成したdisplayメソッドを呼び出して入力された数字を画面に表示しています。

    /**
     * 数字がタップされた時の処理
     */
    fun onClickNumber(v: View?) {
        var btn = v as Button
        var inputNumber = btn.text as String

        if ("00".equals(inputNumber)) {
            value1 = (value1 ?: 0) * 100
        } else {
            value1 = (value1 ?: 0) * 10
        }
        value1 = value1!! + inputNumber.toInt()

        display(String.format("%s %s %s",
            value2?.toString() ?: "",
            operator,
            value1.toString()))
    }

onClickOperator メソッド

演算子のボタンがタップされた時の処理です。選択された演算子を記憶し、計算式の入力を左辺→右辺の数値を入力に切り替えます。

    /**
     * 演算子「+」「ー」「×」「÷」ががタップされた時の処理
     */
    fun onClickOperator(v: View?) {
        if (value1 != null) {
            value2 = value1
            value1 = null
            operator = (v as Button).text.toString()

            display(String.format("%s %s %s",
                value2.toString(),
                operator,
                ""))
        }
    }

onClickEqual メソッド

最後は「=」ボタンがタップされた時の計算処理です。右辺と左辺に入力された数字と演算子から計算を行い、結果を画面に表示します。

    /**
     * 「=」がタップされた時の処理
     */
    fun onClickEqual(v: View?) {
        if (value1 == null || value2 == null || operator == null) {
            return
        }

        if ("+".equals(operator)) {
            //足算
            value1 = value2!! + value1!!
        } else if ("−".equals(operator)) {
            //引算
            value1 = value2!! - value1!!
        } else if ("×".equals(operator)) {
            //乗算
            value1 = value2!! * value1!!
        } else if ("÷".equals(operator)) {
            //除算
            value1 = value2!! / value1!!
        }

        display(value1.toString())
        value2 = null
        operator = ""
    }

まとめ

ここまでの流れで電卓アプリは完成です。

作成したアプリを実行するには、Android Studio のツールバーより、緑の再生マークのようなアイコンをクリックすると、エミュレーター上でアプリを実行できます。USBで Android端末をPCに接続すれば、実機でも確認が可能です。

【関連記事】
Javaで簡単なAndroidゲームアプリを開発(環境準備)

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。