Androidのプロジェクトで@Overrideアノテーションがエラー

阪神大震災で被災して以来の大規模な地震に遭遇しました。幸いにも私は関東地方でしたので帰宅難民程度で済んだのですが、大勢の方がなくなられたことは残念でなりません。心からご冥福をお祈りいたします。

さて、先日はC#でいくぞ!と声高に宣言したのですが、今回の地震で180度考え方が変わりました。Androidに限らずモバイル端末の開発を中心に進めていきます。理由はいくつかありますが、何よりも大きいことは地震の中でもコミュニケーションがとれるという安心感がとても大きかったと言うことです。

阪神大震災の頃にはインターネットは今ほど普及していませんでしたが、あの当時スマートフォンとインターネットがあればどのように違っただろうかと思えてしまいます。

ところで、本日は自宅待機だったと言うこともあり早速Androidの開発環境を構築しました。以前作成したプログラムを引っ張り出し、Eclipseの環境を作成し…プログラムをコンパイルしようとしたところエラーが出る出る(;´Д`)

エラーの内容はというと、

型 new DatePickerDialog.OnDateSetListener(){} のメソッド onDateSet(DatePicker, int, int, int) はスーパークラスのメソッドをオーバーライドする必要があります    …

というものでした。うーん、何でこんなコンパイルエラーが出るのやらと思いつつGoogleで検索したところ原因はすぐにわかりました。

原因はコンパイラとして指定しているJDKのバージョンが1.5だったためです。何でも、JDK1.5ではインターフェースの実装には@Overrideアノテーションが使用できないそうです。

ということで、下記の方法で設定を行いました。

1.ウィンドウ - 設定 より設定画面を表示し、Javaにあるインストール済みのJREを選択する。

2.インストール済みのJREでjre1.6を選択する。

image

3.設定画面でJavaにあるコンパイラーを選択し、コンパイラー準拠レベルを1.6へ変更する。

image

この後ダイアログに沿ってコンパイルを行えばエラーはなくなります。