データサイエンス

自作Androidアプリを開発したい!使いやすいツールについて教えて!

そもそもAndroidアプリはなぜ使いやすいの?

 2007年頃にiPhoneとAndroidが発売されてから私たちの生活は大きく変化しました。それまで携帯電話やPCはキーボードや方向キー、マウス操作が中心で、スマートフォンのような直感的に操作できる機器が無かったのです。

この直感的な操作に加えて、スマートフォンでは使いやすい機能ごと、つまりアプリごとにソフトが分割されて増々便利になりました。企業だけではなく個人が作成したアプリが続々と発表され、従来製品では考えられないほど、『痒い所に手が届く』機能が追加されていったのです。

 スマートフォンは今のままでも十分に便利すぎる機能ですが、あなた個人特有の使い方をする場合は、未だに痒い状態が続いていると思います。それを解消する手段はたった一つ、自分で理想のアプリを作成するしかありません。

 本記事ではAndroid用のアプリ開発の概要と使用するツール、簡単な操作方法について説明していきます。

Androidアプリの開発概要を紹介

         

 Androidアプリの開発は簡略化されており、『ボタンを押す』『テキストを表示する』などの単純なアプリなら数時間で作成可能です。

しかし、少し難しいアプリを作成するときには、基本的なシステム開発の手順を踏むと、後戻りが少なく早く開発できます。

まずはシステム開発の概要です。一般的なシステム開発は

要求定義・基本設計→コーティング(詳細設計・実装)→テスト→リリース

の流れで開発していきます。それぞれの項目について確認していきましょう。

開発環境の構築(事前準備)

 アプリを作成するには統合開発環境(IDE)を利用することが一般的です。IDEはアプリデザインやプログラムのデバックやコンパイルを行うソフトウェアであり、比較的高いCPU性能やメモリ容量を必要とします。開発環境の構築については次章でまとめて記載します。

開発環境ではPC性能、IDE、テスト環境についても説明します。

①アプリ機能の定義(要件定義、基本設計)

 環境が整ったらアプリ開発に着手し始めます。開発にあたり次の項目は事前に決めておきましょう。 

・アプリの目的

・想定する使用者、顧客ニーズ

・基本的な操作方法

・入力情報と出力情報について

  アプリを作成したいと思った以上、実現したい機能があるはずなので、実装する機能について整理します。また、アプリの機能と同時に、どのような操作方法やデータを入力して、どのような出力があるかや、画面遷移があるか、画面デザインはどのように設計するかを大まかに決定します。

②コーディング(詳細設計、開発)

・言語について

・デバッグ

アプリで実現したい機能と画面デザインが大まかに決定したら、実際にプログラムを記述して機能を実現していきます。Androidアプリ開発ではプログラミング言語としてC#、Java、Kotlinが使用されています。

特にKotlinはAndroidを開発しているGoogleがAndroidに使用する標準言語として採用しているため、初めて学ぶ方はKotlinを使用すると良いでしょう。

③テスト方法(テスト)

・仮想環境によるテスト

・実機テスト

プログラミングが終了したらアプリが動作するかテストを行います。いきなり実機からテストするのではなく、対象とするスマートフォンの仮想環境を作成してテストしてから、実機を使用してテストしましょう。仮想環境は後述するIDEをセットアップすれば使用可能です。テスト方法の詳細については参考文献を記載しましたので、そちらも併せてご覧ください。

④リリース

・リリース範囲

・アフターサポート体制の確立

アプリ開発が完了したら多くの人々に使ってもらうようにリリース(発表)します。個人で使用する範囲ならば自分のスマートフォンにインストールするだけですが、Play Storeにアップロードする場合は別途料金がかかりますので、注意しましょう。

アプリを開発してリリースした以上、アプリのバグ修正やバージョンアップ対応を行う必要があります。一定間隔でフィードバックを確認し、メンテナンスを欠かさないようにしましょう。

