重複を回避、はできないままだけど
今日はペライチの長〜いfileを脱却したい。
最初にトライしたのは、mysql1と同じ【接続】【表示】の2枚方式。ところが、接続をうまく独立させられない。あっちが赤くなったり、こっちが赤くなったり、切りがない。たぶん、用語が微妙に違う。
ほかに方法はないか?
で、用途別に分けることにした。つまりサンプルに含まれる【変更】【追加】【選択】、この3つが今は【接続】の後ろにずらずら並んでいる。これを3つのfileに分ける。残念だけど、それぞれの頭には、全く同じ【接続】の記述をつけている。重複も甚だしいけど、まあ、仕方がない。
具体的には、こんな手順で作業した。まあ、笑ってやってください。
- ペライチmain.dartを複製して四枚のfileをつく。
- ファイルを選択するためのフロントページを作る。
- main.dartのMyHomepage以降を削除して、フロントページに遷移する。
- 複製したfileの一枚を、【変更】ページとして、runApp等の部分と【追加】【選択】の部分を削除する。
- 同様に【追加】ページから【変更】と【選択】を、【選択】ページから【追加】【変更】を削除する。
- フロントページから、各ページに遷移するボタンを作る。
Flutterを始めて一年、さすがにページ遷移は迷わずできるようになった。
よし、やってみよう。 debug、行け。
なんもデザインしていないので、なぜか真っ黒な画面に緑の小さな文字で【変更】【追加】【選択】のボタンが並んでいる。 よしよし。
まずは【変更】ページに移動。フローティングアクションボタンを押す。何か表示させるようにはなってないので、何も変わらないが、consoleには変更の表示がある。SequelAceで確認すると、ちゃんと変更されている。 よしよし。
ていうか、連打してない、一発で行った。これ、作業を1つに絞った効果なのかな。
いったん戻って、今度は【追加】ページに移動。こちらも即、反応して、新しいユーザーが追加された。 よしよし。
また戻って、【選択】ページ。今回はユーザの名前が表示されるはず。
行け! 出た!!!
名前以外のものも出したい。Eメール出そう。Eメールの表示欄を作る。で、どうすればいい。?
name = row.colAt(0)!;
email = row.colAt(1)!;
これでどうでしょう。 あら、怒られた。(1)なんてないよと。
ああ、そうだ、名前だけ取ってたんだわ。じゃあ、全部取ってこよう。
お、出た。でも、変。え・・・っと、nameのところにidが、emailに名前が入ってる。なるほど、じゃ、これでどうでしょう。
name = row.colAt(1)!;
email = row.colAt(2)!;
よっ〜〜しゃ!、名前とEメール、出ました!!
でも、今、表示できてるのは、「最後の1行」だけ。consoleには全部プリントされているんんだから、次は全部、表示したい。
明日こそは、リスト表示に挑戦するぞ〜。