AndroidプログラミングBibleについて

Androidは、スマートフォンやタブレットPCなどの携帯情報端末を主なターゲットとしたプラットフォーム(OS)で、Linuxカーネル層、ライブラリ層、Androidランタイム層、アプリケーションフレームワーク層、アプリケーション層などで構成されます。Androidのアプリケーションを開発するための言語はJavaとXMLです。 AndroidやiPoneなどのスマートフォンやiPadなどのタブレット端末のユーザーインターフェースは指のタッチを基本とし、カメラやセンサを内蔵し、音声認識・音声合成などが簡単に利用できる画期的なコンピュータです。マウス、キーボード、ディスプレイが主なユーザーインターフェースとするパソコンとは大きく異なります。「コンピュータ=パソコン」の時代から「コンピュータ=スマートフォン、タブレット端末」の時代に急速にパラダイムシフトしようとしています。スマートフォンは子供から女性、シニアまでの広い層に渡って、今までのパソコンユーザとは比べ物にならない数のユーザが見込まれます。 スマートフォンをiPone VS Androidという構図で見た場合どちらにもメリット、デメリットがあり、一概にどちらが良いとは言えません。アプリケーションの開発言語の違いで見るとiPone(OS名はiOS)はObjective-C、AndroidはJavaです。Objective-Cはややマイナーな言語であるのに対しJavaはネットワーク関連ではメジャーな言語であるということです。このため数多くいるJava経験者にはAndroidの方が移行しやすい環境であると思います。 本書はAndroidのアプリを開発することを目的にしていますので、話をAndroidに絞ります。Androidは2007年にGoogleを中心にした規格団体 「Open Handset Alliance」から発表され、2008年からAndroid対応のスマートフォンが多数販売されるようになりました。また、アプリケーションマーケットであるAndroid Marketが提供されていて、2011年5月時点で有料、無料含め30万を超えるアプリケーションが提供されています。Android Marketを通して企業だけでなく、一般ユーザーが自作のアプリケーションを販売することができる点もいままでにない利点です。つまり、ソフト会社の技術者以外にも、学生を中心に一般の人でもAndroidアプリで商売ができるようになる可能性がありAndroidアプリ市場は今後急速に普及すると思います。 本シリーズは、Androidアプリを開発するための基本的なテクニックをすべて網羅するように34の章(カテゴリ)に分類し、「初級 基礎編」、「中級 Android的プログラミング法」、「上級 各種処理」の3分冊で構成しています。 34の章というのはかなり多い章分けですが、細かく章分けをすることでカテゴリが分かり易く、各章のサイズは小さくなり初心者には、ひとつのまとまった単位がボリュームが少ないので、取りかかり易くなります。また、章の順序ではなく、知りたい章を先に学習することもできます。 既存の書籍やネット上の情報は重要な内容とそうでない情報がまぜこぜになっていたり、このプログラムをどこに書けばいいのかが曖昧だったり、サンプルが長すぎたりなど、初心者には理解しにくい内容が多いです。本シリーズではAndroidアプリを作る上で必要な技術的要素やテクニックを切り出し短いサンプルを付けて簡潔に提示します。


AndroidプログラミングBible 【初級 基礎編】(発売中)

AndroidプログラミングBible 【初級 基礎編】

「初級 基礎編」は何らかの言語でプログラム経験はあるが、JavaやAndroidアプリを初めて勉強する人を主な対象とします。Androidアプリを作るためにはJavaとXMLの知識が必要になります。JavaやXMLを本格的に学ぶにはそれぞれ入門書が必要になります。本書ではAndroidアプリを作りながらJavaもXMLも手っ取り早く学べるように工夫してあります。そこでまず、Androidグラフィックスを利用して画面に文字、直線、イメージなどを描画するプログラムを例にJavaの基本的な言語仕様について2章で学びます。AndroidではテキストビューやボタンなどのGUI部品をウイジェット(Widget)と呼んでいます。ウイジェットはmain.xmlというXMLファイル中で定義します。3章ではウイジェットを例にXMLについて学びます。4章ではウイジェットを配置するレイアウトについて説明します。5章ではXMLを使わずにウイジェットやレイアウトをJavaコードで記述する方法を説明します。6章、7章ではウイジェット以外のユーザーインターフェースとしてメニュー、トースト、ダイアログ、ログについて説明します。8章、9章では画面のタッチで発生するタッチイベント、キー操作で発生するキーイベントなどの各種イベント処理について説明します。ということで本書は次のような章の構成となります。
1章 JavaによるAndroidアプリの作り方
2章 AndroidグラフィックスによるJava入門
3章 ウイジェットとXML
4章 レイアウト
5章 main.xmlを使わずにレイアウトする
6章 メニュー
7章 トースト、ダイアログ、ログ
8章 タッチイベント
9章 キーイベント、フォーカスイベント


