投稿

3月, 2019の投稿を表示しています

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で検索してみると、あるサイトにたどり着きました。 Android アプリにメニューを追加する(外部サイトへのリンク) このページには似たようなプログラムが書かれていましたので、じっくりと見比べて、自分の目で見ても何が

スマホの画面の回転への対応 Android Studio 3.3でJAVAプログラミング

イメージ
スマホの画面が回ると入力内容が消えるので、回転してもデータが保持されるように対応する方法を学習しました Android Studio 3.3で本を片手に模倣プログラミングをはじめて7日目になりました。前回は多言語への対応をする方法を30分で学習しました。今回は、スマホの画面の回転に対応する方法を学びます。 現在のAndroid Studio 3.3のバージョンは画面の回転に対応しているようですが、著者が本を書いた時点では、アプリの何らかのボタンを押した後に画面を回転させると、TextViewが処理前の値(文字列)に戻ってしまう現象がありました。 その原因には onDestoroy() メソッドが呼び出されてアクティビティーが破棄されると書かれていました。 onDestoroy()メソッドとは、検索してみると、Activityを破棄するための呪文のようです。 著者が作ったアプリはホームボタンを押しても入力内容が保持されており、本に書かれているような不具合は起きませんでした。もしかしたら古いバージョンのスマホでは画面が回転するとこのような不具合が生じるのかもしれません。 念のため、この現象について学んでみることにしました。 対処法 Activityの onSaveInstanceState() メソッドをオーバーライドして必要なデータを保存します。保存したデータは onRestoreInstanceState() メソッドもしくは onCreate() メソッドで読み込み(ロードし)ます。 (まったくもって、ど素人の私にはどういうことかわかりません!ぐぐると他の方のページにも同様の解決法が示されていました。) 保存にはputデータ型、読み込みにはgetデータ型という単語を使います。 データ型の種類はboolean、int、double、String型があります。  @Override  //保存する方法     public void onSaveInstanceState (Bundle outState) {          super.onSaveInstanceState (outState);         outState.putDou

アプリで外国語(多言語)をサポートする Android Studio 3.3でプログラミング

イメージ
Androidアプリを日本語と英語など複数の言語で表示する方法 Android Studio 3.3を使って7日目です。今日は、外国語をサポートする方法について学びました。学習時間は30分ほどあれば、ど素人の私でも理解できました。 resフォルダに新規ディレクトリ「values-言語コード」を作る 最初はAndroid Studioの本を読みながら、外国語のサポートについて学ぼうとしていましたが、好き勝手にフォルダーをつくったら、どうにもうまくいきませんでした。なので、googleのAndroid Developer公式サイトの 異なる言語でサポートするページ(developer.android.comへリンク) を読んでいたら事情がよくわかりました! 言語コードはISO639-1(wikipediaへリンク) を使います。 手順 まずは、resディレクトリを右クリックするとこのようなメニューが表示されます。 NewからDirectoryをクリックします。 失敗例 New Directoryをresフォルダーの中に作成します。 私はここで好きな名前「language-ja」にしてしまったことで、仕様外となってしまい、失敗しました。 正しいやり方 オレンジの枠で囲ったところを見てください。 新しいディレクトリ「values-ja」が作成されました。 そこに、valuesディレクトリにあるstrings.xmlをコピーして日本語で編集します。 「values-ja」は「values-言語コード」に置き換えられ、それぞれ異なる言語でアプリを表示させることが可能となります。 注意点 多言語をサポートするためには、レイアウトのactivity_main.xmlファイルのテキストはidで書かないといけません。 android:text="@string/id名" といった風に。 strings.xml内の書き方は・・・ <resources>     <string name="@+idで設定した任意の名前">他言語での名前</str

@+idの解説 - Android StudioでJAVA Kotlnプログラミング

