入門Google Androidプログラミング

入門Google Androidプログラミング

¥3,000+税

品種名
書籍
発売日
2009/9/18
ページ数
304P
サイズ
B5変型判
著者
柴田文彦、藤枝崇史、伊原頌二
ISBN
978-4-8443-2771-4

プログラマーよ、Android Marketで世界をめざせ! 実用サンプルで学ぶアプリ開発

無償のツールでアプリを開発、Android Marketで世界へ発信! 「Hello World!」からウィジェット開発、OpenGL ES & 加速度センサーを用いたゲームまでをサンプルをもとに初心者にもわかりやすく解説。SDK 1.5 r3対応。 ---- Google Androidは、携帯電話をはじめとした機器への組み込みを前提としたOSです。核となっているのはオープンソースで名高いLinuxであり、その上で動くアプリケーションはJavaを使って書きます。 アプリケーション開発に必要な情報はすべて公開され、作ったアプリはGoogleが開設した「Android Market」で誰もが頒布・販売できます。これにより世界各国で販売されているAndroid搭載端末のユーザーすべてが、アプリの潜在的な顧客となります。 本書は、これからAndroidアプリに取り組む携帯プログラマー向けに、その初歩から応用までを実用サンプルを中心に解説します。(本書カバーより)

「読者アンケートに答える」「読者プレゼントに応募」の場合もこちらをご利用ください。

アンケートに答える

書籍の内容に関するお問い合わせはこちら。お答えできるのは本書に記載の内容に関することに限ります。

ダウンロード

  •  

    サンプルプログラムのソースは以下からダウンロード可能です。

    入門Google Androidプログラミング-ダウンロード

  • 本文198~199ページに掲載いたしました「ContactList.xml」の内容に誤りがありました。2771-01.zipに正しいファイルを用意いたしましたので、これをダウンロードしてお使いください。

  • 当初公開させていただいたサンプルファイル(Chapter7.zip)に誤りが見つかりました。ここにお詫びするとともに修正後の新しいファイルを公開させていただきます。ご迷惑をおかけして大変申し訳ございませんが下記リンクから再ダウンロードをお願いいたします。

お詫びと訂正

