Vol.253

ツールやドキュメントの進化を知ろう!過去から学ぶAndroid開発の今【初心者向けアプリ開発3分tips】

  • Facebookシェアボタンシェア0
  • このエントリーをはてなブックマークに追加ブックマーク0

スクール講師がアドバイス!初心者のためのアプリ開発3分tips アプリ開発スクール『RainbowApps』日本で初めて、プログラミング受講料の無料提供を始めたアプリ開発スクール。iPhone、Android、Unity、HTML5、AWSコースを展開しており、受講用のMac完備、初心者・未経験者から受講OK。特徴は、大手IT企業からベンチャーまで、受講後の就職・転職もサポートしている点だ。全国で教室を開いているほか、オンライン講座も展開中。詳しい情報はコチラ

こんにちは、日本最大のアプリスクール『RainbowApps』でAndroid講師を担当している曽川義英(そがわ・よしひで)です。本連載では、iOS、Android、Unityなどのアプリ開発について、初心者向けの内容を『RainbowApps』講師陣が分かりやすく解説していきます。

第4回目は、Androidアプリ開発についてです。

第2回の記事では、Androidの歴史についてちらっと触れましたが、今回は歴史とともにAndroid開発がどう変わってきたかについて紹介します。

【1】Google Play開発者サービスとは?
【2】Fragmentの登場
【3】バージョン差分の対応が楽になるSupport Library
【4】変わっていくテーマ
【5】見逃してはいけない「Depricated」
【6】開発環境も変わる
【7】徐々に増えるタブレットユーザー

【1】Google Play開発者サービスとは?

皆さんのAndroid端末にはどんなアプリが入っていますか? Androidの「設定」→「アプリケーション」で確認してみましょう。インストールされたアプリや、最初から入っているアプリが確認できます。

次は「すべて」という項目で確認してみましょう。この中に『Google Play開発者サービス』という見慣れないアプリが入っているのがお分かりになりますか?

このアプリは位置情報、広告、PUSH通知、マルウエア検出などを担ってくれる、ユーザー、開発者ともに非常にうれしいアプリです。

開発者はGoogle Play servicesというライブラリを用いてこのアプリと連携し、先ほどの機能を実装できます。自動的にインストールや更新が行われるため、ユーザーに特別な操作をしてもらう必要はありません。

以前は自力で作るかOSのアップデートを待つかしかなかった機能を、Google Play開発者サービスによって比較的楽に実装できるようになりました。

>> Android DevelopersのGoogle Play servicesに関する公式ドキュメント

【2】Fragmentの登場

Fragmentは、Android3.0(Android初のタブレット)から導入された概念です。

Fragmentが登場する前は、広告の表示、通信の開始・キャンセルなどのライフサイクルに関する処理や、画面表示に関する処理は、全てActivityに実装していました。

そのためActivityがいろんなクラスと複雑に絡み合い、数千行の特大コードができ上がるなど、メンテナンスが難しくなるケースがありました。

そこで登場したのがFragmentです。FragmentはActivityの画面や動作の一部を担当するという機能を持っています。そのため、1つのActivity内で

■画面上部の処理は「UpFragment」に
■画面中段の処理は「MiddleFragment」に
■広告の処理は「AdFragment」に

というような形で、複数のFragmentを組み合わせて表示できます。

このように、Fragmentを組み合わせて1つの画面を作るので、ある画面では「UpFragmentは必要だけど、AdFragmentはいらない」というような別の要望にもコードを大幅に書き換えずに対応できます。

>> Android Developer サイトのFragmentについての詳細資料

私も以前、Fragmentについての講演をしましたので、こちらも参考にしてください

>> 今からでも間に合うFragmentセミナー

【3】バージョン差分の対応が楽になるSupport Library

Androidはこれまで多くのバージョンアップをし、さまざまな機能を追加してきました。しかし、必ずしも最新のAndroid OSにバージョンアップされるわけではありません。そのため、ある人は最新のOSを、ある人は数年前のOSを使用する問題が発生しました。

その問題を解決するために登場したのがSupport Libraryです。このライブラリは、古いOSでも新しいOSの機能を使うことを目的にしたライブラリです。

例えば、先ほど説明したFragmentはAndroid3.0から導入されたため、それより前のバージョンでは使用できません。しかしSupport Libraryを使用すると、Android3.0未満の端末でもFragmentを使用できます。

Support Libraryの機能はかなり強力です。幅広いユーザーに向けてアプリを届けるためにぜひ利用してください。

>> Android DevelopersのSupport Libraryに関する公式ドキュメント

【4】変わっていくテーマ

Androidの全体的な雰囲気を決める「テーマ」もいくつか存在します。

Android 3.0から はHoloというテーマが導入されました。HoloにおいてActionBarは特徴的で、アイコン、タイトル、アクションボタンなどが上部にまとめられました。

>> Android DevelopersのActionBarに関する公式ドキュメント

