Android Studio 3.3 誕生日リマインダーアプリ制作記 [メソッドはスーパータイプのメソッドをオーバーライドまたは実装しません]のエラーで躓く

Android Studio 3.3で誕生日アプリの製作日誌

メソッドはスーパータイプのメソッドをオーバーライドまたは実装しません

Android Studioでアプリを作る勉強をしています。著書「JAVAからはじめようAndroidプログラミング(2015年, 大津真)」の本の218ページを読みながら、コードをそのまま書写していました。しかしアプリを作っているのは2019年。何と4年も前に出た本ですから、ソースコードを丸写ししても(ド素人なので間違えたりして)動きませんでした。四苦八苦しながら、何とかやっているものの、再び躓いてしまいました。まず、この本には今回のプログラムに必要なメニューのレイアウトファイルを作成するという記述がありませんでした。resディレクトリにmenuディレクトリを新規作成してmenu_main.xmlを作成することで何とか解決しました。import static com.digiota.birthdayreminder.R.id.action_settings;という文言も冒頭に付け加える必要がありましたが、それらしきファイルは見つかりませんでした。

仕方ないので、何となく学べればいいか、という風にやっておりましたら、また酷く躓いてしまいました。

目次


メソッドはスーパータイプのメソッドをオーバーライドまたは実装しません

「Make Project」ボタンを押してエラーが出ました。調べてみると@overrideというところが引っ掛かりました。
  • @Override
  • public boolean onCreateOptionMenu
この「onCreateOptionMenu」というところが灰色で波線が引かれた状態になっておりました。

ソースをチェックしてみても、どこが間違っているのかわかりませんでした。

ですのでgoogleで検索してみると、あるサイトにたどり着きました。
このページには似たようなプログラムが書かれていましたので、じっくりと見比べて、自分の目で見ても何が違うかわからないので、コピペして確かめてみました。

すると、ソースをコピペしたら命令文が有効(オレンジ色)になりました!
  • @Override
  • public boolean onCreatesOptionMenu
一体、何が違うというのでしょうか?

よ~く見てみると、スペルミスがありました。

「Creates」が正しいのに対し、私は「Create」と記述しておりました。

つまり「s」を書き忘れたのです。

JAVAは本当にまぎらわしいですね。

動作確認

エミュレーターで「誕生日リマインダー」というアプリを動かしてみました。

誕生日リマインダー Android Studioでアプリ制作

すると、ボタンが↑について、テキストとダブっておりました。
レイアウト.xmlファイルが間違っているということはすぐにわかりました。

"アプリ名"が繰り返し停止しています

レイアウトを設定してアプリを起動すると「"アプリ名"が繰り返し停止しています」というスマホのメッセージが出て来ました。レイアウト.xmlをいじってこうなったので、原因はレイアウトファイルにあります。よく見てみると「LinerLayout」とまたスペルミスをしておりました。「LinearLayout」が正しいです。何が違うかわかりましたか?「a」が入っていませんでした。

アプリのプログラミングが完成!

アプリ誕生日リマインダー Android Studioでプログラミング

アプリを起動すると「誕生日を設定してください」と表示され、画面下に「誕生日を設定「クリア」というボタンが表示されました。


アプリ誕生日リマインダー Android Studioでプログラミング2

適当に理想の誕生日を入力しました(笑)
「誕生日を設定」ボタンを押しました。


アプリ誕生日リマインダー Android Studioでプログラミング3

現在23才で、誕生日まであと0日(本日)という表示が出ました。

これでアプリが完成しました。

4年前の本なので、やはり微妙といいますか、こうしたらいいんじゃないかというところはありましたが、ど素人なので、今回はこれにて終わりにしたいと思います。

便利なソースもゲットしましたので、途中でやめずに最後まで作ってよかったです。

参考図書

JavaからはじめようAndroidプログラミング―Android Studio対応版
Kindle Amazon 楽天市場
別に著者の回し者というわけではありませんが、この記事が嘘ではないことを証明するために本を紹介しています。この記事を書いている2019年3月の時点でKindle Unlimited読み放題サービスで無料で読めましたので、ど素人の視点では勉強になったのでお得でした。一応、寝る前に何度もJAVAの章を読みましたので、私は著者のことを「先生」とお呼びするべきかもしれません(笑) 四苦八苦しながらまったくのド素人がプログラムを勉強していく様子を書いた日記です。

コメント

このブログの人気の投稿

硬い木、強い樹木のリスト(日本・世界)

Ubuntu初回起動時にWi-Fiが繋がらないというより選択肢が出てこない問題への対処法

【解決】AcerのAspireノートPCでBiosにF2で入る方法が完璧にわかった!

【挑戦】USBメモリー又はSDカードにUbuntuをインストールする方法

【解決】ランダムなハードウェアアドレスをオンにすると家庭用のwifiに繋がらなくなる(Windows10の話)

Package Name(パッケージ名)の決め方 - Android Studio プログラミング

デロンギのオイルヒーターを使ってみた!風呂場のヒートショックの予防策

時間をかけて作ったページがSearch Consoleのインデックスカバレッジで除外されている件について

Android Studio 3.3でメモ帳を作ってみた!初めてのプログラミング

BEAU SOLEIL(ボーソレイユ)スイスの名門寄宿学校