イメージ
@+id 初めてAndroid Studioでプログラミングをしていると「android:id="@+id/任意のテキスト"」という文を.xmlのレイアウトファイルに記述することになります。 「@+idとは何だ?」 誰も疑問に思わないのでしょうか? googleで検索してみても@+id/hogeそのものについての説明はありません。Androidの“ @ id /”と“ @ + id /”の違いについては既に説明されたページがありました。@+idはidを作成するための、@id/は既に作られたidを参照するための書き方です。 使い方としては、idは記述するとどこかで管理されているような気がします。 id属性 id属性はAndroidのアプリを開発する時にxmlの中で要素を特定するためのものです。詳しい説明は他の方が述べられている「[Android] android:id属性について: http://www.programing-style.com/android/android-api/android-attributes-id/(外部ページ)」が参考になります。 このidは、少なくとも同一のレイアウトxmlの中においてはユニーク(他と同じではなく、個別の)でなければなりません。 ID idについては Android Developer公式サイト「レイアウト」についてのページ (外部リンク)が参考になります。IDはリソースIDと言います。ViewGroupアプリケーションのへの参照を取得するために使用できる要素の一意のリソース名のことです。 ツリー内で View を一意に識別するために、すべての View オブジェクトには、それに関連付けられた整数の ID があることがあります。アプリケーションがコンパイルされると、この ID は整数として参照されますが、一般的にその ID は id 属性で文字列としてレイアウト XML ファイルに割り当てられます。これは、すべての View オブジェクトに共通の XML 属性で(View クラスで定義)、非常に頻繁に使用されます。XML タグ内の ID の構文を次に示します。 android:id="@+id/任

Android Studio 3.3 で標準体重計算アプリを作ってみた!JAVAプログラミング

イメージ
Android StudioでJAVAプログラミング「標準体重計」 Android Studioを使ってスマホアプリを作ってみたい!そう思ってAmazonのKindle Unlimitedで読み放題の本をダウンロードしてきました。今回参考にした書籍は「JAVAからはじめようANDROIDプログラミング - ANDROID STUDIO対応版(2015年, 大津真)」という本です。この記事を書いているのは2019年の3月6日ですから、読み放題とはいえ、2015年の本はちょっとナシなんじゃない?と思いながら、何とかアプリを作り上げてみました。 尚、今回のソースは書籍をご覧ください! プログラミングのど素人でもわかったこと! 模倣アプリを作ったのは、今回で3個目 です。前よりは Android Studio で JAVA を使ってプログラミングをしているという自覚が芽生えて来ました。今回は strings.xml というファイルが 標準で備わっている ことに初めて気が付きました。このファイルは res (リソース)フォルダの中の「 values 」フォルダに入っていました。 strings.xml このファイルに書いていることは、次の通りでした。 <resources>     <string name="app_name">Standard Weight</string>     <string name="heightText">Your Height</string>     <string name="calcBtn">Calc</string>     <string name="weightText">Calculate Standard Weight</string>     <string name="stdWeight">Standard Weight: </string>     <string name="errorMsg"

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

イメージ
Android Studio 3.3 でメモ帳アプリを作る 前回は「 Android Studioをインストール 」しました。今回は参考サイト「 [Android Studio] メモ帳を作ろう!(その1)[Java] 」をお手本にメモ帳を作ってみたいと思います。ちなみに、私は自力でプログラムを作れない、まったくの初心者です! 「作ったアプリってどうやって自分のスマホで使うの?」 そこまでは、わかりません。 新規プロジェクトの作成 とりあえず、お手本のページの通りに新規プロジェクトを作ってみます。 Start a new Android Studio projectをクリックしました。 Choose your projectという画面が出て来ました。 出て来る中身は英語なんですが、私は英語の勉強中なので、ソフトウェアの日本語化は行いません。アメリカでアプリを売ることも考えているので英語にしておこうかと思います。 いったんデフォルトの「My Application」にしておき「Finish」をクリックしました。 ワークスペースが表示されました。 よくわかりませんが、新規プロジェクトのフォルダ―に「 MainActivity 」というファイルと「 AndroidManifest.xml 」というファイルが出て来ました。 新規Activityの作成 ここで、MainActivityを右クリックして「New→Activity→ Empty Activity 」をクリックして新規に空のアクティビティーを作ります。 適当に名前を付けて「Finish」を押します。参考サイト様によると、このActivityは「メモの新規作成」をするためのActivityだそうです。 私には、この段階では深い意味などわかっておりませんので、指示通りにするとMainActivityの下に新たに「任意の名前のActivity」が追加されました。 ActivityをリネームするにはActibityのファイルを右クリックして「Factor→Rename」から名前を変えられます。 途中経過 すべてのソースをコピーして利用させてもらったんですが、エラー

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

