反省の弁
2023年1月頃に現在のアプリは出来ていたが、クリックリスナーを入れようとして、ドツボにハマった。
その後youtubeで探すとrecyclerviewの記事が多数有ることが分かった。皆、英語でのアップだ!更に検索するとヒンズー語(インド人向け?)もある!
日本語の記事は、当時は見つからなかった。
(現在は、少しあるが、エントリーレベルである。webでは、多く(日本語)見つかるが、googleの記事以外は、ほとんどエントリーレベル)
最近まで、迷い道を歩き続けていたが、やっと1月まで戻れた。迷ったら元に戻る事が大切だ!
反省点の一つが自身のスキルの過信だと思う。コードに手を入れる時は現状を保存するのが常道だが、直ぐにインブリできるから大丈夫と思い、どんどん修正して、迷い道にハマった!
これから
日本語での、まともな?recyclerViewの記事をyoutubeにアップすると共にwebとタイアップする記事も上げる事とした。
日本語でも、まともな?アプリで使っている事を示す。
その宣言(大袈裟?)です!
なんでRecyclerViewなのか?
今回はAndroidStudioの使える機能は「とことん使う」方針で臨んだ。1つは、10年程前の利用では、アベンドの繰り返しで全く使えなかった。当時はEclipse+Androidフィーチャーで開発した。
今回は「どうだろうか?」という10年程の進化の状況を確認したかった。
更に、定年後3年余りの経過で自身のスキルも落ちているだろうし、Javaの進化状況も追いかけてはいなかったので、最新にスキルをUPする気持ちがあった。
それで、生成された(した)コードを、必ず、追いかけて自分のスキルをブラシアップする(できる?)大前提だった。
複数の画面があるアプリを生成すると、画面毎のActivityではなく、画面群はFragementで構成されていた。実は、このシチュエーションは、10年前に作成したアプリで、経験済だった。10年前のAndroidでは、画面毎にActivityを構成するネット記事が多くあり、最初のアプリではActivityだらけになり、重いアプリとなったので、窮余の策でFragementで構成した経験があった。
今回AndroidStudioで生成したアプリがFragementで構成されている事が自身の方向性が正しかったと言われた様で嬉しかった。
そしてRecyclerViewに突き当たった。開発予定のアプリは、概略、猫(コネちゃん)のトランザクション(日々の食事など)の記録入力とそれのリスト形式での表示。定型入力だけでなく、音声入力でも行える形にした。
プランした昨年12月では、「音声入力」に時間がかかると思い、ネット検索を多数して、実現方法を学んだ。コピペが多かったが、内容を理解して進められた。
困難は余りなかった。音声入力では、Googleの機能を利用するインタフェース部分のコーディングだから、コードを読んでも分かりやすかった。
リスト形式で表示する部分に、初めて見る「RecyclerView」があった!
ネットの記事を参照すると様々な記事があったが、私の求めている内容はなかった。
クリックイベントを取り込み画面遷移(別画面表示)もなかった?探し方が悪い?
ネット記事を参考に、コード修正を繰り返す悪循環!!!コードが動かなくなった。
知りたかった事
RecyclerViewでの登場人物(クラス)の役割とタイミングを知ることが出来ない!
探すうちにYoutubeで英語で解説されている。英語は、今ではTOEIC600ぐらい。
早口で喋る説明は理解出来ない!!!
たどり着いた場所
RecyclerView周りのコードでは、どの記事にも説明されるクラス群は登場している。
しかし、Googleの(私より才能のある人々が)生成したコードは難解だ。
迷い道にはまった輩が言うと遠吠えになるが、私のオブジェクト指向とは異なる。
例えば、インナークラスを使ったり、Staticメソッド、アトリビュートを使ったりしている。アプリを軽く、早く、つまり重くないアプリを生成している。クラス関係が、パット見分からない。AndroidStudioは、飾っておけるアプリでなく、直ぐに使えるアプリを生成するツールだ!生成されたコードを参考にはなるが、美しいコードではない。
それでもポストエディットでどちらでも焼きなおす事ができる。
それを前提にこれから、アプリ生成、エディット等を語って行きます。
時間があれば、お読み下さい。但し、ある量で区切るので、複数記事になる事とアップ間隔が一定ではない事をお知らせします。
AndroidStudio迷い道です!