Categories: Android Studio

Androidアプリ開発をするには?プログラミング学習にも最適!

スマホのユーザーであれば、必ず使っているスマホ用アプリ。

普段、あまり意識したことはないと思いますが、スマホアプリは個人でも開発することが可能で、もちろんアプリストアでリリースすることも可能です。

スマホアプリの中には、AndroidアプリとiOSアプリがありますが、当サイトではAndroidアプリに関する情報を発信しています。

アプリを開発するためには、プログラミングスキルが必須であり、開発環境も整える必要がありますが、現代は個人でスマホ用アプリを開発し収益を得ることが可能な時代なのです。

この記事では、Androidアプリを開発するために必要な事柄について、紹介します。

当サイトは、過去、Android向けのアプリをGoogle Playでリリースした実績があります。(DL数は5未満のため、収益の観点では未成功です。ただし、その経験から得られたものは計り知れません。)

Androidアプリとは

この章では、Androidアプリについての基本的な内容を紹介します。

Androidスマホで使うアプリ

Androidアプリは、Androidスマホ上で動作するアプリのことです。基本的に、Google Playでリリースされますが、Androidスマホは規制が厳しくないため、Google Play 以外のルートからでも提供することができます。

各スマホのユーザー設定で「不明なアプリをインストール」の項目が許可されていれば、Google Play以外のルートからでもインストールすることができます。(たとえば、通常のWebページなどです)

なお、設定状況によっては、Amazonが提供している「Fireタブレット」でも使うことができるようです。

Fireタブレットは純粋なAndroidOSは搭載されていませんが、ベースはAndroidです。

Androidアプリはプログラム

Androidアプリとはプログラムの塊です。これは、Androidに限定した話ではありませんが、すべてのアプリケーションはプログラムで動作しています。

つまり、Androidアプリを開発するには、プログラミングスキルが絶対的に必要です。

Androidアプリの市場

AndroidはGoogleが提供するOSであり、本国の米国はもちろん、日本、世界中で使われているプラットフォームです。

世界のシェアでは、iOSを抑え圧倒的なシェアを誇りますので、世界最大のモバイルプラットフォームといえるでしょう。なお、Androidアプリを開発しリリースする際には、リリース国をアプリ開発者が選択することができます。

つまり、個人が開発したAndroidアプリは日本以外の国へもリリースすることができるのです。言語の壁が存在するとは言え、夢が広がる事実ではないでしょうか。

どうやってAndroidアプリを開発するのか

この章では、Androidアプリ開発についての初歩的な内容を紹介します。

Android Studioという開発ツール

前章で紹介した通り、Androidアプリはプログラムで出来ています。

Androidアプリを開発するためには、アプリ開発(プログラミング)の環境が必要になるのですが、Androidアプリを開発するための開発ツール「Android Studio」がGoogleから提供されています。

開発からデバッグ、アプリ生成まですべて行える統合開発環境となっていますので、3Dモデルを駆使した大規模なゲームなど以外であれば、通常はAndroid Studioを使ってAndroidアプリを開発することになります。

なお、制作中のアプリは、Android Studioのエミュレーターという機能を使って、パソコン上の模擬のAndroid端末で動作確認をすることが可能ですが、Androidスマホがあれば、パソコンと接続して、実際にAndroidスマホ上で動作確認をすることができます。

Androidスマホが1台あると、開発も捗るでしょう。

パソコンのスペック

当記事執筆時点(2022/7)のAndroid Studioをインストールするための要件(パソコンスペック)は下記の通りです。

<公式>

  • 64ビット版のWindows8,10,11、またはLinux、MacOS、ChromeOSのいずれかを搭載したパソコン
  • x86_64 CPU アーキテクチャ、第 2 世代の Intel Core 以降、または Windows Hypervisor をサポートする AMD CPU
  • メモリ8GB以上
  • 8GB以上の空き容量
  • 1,280×800以上の画面解像度

公式では以上となっていますが、わかり易く補足します。

まず、WindowsOSについては、いまだ8も対象となっていますが、現時点で8は厳しいでしょう。また、CPUについては、せめて第5世代以降のi5相当は欲しいところです。