Package Name Android Studioを使い始めて2日が経過しました。参考ウェブサイトを参考に、アプリを作ろうとしたらどうもうまくいきません。あれこれ調べているうちに、また1からやり直そうとしてあることに気が付きました。それはPackage Nameを最初に決める時に、私は何かやらかしたのではないかということです。プロの解説を読んでみると、 Package Nameは一度ストアに公開すると変更できません 。まったく知らなかったので私はClassファイルを書いている時に「 com.example.myapplication 」という デフォルト の設定をそのまま使っていました。パソコン内で開発している間は、いくらでもパッケージ名を変えられます。 詳細は開発者向け公式サイト「 アプリケーションIDの設定(外部リンク) 」を参照ください。 初めてのAndroid Studio、まず公開するというところまではいきませんが、私は適当に名前を決めて「com.example.list」と適当に決めておりましたが、それでもうまくアプリが作れませんでした。 Package Name(パッケージ名)は何がいいか? 「com.example.myapplication」というデフォルトの名前から、パッケージ名の決め方は次のようになると思います。「 会社の名前.作者の名前.アプリの名前 」です。例えば、私の場合、ドメインの名前が「digiota」で、筆者の名前が「Alice」、作りたいアプリの名前が「メモ帳」だとしたら、パッケージ名は「digiota.alice.memopad」という風に決めることができます。 Dot(点)はいくつまで入れられるのか? Package Nameの「.」の数は、仕様だと思うので、最低2個に決まっているようです。つまり、3個以上のセグメント(名前)を入れないといけません。 Package Nameにどの文字を入れられるのか? パッケージ名は、最低2文字でなければいけません。そして頭文字はアルファベットである必要があります。2文字目以降に数字と、ハイフンまたはアンダースコアを入れられます。 Package Nameは変更できるのか? googleの公式サイトの開発者向けの説明によると、一度決めたパッ

Android Studioをインストールしてみた!

イメージ
Android Studio Android Studio(アンドロイドスタジオ)とはスマートフォンのgoogle Android OS上で動くアプリを作るための開発環境です。 「こんなアプリが欲しい!」と思ってだいぶん経ちました。アプリを作りたいけど、作り方がわからない! ひとまず開発環境を導入しておこうかと思いました。 私は以前、Android Studioをインストールしてアプリのようなものを作りかけてみたんですが、何度か挫折してしまいました。一度だけ成功したことがあって、その時のことは過去のページ「 Android Studioのインストール方法 はじめてのAndroidアプリプログラミング日記(2017年) 」に書いてます。というのも、書籍の通りにプログラムをテキストで記述してアプリを作ってみても「全然面白くなかった」のです。 私が欲しいアプリは「何でも書ける自分だけのノート」です。 しかしAndroidプログラミングの書籍には、興味のないゲームを作る方法が書かれていました。 今回は何とか自力でメモ帳のようなものを作ってみたいと思うので、再インストールから始めることにしました。 Android Studiioのダウンロード 最新のAndroid Studioは「 Android Stdudio 公式サイト 」からダウンロードできます。 インストール手順 Windowsのダウンロードフォルダに次のような実行ファイルが保存されましたので、クリックしてインストールを開始します。 exeファイルを開きます。  Welcome to Android Studio Setupという画面が出て来るので「Next」をクリックします。 Shoose Componntsで必要なコンポーネントを選択して「Next」をクリックします。 インストールフォルダを指定します。 Windowsのスタートメニューに登録します。 設定が終わるとインストールが開始します。 インストールが完了したというメッセージが出て来るので「Finish」をクリックします。 過去のバージョンの設定をインポート