AndroidプログラミングBible 【中級 Android的プログラミング法】(発売中)

AndroidプログラミングBible 【中級 Android的プログラミング法】

「初級 基礎編」はグラフィックスやウイジェットを例にJavaやXMLの一般的なプログラミング法を説明しました。「中級 Android的プログラミング法」はAndroidの特徴を生かしたプログラミング法を説明します。Andoroidアプリケーションを構成するコンポーネントとして、アクティビティ、サービス、ブロードキャストレシーバーがあります。これら3種類のコンポーネントを起動するのにインテントを使います。これらについて10章~14章で説明します。アプリケーションのコードが実行される前に、Androidシステムにアプリケーションに関する必要不可欠な情報を伝える必要があります。これらの情報をJavaコードではなくマニフェスト(AndroidManifest.xml)に記述することでコードが実行される前にAndroidシステムに情報を伝えることができます。すでに個々のマニフェストの使用例は示していますが、15章で系統的に説明します。基本ウイジェットについては「初級 基礎編」で説明しましたが、基本ウイジェットを機能強化したウイジェット、小物ウイジェット、高度なビュー系ウイジェットについて16章~18章で説明します。アプリケーション・ウイジェットとはホーム画面に直接貼り付けて利用できる小規模アプリケーションで19章で説明します。マルチメデイアを扱うウイジェットとしてMediaPlayerとVideoViewがあり20章で説明します。リソースをイメージや文字列としてアプリケーションから常に外部化しておくことにより、それらを独立させて保持することが可能となります。21章では文字列リソース、カラー状態リストリソース、Drawableリソース、メニューリソース、レイアウトリソース、スタイルリソース、その他のリソースについて説明します。アニメーションリソースについては22章で説明します。ということで本書は次のような章の構成となります。
10章 インテント
11章 Thread,Handler,Message
12章 サービス
13章 ブロードキャストレシーバ
14章 コンテンツプロバイダ
15章 マニフェスト
16章 基本ウイジェットを機能強化したウイジェット
17章 小物ウイジェット
18章 高度なビュー系ウイジェット
19章 アプリケーション・ウイジェット
20章 マルチメデイア
21章 リソース
22章 アニメーション


AndroidプログラミングBible 【上級 各種処理】(発売中)

AndroidプログラミングBible 【上級 各種処理】

「中級 Android的プログラミング法」はAndroidの特徴を生かしたプログラミング法を説明した。「上級 各種処理」はグラフィックス、ファイル処理、Googleのメール、マップサービス、センサー、カメラなどのハードウエア制御、音声認識・音声合成、ネットワーク通信などの個別の処理について説明します。 グラフィックスについては「初級 基礎編」で説明してありますが23章でさらに詳しく説明します。ダブルバッファリングという手法を用いて表と裏の画面を切り替えながら描画処理を行うSurfaceViewやグラフィックス処理のためのアプリケーションプログラミングインタフェースのOpenGLなどの高度なグラフィックス機能について24章、25章で説明します。 Androidはファイルを作成することができる権限を持つ特別なディレクトリに対しファイルの読み書きが行えます。ファイルに対する読み書きの方法、ファイル名リストの取得方法やディレクトリの操作方法などについて26章でを説明します。AndroidではSQLiteというデータベース管理システムを組み込んでいて、APIを使用してアプリケーションから利用することができます。SQLiteについて27章で説明します。 Google社によるフリーメールサービスのGmailや地図サービスのGoogleMapなどのサービスをAndroidで利用する方法について28章、29章で説明します。 Android端末には加速度センサ、磁界(磁気)センサ、方位センサ、ジャイロセンサ、輝度(照度)センサ、圧力センサ、温度センサ、近接センサなど各種センサーが搭載されています。30章でこれらセンサーの使い方を説明します。カメラの撮り方や画像の保存方法、フォーカスの設定方法などの基本処理、 撮影した写真に日付をプリントしたり、撮影画像の上にイメージや手書きの絵を書き入れるといったオーバーレイ機能についてなどを31章説明します。 Androidでは音声認識や音声合成(テキストの読み上げ)を簡単に行うことができます。音声認識ライブラリをインテント経由で使用することで、音声認識プロンプトが表示されますので、マイクに向かって話しかけると音声認識が実行されます。音声認識、音声合成について32章、33章で説明します。 ネットワーク通信を行うための主な方法としてHTTPとソケットがあります。HTTPは、Web のサーバと、クライアント(ブラウザ)の間で、ウェブページを送受信するためのプロトコルです。ソケットは自分のコンピュータと相手のコンピュータをソケットで接続し双方向でデータの受発信を行います。34章でこれらのネットワーク通信の方法を説明します。ということで本書は次のような章の構成となります。
23章 グラフィックス
24章 SurfaceView
25章 OpenGL
26章 ファイル処理
27章 SQLite
28章 Gmail
29章 GoogleMap
30章 センサー(実機のみ)
31章 カメラ(実機のみ)
32章 音声認識(実機のみ)
33章 音声合成(実機のみ)
34章 ネットワーク通信