メモリは、8GBでも困ることはないと思いますが、16GBが望ましいです。結論、当サイトから推奨するスペックは下記の通りです。

<当サイトの推奨>

  • Windows10,11、またはLinux、MacOS、ChromeOS
    WindowsはHome Editionでも可
  • CPU:第5世代以降のi5相当以上
  • メモリ:16GB
  • 8GB以上の空き容量
  • 1,280×800以上の画面解像度

特にこれからパソコンを購入する予定であれば、出来るだけ上記のスペックは確保したいところです。

プログラミングスキル

Androidアプリを開発するうえで、最低限必要になるのがプログラミングスキルです。

Android Studioでは、アプリの画面上にボタンを配置したり、ボタンに文字を表示させたりといった基本的なデザインは、直感的に操作することができますが、それぞれのボタンをクリックしたときの挙動は、プログラミングコードで記述する必要があります。

ボタンなどを配置するだけでは、アプリとして機能しませんので、最低限のプログラミングスキルは必須です。

現時点で、プログラミングスキルがまったく無い方は、ぜひAndroid Studioを使った簡単なアプリを開発して、プログラミングスキルを習得することを目指してください。

「計算機アプリ」ひとつ開発するだけで、プログラミングの基礎(3大要素や変数)は身に付く可能性があります。

正直に書きますが、プログラミングの分野には向き・不向きがあります。人間は万能ではないのです。そのため、アプリ開発に取り組んでも、必ずプログラミングスキルが身に付く訳ではありません。

Androidアプリ開発のための言語

この章では、Androidアプリ開発に必要なプログラミング言語について紹介します。アプリ開発にAndroid Studioを使うことを前提としています。

JavaとKotlin

GoogleがAndroidアプリ開発向けに提供している統合開発環境「Android Studio」でサポートしているプログラミング言語は、JAVAとKotlinの2種類です。

つまり、Android Studioを使ってAndroidアプリを開発するためには、JAVA・Kotlin、どちらかの言語でコーディングする必要があります。

JAVAとは

JAVAは、スマホやWebアプリ、業務アプリなど、様々な分野で利用されているプログラミング言語の代表的な言語です。毎年のプログラミング言語の人気ランキングでも、必ず上位をキープし、求人数も多いというメリットもあります。

また、次に紹介するKotlinよりも歴史があるため、インターネット上の情報も多く、初学者が学びやすい環境でもあります。

言語としてのJAVAはKotlinよりも複雑です。

Kotlinとは

Kotlinは、2011年に公開されたプログラミング言語です。JAVAを簡潔にしたようなコードになっており、実際にJAVAとの互換性もあります。(少し専門的ですが、JVM上でコンパイルされます)

正直、2016年以前は、無名のプログラミング言語だったかと思うのですが、2017年、GoogleはAndroidの公式言語としてKotlinを採用しました。さらに、JAVAよりも優先してKotlinファーストの推進も発表されました。

つまり、現在、Androidアプリを開発するのであれば、最も将来性の高い言語がKotlinです。

ただし、歴史が浅いため、インターネット上の情報は、まだ多くありません。プログラミングの初学者にとっては、この点がネックです。

どちらを選択するか

今から学習するのであれば、Kotlinがよいとは思うのですが、まだインターネット上の情報が少ないため、初学者には厳しいかもしれません。一方、JAVAであれば、ユーザーも多く人気も高い言語のため、学習のためのサンプルコードなどの情報も多いかと思います。

当サイトとしてオススメするのは、直感でもよいので、どちらかで一日も早く学習を始めることです。プログラミング言語の根幹は「プログラミング的思考」であり、プログラミング的思考はすべての言語に共通します。

ある程度、どちらかの言語を習得すれば、あとは書き方の違いだけで、他の言語も応用的に使えるようになります。例えば、JAVAからKotlinに移る場合には、『0から勉強し直し』ではないのです。

迷って数日間、場合によっては数カ月間、行動に移せないのであれば、そちらの損失のほうが大きいです。

大事なのは行動力です。一日でも早く行動するために選択した言語。

JAVAであれ、Kotlinであれ、そちらが正解と思います。

Androidアプリ開発に求められるスキル

この章では、Androidアプリ開発に求められる(プログラミング)スキルについて紹介します。