Androidアプリの理想的な開発環境とは

 Androidアプリ開発はPCスペックやIDEとプログラミング言語の選定、検討事項が多くあります。

PC環境

最低限は下記のスペックを満たすようにしましょう。IDEは簡単な操作でAndroidアプリを開発できますが、要求スペックは高いです。なお、本記事では2022年7月執筆時点のスペックとなります。

OS: Windows10 or 11

CPU: Core i5 8世代以上

RAM: 16GB

ストレージ: 16GB以上

画面解像度: 1280 x 800

モニター数: 20インチモニター 2枚以上

上記以下の性能の場合コンパイルに時間がかかったり、仮想環境の動作が重くなるため、できるだけ要求性能は満たすようにしましょう。また、プログラムの開発はブラウジングによってエラー処理方法を探しながら行うので、メインディスプレイ以外にもサブモニターがあった方が便利です。

統合開発環境(IDE)

主に次のIDEが使用されていますが、AndroidアプリはGoogleからAndroid Studioが提供されており料金も無料なため、こちらを使用しましょう。他のIDEはAndroidアプリに特化していないため容量が大きかったり、利用者が少なすぎてエラー処理に時間がかかるデメリットがあります。

Android Studio (Google社)(←おすすめ)

・Visual Studio (Microsoft社)

 Androidアプリ以外にもPC用ソフトの開発ができる。いろいろなことができる反面、Androidアプリ開発には不要な機能が多い。

・React Native (Facebook社)

 利用者が少ないためエラー処理の調査に時間を要する。また、インターネット上のサンプルコードが少なく、必要な機能は自分で作成する必要がある。

アプリ開発ツールAndroid Studioについて学ぼう! 

 本章では簡単な機能紹介を行います。インストール方法の解説サイトも紹介しますので、一緒に手を動かして操作してみましょう

インストール方法

公式サイト(Download Android Studio & App Tools – Android Developers)からインストーラをダウンロードし、設定を行います。

詳細な方法は下記サイトを参照ください。

【2022年版】Android Studioのインストール方法(Windows&Mac対応) (codeforfun.jp)

プロジェクトの立ち上げ

インストールが終了したら、早速新規プロジェクトを立ち上げてみましょう。プロジェクトの作成方法は公式サイトに記載があるので、こちらを参考に進めてください。

公式ディベロッパーサイトプロジェクトの作成  |  Android デベロッパー  |  Android Developers

GUI機能の紹介

新規プロジェクトが作成できたら、さっそくアプリのGUIを作成してみましょう。プロジェクトウィンドウの『activity_main.xml』がレイアウトエディタなので両方とも開きます。

GUI機能の紹介①

2つの画面が表示されますが、左は実際のアプリ画面を、右側はウィジェット同士の関係を表示してくれます。ここで、ウィジェットとはボタン機能やテキストボックスなどGUIの一部品のことです。編集自体はどちらの画面でも可能です。

GUI機能の紹介②

 続いて、ウィジェットを画面上に配置していきます。今回はPaletteからボタン機能をドラックしてみましょう。

GUI機能の紹介③

 無事に設置できました。テキストボックスも加えて、ボタンを押したら『Hello World』を表示するレイアウトにしてみましょう。このままでは不格好なので両方とも中央に揃えます。

GUI機能の紹介④

ほかにも動画挿入機能や広告の挿入機能など多種多様なウィジェットを実装できますが、本記事では深く掘り下げません。

プログラマ機能

先ほど設置したボタンとテキストボックスが、連動して動作するようにプログラムしていきます。最初にボタンの動作条件を記載しましょう。ボタンを選択して属性エディタの『Onclick』欄に『btncllick』と入力しましょう。これによって、ボタンが入力されたときにbtncllickの関数として記載されているコードが実行されます。 

コード例①

 MainActivity.ktの中に処理内容を追加していきます。追加したコードは下記です。ここでimportはテキストボックスの処理を記載したライブラリを読み込むコードになります。ボタンが押されたときの動作はfun以下のコードで、テキストボックスid textView3を指定して、クリック後の結果であるval textResult = “Hello World!!”と記載しています