Androidプログラミング完全入門(発売中)

Androidプログラミング完全入門

本書は何らかの言語でプログラム経験はあるが、JavaやAndroidアプリを初めて勉強する人を主な対象とします。Androidアプリを作るためにはJavaとXMLの知識が必要になります。JavaやXMLを本格的に学ぶにはそれぞれ入門書が必要になります。本書ではAndroidアプリを作りながらJavaもXMLも手っ取り早く学べるように工夫してあります。 そこでまず、Androidグラフィックスを利用して画面に文字、直線、イメージなどを描画するプログラムを例にJavaの基本的な言語仕様について2章で学びます。次にボタンやテキストビューなどのウイジェットをXMLで記述する方法を3章で学びます。ここまでがJavaとXMLの基本事項になります。4章、5章、7章、8章でウイジェットの配置方法作や使い方をさらに説明します。Android的プログラミングの基礎としてタッチイベント、インテントとアクティビティ、Handlerとサービスについて6章、9章、10章で説明します。各種処理としてサウンドとムービー、アニメーション、グラフィックス、ファイル処理について11章~14章で説明します。Android特有の機能としてGoogleMap、センサーとカメラ、音声合成、音声認識について15章~18章で説明します。最後にプログラミング力をアップするために19章でリバーシーゲームを段階を追って作成します。ということで本書は以下のような章構成となっています。
1章 JavaによるAndroidアプリの作り方
2章 AndroidグラフィックスによるJava入門
3章 ウイジェットとXML
4章 レイアウトとGraphical Layout
5章 main.xmlを使わずにレイアウトする
6章 タッチイベント
7章 トースト、ダイアログ
8章 各種ウィジェット
9章 インテントとアクティビティ
10章 Handlerとサービス
11章 サウンドとムービー
12章 アニメーション
13章 グラフィックス
14章 ファイル処理
15章 GoogleMap
16章 センサーとカメラ(実機のみ)
17章 音声合成
18章 音声認識(実機のみ)
19章 リバーシーゲーム
本書の各節は、基本的に「文法や概念の説明」、「例題」、「練習問題」という3つで構成し、初心者がステップを踏んで学習できるように配慮しました。本書一冊でAndroidの基礎すべてが完全理解できます。 これからAndroidアプリの開発を志す方々にとって、本書が少しでもお役に立てば幸いです。

電子書籍の販売方法

購入希望の方は以下のメールアドレスに連絡してください。個別に対応いたします。
asao.kasai@gmail.com

Androidアプリを作るための環境設定

Androidアプリを作るのに必要なものはAndroid SDKとJava開発環境のEclipseです。 環境設定作業の概要はまずAndroid SDKとEclipseをそれぞれインストールします。その後Eclipseを起動しAndroid SDKのpluginをEclipseにインストールします。Eclipseのインストール時にJRE(Java Runtime Environment)もインストールしますので、基本的にはJava SE(Standard Edition) Development Kitはインストールしなくても良いです。

2015年3月最新バージョン


2014年3月最新バージョン


2013年2月最新バージョン


2012年2月最新バージョン


Androidバージョンによる差異と注意点

Androidは、スマートフォン向けの「Android 2.x」、タブレット端末向けの「Android 3.x」と分かれていましたが、Android 4.0は2つを統合し、スマートフォンやタブレット端末、それ以上の大型の機器にまで使われる予定のOSです。 2013年3月での最新バージョンはAndroid 4.2(Jelly Bean:API17)です。

Android 4.2+Eclipse 4.2でのAndroidアプリの作り方


Android 4.2


Android 4.0


Javaについて

Javaは1995年にSun Microsystems社が開発した言語で、C++をベースにしています。C++が持つポインタ、多重継承といった機能をはずしたより洗練されたオブジェクト指向言語です。 Javaはインターネット関連の開発言語として普及しています。
著者のJava関連の著書
Java入門(1996年、技術評論社)
改定新版 Java入門(1998年、技術評論社)
入門ソフトウエアシリーズJava言語(2001年、ナツメ社)
やさしいホームページの作り方シリーズiモード対応Javaで作るiアプリ(2001年、ナツメ社)
New Languageシリーズ標準Javaプログラミング(2001年、技術評論社)
New Languageシリーズforte for Javaプログラミングガイド(2001年、技術評論社)
Javaによるはじめてのアルゴリズム入門(2001年、技術評論社)
ムービーで学ぶJava初級教室(2004年、技術評論社)