誤記のためにご迷惑をおかけし、誠に申し訳ございません。

  • 11ページ 下から4行目
    • [誤]両者の間に潜在的な機能な差
    • [正]両者の間に潜在的な機能の差
  • 21ページ 1行目
    • [誤]最新版を選べいいでしょう
    • [正]最新版を選べばいいでしょう
  • 57ページ 17行目(下から2行目)
    • [誤]mail.xml
    • [正]main.xml
  • 82ページ 13行目(下から4行目)
    • [誤]前の章ので
    • [正]前の章で
  • 118ページ 9行目
    • [誤]起動してフォアグラウンドととなり
    • [正]起動してフォアグラウンドとなり
  • 120ページ 16行目(下から5行目)
    • [誤]アイコンをにタッチして起動
    • [正]アイコンにタッチして起動
  • 121ページ 章の概要説明8行目(下から4行目)
    • [誤]アクティビティ間のでーたの
    • [正]アクティビティ間のデータの
  • 124ページ 6行目(下から4行目)
    • [誤]Build Targat:Android1.5
    • [正]Build Target:Android1.5
  • 128ページ 3行目
    • [誤]メソッドで指定されてるる
    • [正]メソッドで指定されている
  • 129ページ 下から2行目
    • [誤]android_layout_marginTop属性は
    • [正]android:layout_marginTop属性は
  • 135ページ 20行目(下から4行目)
    • [誤]gedId()
    • [正]getId()
  • 136ページ 6行目
    • [誤]概念ははやや抽象的
    • [正]概念はやや抽象的
  • 141ページ 下から2行目
    • [誤]図7のタイトル画面が現れます。
    • [正]図10のタイトル画面が現れます。
  • 141ページ 下から2行目
    • [誤]図10の何もないアクティビティに遷移します。
    • [正]図11の何もないアクティビティに遷移します。
  • 145ページ 下から2行目
    • [誤]図12のような画面が出れば成功です。
    • [正]図13のような画面が出れば成功です。
  • 148ページ 下から2行目
    • [誤]図15のような画面が出れば無事に動作しています。
    • [正]図16のような画面が出れば無事に動作しています。
  • 149ページ 下から7行目
    • [誤]図11に示した
    • [正]図12に示した
  • 149ページ 9行目
    • [誤]CELL_SIZEはパズルの各のブロック
    • [正]CELL_SIZEはパズルの各々のブロックの大きさ
  • 159ページ 2行目
    • [誤]何番目の要素に空のブロックの位置を示しています。
    • [正]何番目の要素を空のブロックの位置とするかを示しています。
  • 163ページ 5行目
    • [誤]右端にブロックはそれ以上右に
    • [正]右端のブロックはそれ以上右に
  • 170ページ 2行目
    • [誤]図20で示したものになります。
    • [正]図21で示したものになります。
  • 172ページ 6行目
    • [誤]Button(ゲーム終了ボタン):R.id.id_button_exit
    • [正]Button(ゲーム終了ボタン):R.id_button_exit
  • 176ページ ソースコード(GameView.java)
    • [誤]
    • [正]
    • 備考:

      P175の内容と重複しているため削除。

  • 179ページ 6行目
    • [誤]図21、図22のように、
    • [正]図23、図24のように、
  • 180ページ 下部ソースコードの13行目以降
    • [誤]■L13■TextView text_bestrecord = (TextView) findViewById(R.id.text_bestrecord);

      ■L14■text_bestrecord.setText((Integer.toString(this.best_record) + " steps"));

      ■L15■loadRecord();

      ■L16■text_bestrecord.setText((Integer.toString(this.best_record) + " steps"));
    • [正]■L13■TextView text_bestrecord = (TextView) findViewById(R.id.text_bestrecord);

      ■L14■loadRecord();

      ■L15■text_bestrecord.setText((Integer.toString(this.best_record) + " steps"));
    • 備考:

      L14での処理が冗長なので削除(紙面には行番号は表記されていません)。ただし、変更を加えなくともプログラムの動作そのものに問題はありません

  • 182ページ 1行目
    • [誤]画面下部に図23のような
    • [正]画面下部に図25のような
  • 183ページ 最終行
    • [誤](次ページへ続く)
    • [正]削除
  • 183ページ ソースコード(GameView.java)
    • [誤]onCreateOptionsMenu()
    • [正]onCreateOptionsMenu()の前に@Overrideアノテーションをつけたほうが望ましい。ただし、変更を加えなくともプログラムの動作そのものに問題はありません。

  • 188ページ 2行目
    • [誤]app-widget-povider要素
    • [正]appwidget-provider要素
  • 189ページ 小見出し
    • [誤]【res/xml に app-widget-povider要素を持つ XML を作る】
    • [正]【res/xml に appwidget-provider要素を持つ XML を作る】
  • 192ページ 最終行
    • [誤]ウィジェットをホーム画面に追加されたことを検知するために、
    • [正]ウィジェットがホーム画面に追加されたことを検知するために、
  • 192ページ 3行目
    • [誤]meta-date
    • [正]meta-data
  • 193ページ 下から2行目
    • [誤]コンタクトリストへのアクセスのためにandroid.permission.READ_CONTACTを、
    • [正]コンタクトリストへのアクセスのためにandroid.permission.READ_CONTACTSを、
  • 193ページ 最終行
    • [誤]電話の発信のためにandroid.permission.READ_CONTACTSを
    • [正]電話の発信のためにandroid.permission.CALL_PHONEを
  • 197ページ ソースコード4行目
    • [誤]android:src="@drawable/icon"
    • [正]android:src="@drawable/icon_heart"
  • 197ページ ソースコード9行目
    • [誤]android:src="@drawable/icon_android"
    • [正]android:src="@drawable/icon_star"
  • 197ページ ソースコード19行目
    • [誤]android:src="@drawable/icon_heart"
    • [正]android:src="@drawable/icon_woman"
  • 198ページ 下部ソースコードのタイトル
    • [誤][連絡先一覧をリストとして表示するレイアウト(ContactList.xml)]
    • [正][連絡先一覧をリストとして表示するレイアウト(contactlist.xml)]
  • 198ページ ソースコード(ContactList.xml)
    • [誤]
    • [正]
    • 備考:

      内容に誤りがありましたので、本ページ上部にあるダウンロードファイル「2771-01.zip」をご活用下さい。

  • 200ページ 15行目
    • [誤]ConfigureViewアクティビティが担当します。
    • [正]ContactListViewアクティビティが担当します。
  • 200ページ 最終行
    • [誤]ContactListViewかアクティビティら受け取った値と、
    • [正]ContactListViewアクティビティから受け取った値と、
  • 200ページ 12行目
    • [誤]ホーム画面の任意の位置の配置し、
    • [正]ホーム画面の任意の位置に配置し、
  • 206ページ 5行目
    • [誤]2.連絡先の名前と電話番号のとアイコンの種類に関する
    • [正]2.連絡先の名前と電話番号のアイコンの種類に関する
  • 211ページ 最終行
    • [誤](次ページへ続く)
    • [正]削除
  • 217ページ 2行目
    • [誤]appWidgetIdsはint型の配列
    • [正]app_widget_idsはint型の配列
  • 244ページ 6行目
    • [誤]と指定すると上下上限が反転され
    • [正]と指定すると上下が反転され
  • 249ページ ソースコード(TouchEventSample.java)
    • [誤] ( onResume()、onPause()、onSurfaceChanged() は

      GL2DTextureSampleと同様なので省略)
    • [正] (onResume()、onPause() はGL2DTextureSampleと同様なので省略)



      /**

      * サーフェイスのサイズ変更時に呼ばれる

      * @param gl

      * @param width 変更後の幅

      * @param height 変更後の高さ

      */

      public void onSurfaceChanged(GL10 gl, int width, int height)

      {

      // サーフェイスの幅・高さを更新

      surfaceWidth = width;

      surfaceHeight = height;



      // ビューポートをサイズに合わせてセットしなおす

      gl.glViewport(0, 0, width, height);



      // 射影行列を選択

      gl.glMatrixMode(GL10.GL_PROJECTION);

      // 現在選択されている行列(射影行列)に、単位行列をセット

      gl.glLoadIdentity();

      // 平行投影用のパラメータをセット

      GLU.gluOrtho2D(gl, 0.0f, width, 0.0f, height);

      }

お問い合わせ

書籍の内容に関するお問い合わせはこちら。お答えできるのは本書に記載の内容に関することに限ります。

お問い合わせフォーム