nexus 7を購入してはや数ヶ月、せっかくなので開発にでも挑戦しようと山田祥寛「はじめてのAndroidアプリ開発―Android 4対応版」を購入。
序盤で詰まったところをメモ。
開発環境の導入
Android SDKをダウンロードするところで早くもつまづく。本ではAndroid SDK配布サイトから「Download the SDK for Windows」ボタンをクリックすることになっているが、今見に行くとこのボタンのあるはずだった場所に「Download the SDK ADT Bundle for Windows」ボタンが鎮座している。
403 Forbiddenによると、どうも最近SDKの配布方式が変わったらしく、Android開発向けのeclipseが一緒にDLされる仕組みになったようだ。本に合わせて従来通りの開発をする場合は「USE AN EXISTING IDE」をクリックして該当ファイルをダウンロードすればよさそうだ。しかし、せっかくなので新しい方のSDKを使ってみることにした。
この本は2012年12月1日発行なのだが、この短期間にこれほど変わってしまうとは… 技術ライターの苦労が忍ばれる。
nexus 7の準備
nexus 7でUSB接続をするために、まずWindows側のドライバを更新。以下のページに従う。
次にnexus 7のオプションを変更。ここでUSBデバッグを行うためのオプション「設定」->「開発者向けオプション」がAndoroid 4.2からなくなっていることが判明。復活方法は以下のページにあった。「設定」->「タブレット情報」->「ビルド番号」を連続でタップするのが正解。ぜったいこんなの気づかない…
エラーで落ちる
序盤のp83、ボタンをクリックしてイベントハンドラを呼び出すところでつまづく。ボタンを押すと「問題が発生したため、こんにちはを終了します」となり異常終了。
以下の関数の1行目で落ちていた。
public void btnCurrent_onClick(View view){ TextView txt = (TextView)findViewById(R.id.txtResult); txt.setText(new Date().toString()); }
原因は、"txtResult"というIDを、画面中央のTextViewオブジェクトに与えるべきところを、誤って背景のRelativeLayoutに与えてしまっていたことだった。activity_main.xmlを見てようやく気付いた。修正すると無事動いた。