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は本当にまぎらわしいですね。
動作確認
エミュレーターで「誕生日リマインダー」というアプリを動かしてみました。
すると、ボタンが↑について、テキストとダブっておりました。
レイアウト.xmlファイルが間違っているということはすぐにわかりました。
"アプリ名"が繰り返し停止しています
レイアウトを設定してアプリを起動すると「"アプリ名"が繰り返し停止しています」というスマホのメッセージが出て来ました。レイアウト.xmlをいじってこうなったので、原因はレイアウトファイルにあります。よく見てみると「LinerLayout」とまたスペルミスをしておりました。「LinearLayout」が正しいです。何が違うかわかりましたか?「a」が入っていませんでした。
アプリのプログラミングが完成!
アプリを起動すると「誕生日を設定してください」と表示され、画面下に「誕生日を設定「クリア」というボタンが表示されました。
「誕生日を設定」ボタンを押しました。
これでアプリが完成しました。
4年前の本なので、やはり微妙といいますか、こうしたらいいんじゃないかというところはありましたが、ど素人なので、今回はこれにて終わりにしたいと思います。
便利なソースもゲットしましたので、途中でやめずに最後まで作ってよかったです。
参考図書
別に著者の回し者というわけではありませんが、この記事が嘘ではないことを証明するために本を紹介しています。この記事を書いている2019年3月の時点でKindle Unlimited読み放題サービスで無料で読めましたので、ど素人の視点では勉強になったのでお得でした。一応、寝る前に何度もJAVAの章を読みましたので、私は著者のことを「先生」とお呼びするべきかもしれません(笑)関連記事
- Android Studio 3.3 で標準体重計算アプリを作ってみた!JAVAプログラミング(ど素人3作目の模倣アプリです!)
- スマホの画面の回転への対応 Android Studio 3.3でJAVAプログラミング
- Android Studio 3.3 でメモ帳アプリを作ってみた!(ど素人2作目の模倣アプリです!)
- Android Studio 3.3をインストールしてみた! 2019年3月の出来事です!
コメント
コメントを投稿