ページ)本連載では、バージョンの違いに左右されないスタンダードなアーキテクチャで、セキュリティやパーミッション、テストのしやすさ、開発効率の向上などを考慮した、実業務で使えるAndroidアプリ開発のノウハウを提供していきます。初回は、連載の今後を紹介し、アプリ間連携でさまざまなことができるACTION_OUTSIDEイベントの使い方を解説します。今回から始まる本連載「実業務でちゃんと使えるAndroidアプリ開発入門」は、2008年12月から2015年まで約7年連載していた「Androidで動く携帯Javaアプリ開発入門」の後続となるものです。以前の連載同様、下記のことは守っていきたいと思います。動作可能なサンプルアプリを提供し、動かしながら内容を理解できることサンプルの完全なソースコードが提供されること画像をふんだんに用い、必要に応じて動画も利用し理解を助けること本連載と以前の連載では、コンセプトにおいて以下のような変更点があります。Wearなどの機能一覧をまとめていましたが、今後はそうした特集記事は本連載とは別にまとめます。本連載では、新しいAPIにとらわれず、バージョンアップデートに左右されない基本となる部分の作り方を取り上げていきます。4.xもまだまだ現役です。4〜6で安定して動くアプリの作り方を解説します。ソースコードはGitHubで、動画はYouTubeで公開する以前の連載では、ソースコードはZip形式で提供して、動画はFLVだったりMPEGだったりしましたが、本連載ではGitHubとYouTubeを用います。GitHubとYouTubeのチャネルのURLはそれぞれ以下の通りです。Studioのデフォルト設定とします。ソースコードは分かりやすさを優先し、エラー処理や例外処理は省略することがあります。サンプルコードを流用したい場合は必要に応じて補ってください。本連載のサンプルコードのライセンスは全てMITです。ソースコード内に他者の実装を取り込んでいる場合は取り込み元のライセンスに従います。連載の内容は現段階では以下のようなものを想定しています。バージョンの違いに左右されない、スタンダードなアーキテクチャで、セキュリティやパーミッション、テストのしやすさ、開発効率の向上などを考慮した、実業務で使えるAndroidアプリ開発のノウハウを提供していきます。Activity、Fragment、ViewおよびアプリのライフサイクルとコールバックこれらはAndroidアプリ開発における基本ではありますが、何となく曖昧なまま開発し続けてしまっていることも多いため、この機会にきちんと復習してもらいたいです。図、説明、ソースコード、動作するアプリが提供される予定なので、完全にマスターできると思います。アプリデータやシステムを守るためにアプリが守らなければならないデータというのは意外とたくさんあると思います。個人情報やユーザーデータ、システムやサービスにアクセスするためのパスワードやトークンなどが該当します。守らなければならないシチュエーションもさまざまですが、この回は悪意あるユーザーがアプリをクラッキングしようとしている、という想定での対策を検討してみようと思います。SDKと好みのエディタ、それとターミナルで開発を進めることも可能です。SDKには開発に必要なコマンドが実行ファイルとして含まれているのですが、この中でこの回ではadbコマンドにフォーカスを当てて、開発中に使用すると効率が上がるものを紹介していきます。その使い分け方は?AndroidにはContextを引数に取るメソッドが多数存在します。この回ではContextとは何か、またどのContextを使用すべきかを学習していきます。メモリリークを防ぐためにAndroidアプリはJavaで実装されているため、メモリリークなんて起こらない、ということならよかったのですが、実際はそんなことはありません。Androidアプリのメモリリークはちょっとしたことで起こります。習得し、長時間安定して動作するアプリが作れるようになりましょう。6で変更されたパーミッションモデルに対応する従来のアプリは、インストール時に必要なパーミッションがユーザーに提示され、合意を経てインストールされます。6からはこれが可能になります。ユーザーによってパーミッションが取り消された場合、アプリはどのような動作になるのか、どのように振る舞わなければならないかを、サンプルを通して学んでいきます。今回は、本連載のコンセプトの一例として、ACTION_OUTSIDEイベントの可能性について取り上げます。ACTION_OUTSIDEとSYSTEM_ALERT_WINDOWで一風変わった常駐アプリを作るさて、連載第1回目で取り上げるテーマは、ACTION_OUTSIDEとSYSTEM_ALERT_WINDOWを組み合わせた常駐アプリです。ACTION_OUTSIDEイベントは公式レファレンスの説明が不十分であるため、つい見落とされがちで活用されていないイメージかもしれません。実は極めて有効に利用することができる優れたイベントです。ここでは、このイベントの具体例をサンプルアプリで示して、このイベントの可能性を提示してみます。百聞は一見にしかず、まずは以下の短い動画を見てください。この常駐アプリは、「ブラウザ上でトリプルタップを検出したら、ホーム画面を表示する」という動作をします。ACTION_OUTSIDEを使いこなすと、何ができるようになるのか今回のサンプルはブラウザからホーム画面を起動するようにしていますが、以下のような応用が可能です。ブラウザに限定せず、任意のアプリを選択可能アプリを起動するだけにとどまらず、任意の処理を実行可能トリプルタップ以外のアクションに変更可能(制限については後述)つまりは以下のような応用が可能になります。任意のアクションでTwitterとFacebookを行ったり来たりするWi-FiのON/OFFやマナーモードなどをいつでも素早く切り替えたい任意のアクションで任意の文字列をいつでもクリップボードにコピーする任意のアプリで任意のアクションを行うと、メニュー的なViewを表示するこの仕組みのポイントとなるのが、他のアプリがインタフェースを提供していなくても対象のアプリを拡張できてしまうところです。サンプルアプリのダウンロードサンプルアプリは以下よりダウンロードしてください。https://github.com/satosystems/atmarkit-android/blob/master/No01/No01.apk?raw=trueサンプルアプリのソースコード今回のサンプルのソースコードは以下にあります。git@github.com:satosystems/atmarkit-android.git繰り返しますが、本連載のソースコードは全てGitHubで公開していきます。記事本文では説明し切れない部分もあるため、気になる部分はソースコードを確認してみてください。今回の実装はActivityとService合わせて200行程度にまとめてあり、非常にコンパクトで理解もしやすいでしょう。それではアプリの詳細を説明していきます。米グーグルは、Androidの次期版「Nリリース」の開発者向けプレビューを公開した。1.0」がリリースJetBrainsが主導して開発を進めるJVMとAndroid用のオープンソースプログラミング言語の正式版がリリース。既存のコードやインフラとの相互運用性を重視した実用的なプログラミング言語だという。2.0」のβ版を発表した。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。