ライブラリを読み込むコード

“`追加したコード 開始

import android.view.View

import android.widget.TextView

#以下のコードはclass MainActivity中に記載する。

fun btnclick(v:View){val textResult = findViewById<TextView>(R.id.textView3) textResult.text = “Hello World!!”}

“`追加したコード 終了

全体コードを示します。

“`kotlin

package com.example.hello

import androidx.appcompat.app.AppCompatActivity

import android.os.Bundle

import android.view.View

import android.widget.TextView

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState) setContentView(R.layout.activity_main)}

fun btnclick(v:View){val textResult = findViewById<TextView>(R.id.textView3) textResult.text = “Hello World!!”}

“`

コード記載が完了したので、Run Appボタン(Shift + F10)を押して、デバッグ+コンパイルしてエミュレータ上で動作確認することができます。

エミュレータ起動後                 ボタンを押した後(Hello Worldが表示されている)

エミュレータ上でボタンを押した後、無事にHello World!!が表示されていることを確認できました。本当ならばこの後に実機による動作確認が必要ですが、本記事では省略いたします。

学習方法やおすすめ参考書、HPを紹介

 本記事ではアプリ開発の初歩をご説明しましたが、さらに学習するならば下記の書籍やサイトで学ぶと、より理解が深まります。また、プログラム全般の学習で重要なことは、『自分の手で作成する』ことです。参考書や参考サイトを除いて満足するだけではなく、自分が使用しているスマートフォンのレイアウトエディタを用意してプログラムしてみてください。

参考書

・株式会社秀和システム、山田祥寛著『TECHNICAL MASTER はじめてのAndroidアプリ開発 Kotlin編』

・翔泳社、WINGSプロジェクト 齊藤新三著、『基礎&応用力をしっかり育成!Androidアプリ開発の教科書 第2版 Kotlin対応 なんちゃって開発者にならないための実践ハンズオン』 

両者ともAndroidアプリ開発初心者向けのテキストです。操作方法が丁寧に画像付きで説明されているので、躓くことなくスムーズに学習できます。

参考サイト

・公式サイトAndroid デベロッパー  |  Android Developers

 アプリ開発の参考サイトは数多くありますので、Andoroid Studio公式サイト

一つだけを選定しました。細かい機能の使用方法まで記載がありますので、不明点がある場合は頻繁にサイトを除いてみましょう。

Androidアプリ開発の個別指導なら『Tech Teacher』

引用元:Tech Teacher

このBlogを運営するTech Teacherは、Androidアプリの開発を学習する社会人を対象に、初心者から挫折した人まで、一人ひとりの目的や学習状況にあわせた個別指導を行っています。

また、オンライン指導も選べるので、自宅でも対面でも受講できます。

一人ひとりに最適化された完全マンツーマン指導を提供

完全マンツーマン指導で着実に身につく!

Tech Teacherでは専任の教師が完全マンツーマン指導を行います。
学習状況や目標をしっかり把握した教師が、生徒様のご要望もふまえながら最適なオーダーメイドの指導をご提供します。

お仕事と両立しながら続けられる!

Tech Teacherなら、受講日時や回数を生徒様のご都合に合わせて柔軟に調整することができます。
そのため、お仕事との両立がしやすく、プログラミング学習を継続的に学習することができます。忙しい合間にプログラミングを学びたいという方におすすめです。

授業料は受けた分だけ!

Tech Teacherでは、生徒様が受けた授業の時間分だけ後払いで請求させていただきます。そのため、気軽にプログラミングの学習を始めることができます

以下のボタンからさらに詳しい情報をご覧いただけます。

まとめ

 本記事ではAndroidアプリの開発概要と使いやすい開発ツールについて説明しました。開発ツールはAndroid Studioを取り上げ、簡単な操作方法を説明しました。