中級以上のプログラミングスキル

Androidアプリ開発をするためのプログラミングスキルは中級以上と理解しましょう。

プログラミング思考に向いているのであれば、簡単なアプリ(電卓や割り勘計算、じゃんけんゲーム)であれば、1週間程度で作れてしまうはずです。

ただし、Google Playでのリリースを考えているのであれば、様々な操作を想定してプログラミングしなければなりませんので、自分自身のアイデアをアプリ化するためには、いかに習得が早くても中級以上のプログラミングスキルは必要と理解したほうがよいでしょう。

難易度は高い

アプリの内容にもよりますが、Androidアプリ開発の難易度は高いです。(iOSと比較して、という意味ではありません)

たとえば、アプリ開発者の意図として「Aボタン→Bボタン→Cボタン」と順番にクリックされることを想定しても、いきなり「Cボタンだけ」がクリックされることも想定しなければなりません。

イメージしやすい例としては、「メッセージ欄にメッセージを入力せずに送信ボタンがクリックされる」などです。

このような操作を想定していないアプリでは、それだけでエラーが発生する場合もあります。

アプリ開発とは、このように基本動作を正確にプログラミングしたうえで、正しくない操作が実施された場合のことも想定しなければならないのです。

前記メッセージアプリの例の補足:このようなエラーを防止するため、「メッセージ未入力の状態では、送信ボタンが押せないようにする」などは有効な回避策です。

Androidアプリ開発の流れ

この章では、Androidアプリ開発の基本的な流れについて紹介します。

環境構築

Androidアプリを開発するうえで、まずはアプリ開発の環境を構築する必要があります。

この記事で紹介したスペックを満たすパソコンにAndroid Studioをインストールすることから始めましょう。

また、すでに触れていますが、開発中のアプリの動作確認を行ううえで、Androidスマホがあるとベストです。(無くてもパソコン上のエミュレーターで動作確認を行えますので、購入する必要はないと思います)

そして、Android Studioで使うプログラミング言語をJAVA・Kotlin、いずれかに決めておきましょう。

アプリの企画

アプリ開発の環境が構築できたら、次にアプリの企画に着手します。もし、学習が主な目的だったり、とにかく何らかのアプリを開発したいけど、具体的な案がない場合にはそれでも構いません。

具体的な案はなくても、まずは始める行動力こそ重要です。

インターネットや書籍で紹介されている「計算機アプリ」など、サンプルコードを見ながら手を動かすだけでも、十分に学習効果はあります。

まずは行動することでアイデアも生まれると信じて、サンプルアプリの開発を進めましょう。

アプリ開発

アプリの企画が済んだのであれば、画面構成や完成版の品質などをイメージして、まずは画面構成から進めていきます。

ボタンの配置やクリックされたときの動作、画面の切り替え条件、計算式などをプログラミングしながら開発を進めていきます。

Android Studioでは、パソコンとAndroidスマホを接続することで、開発中のアプリでも動かすことができます。その他、パソコン上で、Androidのエミュレーターを使って、動作確認をすることもできます。

このように、開発中のアプリの動作確認を行い、完成形のアプリの起動修正をしながら、完成に近づけていきます。

テスト

一旦、アプリの開発が終わったのであれば、最終的にテストを行います。様々なパターン下でもアプリが正常に動作をするか、もれなく確認をしましょう。(いわゆるバグが潜んでいないかの確認も行います)

たとえば、数値計算であれば、想定以上の桁数でエラーにならないか(桁数の制御がされているか)や、負の値でも正しい結果が導けるか、値がブランクで実行されてもエラーにならないか、など、様々なパターンでテストを行います。

特に個人開発であれば、自身のミスには気付きにくいもの。視野を広げてテストを行いましょう。

リリース

アプリ開発を終え、テストでも問題がなかったのであれば、いよいよGoogle Playからのリリースを進めます。

リリースについては、次章で紹介しますので、ご参照ください。

Androidアプリのリリースと管理

この章では、Androidアプリのリリースとリリース後の管理ツール等について紹介します。

Androidアプリをリリースするための資格

Google Playで、Androidアプリをリリースするのであれば、ご自身のGoogleのアカウントを「デベロッパー登録」する必要があります。