そして最新のOSである5.0(Lolipop)では、Googleが提唱する新しいMaterialデザインを取り込んだMaterialと呼ばれるテーマが登場しました。

AndroidにおいてはHoloテーマを継承しつつ、影やアニメーションなどを使いアプリを使用する楽しさ、一貫性を追求しています。

【5】見逃してはいけない「Depricated」

Android OSのバージョンアップに従って、不具合やある事情で使えなくなるクラスやメソッドがあります。このようなクラスやメソッドは、deprecated(非推奨)という形で公式ドキュメント上に記載されます。

Webを表示するWebViewは脆弱性のあるメソッドなどが非推奨になっています。

>> WebViewに関する公式ドキュメント

非推奨となったクラスやメソッドを使い続けることは、脆弱性のあるアプリとなり攻撃を受けたり、新しいOSで正しく動作しなくなる可能性があります。

新しいOSがリリースされた際は必ず確認しましょう。正しいコードを保つには以下のような方法を採ってみてください。

■OSバージョンアップによるAPIの差分を確認する。

>> Android API Differences Report

■Lintを使ってコードの警告を表示する。

>> Improving Your Code with lint

【6】開発環境も変わる

これまでAndroidを開発するにあたっては、Eclipseを利用するのが主流でした。ですが、EclipseよりもAndroid開発に最適化されたAndroid Studioが登場しました。

Android Studioを使用すると、以下の様な点が便利になります。

■アプリの開発版、リリース版を簡単に切り替えられる
■画像や色のプレビューが簡単にできる
■ライブラリの取り込みが柔軟にできる

など。

今はベータ版ですが、Googleとして推している開発環境なのでぜひ使ってみてください。

>> Android Studioのダウンロード

【7】徐々に増えるタブレットユーザー

近年、タブレット端末を使うユーザーが増えています。使用する状況としては、PCの代わりとして使用したり、就寝前のひとときに使用したりなど屋内が多いです。最近では幼稚園や小学校など教育機関に向けて導入されることもちらほらあります。

Androidは3.0からタブレットへの対応を続けています。Google Playにおいても7インチ、10インチのタブレット用画像をアップロードできます。これらの画像を用意することでGoogle Playでの露出が多くなります。

【まとめ】

Androidを取り巻く環境はこれからも加速していきます。最近のGoogle I/Oでは車を制御したり、ウエアラブル端末にAndroidが採用されるという発表がありました。

これからも変化についていくことがエンジニアにとって最も重要です。昔5年やった人よりも、今1年やっている人の方が価値が高くなることもあります。ぜひ過去を知り、今に活かしてもらえればと思います。

【講師プロフィール】
RainbowApps講師
曽川義英(そがわ・よしひで)

1985年生まれ。愛媛県出身。2010年、ナビタイムジャパンに入社。乗換NAVITIMEなど新規立ち上げプロジェクトを経験する。2013年からリクルートライフスタイルで業務委託と並行して、RainbowAppsでAndroid講師を担当。2013年末にチームEGG株式会社を起業し、リズムゲーム『ビート&マジシャンズ』に力を入れている。最近話題のクラウドファンディングにも挑戦中。

>>連載バックナンバー:初心者向けアプリ開発3分tips

この記事が気に入ったらいいね!しよう

エンジニアtypeの最新情報をお届けします
  • Facebookシェアボタンシェア0
  • このエントリーをはてなブックマークに追加ブックマーク0

RELATED POSTS関連記事

JOB BOARD編集部おすすめ求人

この記事に関連する求人・キャリア特集

  
 @type新規登録キャンペーン
記事検索


アマゾン ウェブ サービス ジャパン株式会社 クラウドサポートエンジニ…

アマゾン ウェブ サービス ジャパン株式会社 クラウドサポートコンサルタン…

日本マイクロソフト株式会社 【マイクロソフトサポートエンジニア】トップ…

株式会社ドワンゴ【ポジションマッチ登録】 オープンポジション

日本アイ・ビー・エム株式会社 IoTエンジニア/コンサルタント■IoT技術で…

株式会社トラスト・テック【東証一部上場】 テスト・実験エンジニア(自…

株式会社スタッフサービス エンジニアリング事業本部(リクルートグルー…

株式会社 新興技術研究所 機械設計/CAD知識を活かせる/実務未経験歓迎/海…

株式会社 新興技術研究所 電気制御技術スタッフ/実務未経験歓迎/年間休…

株式会社トラスト・テック【東証一部上場】 CADオペレーター/未経験者歓…

英文メールでよく見る「略語」の意味は? 海外エンジニアに聞い...

「クオリティー最優先」 CygamesのCTOが説く“ヒット...

データアナリストになる方法~コンサル型かエンジニア型か?ビッ...

なぜ、いまだ7割のITプロジェクトが失敗するのか? 「再生人...

Xcodeの使い方~Swiftからはじめるアプリ開発の基礎【...

>>過去のエンジニアtypeのページはこちら