こんばんは

 

昨日の続きというか、

Flutterについて、少し触ってわかったことがあるのですが

日本語のマニュアルというか書籍がほとんどなく、

 

今の時代を反映してるのか、もう紙で見るというよりは

Webで公式ページから引っ張ってこい、という感じですなんですが、

 

だからこそ、ですが

日本語変換という構造に

完全に対応していない。。。

 

ということが、最近わかってきました。

 

日本語というより、全角・半角・カタカナ・漢字・英数字

と変換が必要な表記の中で、

 

普通、JAVAでプログラムを書くと

1、今から取り扱いたい入力箇所を指定する

2、そこに文字が入ってきたかどうか、ずーっとチェックさせる

3、文字が入ってきたら、それを表示する

という工程が必要なものを

 

歯鏡 ディスポミラーどうも、スマホの入力用のキーボードが出てくるようにする

命令があるのですが、

 

TextEditingControllerというパーツを使うと、

入力用の四角いマスを表示してくれて

その中に文字が入ると検知してくれ、

前の状況と変わる(入力されると)と、

記録するなり表示するなり

次の処理をその都度自動で行ってくれるという、

 

まあ、簡単にいうと

めんどくさい作業を一気にやってくれて、

さらに、それがいい感じのアプリっぽいものになってくれるという

優れものなんですが、

 

英数字を入れようとすると

入力が全くできない。

漢字やアルファベットは入るに、

数字だけ入りません。

でも、アルファベットなりピリオドなり

数字以外の文字を入れてあげると、それ以降は普通に入力できます。

 

些細なことかもしれないけど

これではとても 皆さんに使ってもらうことはできません

 

海外のプログラムの質問サイト

stackoverflow

で調べてみても、やはり同じような問題は提起されていて

解決には至っていないようす。

 

もちろん、機種の癖もあるだろうが

どうも、テンキーで入力を促すと、

半角カナとしての入力となってしまい

「半角」の「仮名としての数字」という認識が

できないらしい。

でも、テンキーを全角で出す機能はスマホにはないし、

かといって、Text Controllerなので、integer つまり、

数字としての入力は受け付けていないようです。

 

そういった、便利でカッコいいのだけれど

まだまだ全てには対応していない言語、

 

それがFlutterだと思った方がいいと思っています。

 

でもまたそれが、楽しくもあり。

時間ばっかりかかるのですけれどね。

 

こんばんは

 

昨日の続きです

 

まず、プログラムを作るには、

プログラムを作るためのアプリを入れます。

 

プログラムは極端な話、

最終的には共通の「マシン語」に変換されるので

その翻訳のツールとして、

JAVAとか

C言語

とか、プログラム用語があって

その中にFlutterがあります。

 

ただ、Flutterでプログラムを書いていくとき、

文字の間違いを指摘してくれたり、

必要になる処理や、不測の処理をサポートしてくれるソフトを使わないと

 

プログラムを書く→

動かす→

動かない→

原因を探す

 

と言う中で、プログラムの書き間違いを見つける

つまり、文字1文字違ってもプログラムは動かないので

ものすごい時間がかかってしまうのです。

 

で、

Flutterはgoogleが開発したプログラム言語なので

アンドロイドのソフト制作を支援するアプリ(なんと、これが無料なのです)

Android Studio(アンドロイドスタジオ)を使います。

Android  Studioのインストール方法は、いろんな人が書いているので

すぐわかると思いますが、

問題は、アンドロイドは月2回とか3回とか平気で更新してくるので

説明の本はおろか、Webの指南書ですら、

古くて適応しない可能性が高いのです。

 

インストールで「なんだよ、動かないじゃん」となるだけで

制作意欲が激減です。

 

一番いいのは、やはり「グーグルディベロッパー」と言う開発者向けのところで

説明を見ながらインストールする方法です。

 

もちろん、英語ですが、グーグルはWebページの翻訳機能がついているので

それを使ってしまいます。

全然日本語としておかしな文章になりますが

なんとなく意味はわかるし、

実際にインストールする時には、英語に戻して作業すると

スムーズにいきます。

 

※ここで要注意。

やはり、スペックの低いパソコンで動かすと重いし

エミュレーターという、パソコンの中に架空スマホを作って動かすと

非常に処理が重くなります。

 

いいパソコンを使うか、

自分のスマホをパソコンに繋いで

アプリのテストは自分のスマホ(スマホを変えたばかりなら、前のスマホを

テスト専用にしておくとベスト)で行うようにすると

テストのイライラは減るでしょう。

 

現役のプログラマーでない限り

動かない→原因確認

をひたすら繰り返していくことで

覚えていくものだと思ってます。

 

さて、話はそれましたが、

自分のAndroidStudioを立ち上げ、

 

とりあえず、「タイマー」で検索して

プログラムをコピー&ペーストして、

動かしてみました。

 

これも、いろんな人がサンプルをあげてくれていますが、

アンドロイド側も、新しい処理の方法を開発していて

「この新しい方法を推奨」と、頻繁に世代交代をしてくるので

「タイマーを動かす」という動作一つも

やはり、王道で「Flutter sumple」

から引っ張るのがいいでしょうね。

 

続きは明日

こんにちは

 

つづきで、TO(テーブルオフィシャル)で苦労している

子供たち(主に小学生)の手助けになるようなアプリ

※小学生はスマホもっててもTO中は操作できないだろうから、

周りでみてる保護者がサポートするという意味で

 

考えていきます。

 

まず、必要な機能として

・試合の日付

・何クォーターか

・ファール

・ファールを犯した選手 番号(ファールの中身は問わない)

・チームファールの数

・個人ファールの数

・得点

・タイマー

 

こんな所かな・・・

 

基本的に、イベントが起こったらタイマーを止めて

ファールなのか選手交代なのか

「時系列」で記録していって

 

選手が書いているスコアシートと 厳密でなくても時系列で

チェックできるようなものができればいい。

 

・・・

続く

データベースも必要なく

ただ、タイマーを止めたときに、イベントボタンをタップし

 

その時の時間とタイマーとイベントを記録して

リストビューに表示させる

 

そんなシンプルなものでいいと思います。

というか、思いました。

 

でもね、

問題は

・選手が頻繁に交代するのを管理する

・背番号もチームによっては100番とかあるから、

事前にレギュラーと選手登録(背番号だけでも)必要

 

そして、最も難しいのが

「得点を決めた場合は、タイマーが動き続けている」

 

これは、プログラム的には

「非同期処理」を入れていかないといけないので

けっこうメンドクサイことになりそうです。