デベロッパー登録は1回限りの支払いですが、25$(ドル)必要となります。わたしも数年前にデベロッパー登録をしたのですが、確か審査のようなものは無かったように記憶しています。

Appleでデベロッパー登録をする場合には、毎年10,000円以上の費用が必要になりますので、Googleは格安と考えてよいでしょう。たった1回の支払いで、半永久的にアプリリリースの資格が得られるのです。

Androidアプリの審査

Androidアプリをリリースするためのデベロッパー登録をしたのであれば、いよいよ開発したAndroidアプリのリリースに向けて、まずはGoogleの審査を受ける必要があります。(アプリの審査です)

わたしの場合、コロナ禍の2020年に初めてのAndroidアプリを審査に出したのですが、コロナのため、審査が遅れる旨の連絡を受け、確か2週間程度で審査結果が来たと思います。

審査に合格した時点で、全ユーザーに対し、Google Playからインストールできる状態となります。

アプリのダウンロード結果がどうであれ、自分が開発したアプリがGoogle Playに並んだとき、自身の価値観なども変わると思います。

Play Console

Androidアプリのリリース後には、Play Consoleというデベロッパー向けの管理アプリを使って、ダウンロード数などを確認していきます。

Play Consoleでは、リリースしたAndroidアプリ毎に、ダウンロード数やアンインストール数、現在インストールされているスマホ数、クラッシュ数などを確認することができます。

Androidアプリから得られる収益

この章では、Androidアプリをリリースした後、アプリから得られる収益について紹介します。

Androidアプリ開発者側の収益

Androidアプリをリリースした際、Androidアプリ開発者側の収益は下記の通りです。

  • 無料アプリ・・広告料(広告有無は選択可)
  • 有料アプリ・・販売毎にアプリ価格の70%

無料アプリの場合は、基本的に広告が収益源になります。みなさんも無料アプリを使っている際、アプリ内で配信される広告を見たことがあると思いますので、イメージはしやすいかと思います。

なお、広告の有無はアプリ開発者側で設定することができますので、たとえば無料で広告もないアプリをリリースしても構いません。

一方、有料アプリの場合には、アプリ価格の70%がアプリ開発者側の収益となり、残りの30%はAndroidアプリのプラットフォームであるGoogle側の収益となります。

例:100円のアプリが1つ売れた場合は、開発者側が70円、Google側が30円の配分です。

Androidアプリ開発で発生する収益については、最低価格はなく、発生した収益は金額に関わらず、毎月、Googleから振り込まれます。

コラム:挑戦するメリット

今回は、個人でAndroidアプリを開発するための情報を記事にしてみました。

Androidアプリの開発に関心を持った方、まだプログラミングについて、全く知識がない方、様々いらっしゃるかと思います。

わたし自身、2019年に副業フリーランスとして個人事業主の届け出をし、Androidアプリの開発・リリースまで実現しましたが、結果、2つのアプリを合わせて、わずか2回しかダウンロードされませんでした。(有料で400円)

開発期間は、1日3時間程度の作業で約5ヶ月間、結果の収益は(400円×70%)×2DLで、わずか560円です。

でも、そのアプリをPRするために始めたWeb制作は、今、ブログメディアに形を変え、月間10万PVにまで成長することができました。

このメディアサイトの始まりは、Androidアプリ開発だったのです。

何かに挑戦すると、これまでの視野が大きく広がり、現代は個人でも様々なビジネスが出来ることに気付くでしょう。

たとえアプリ開発・販売はうまくいかなくても、別の分野で行動力は生きてくると思います。

Androidアプリ開発に関する記事は、大半は「プログラミングスクール」が配信している記事です。当記事は、プログラミングスクールへの勧誘や、何らかの商材を販売することが目的ではありません。実経験に基づいた、希少性の高い記事と思います。

Webs

元事務処理担当者として、プログラミングを活用した業務改善を推進している。プログラマ出身ではない事務職の現場目線で情報を発信。 その他、webs-studio.jpをメインに、複数のブログサイトを立ち上げており、合計で月間10万PVのメディア運営を行っている。 姉妹サイト一覧

Share
Published by
Webs