先日、Android勉強会7回目を開催しました。

 

Activity関係最後の話題として、onClickだけでなくonTouch、onLongClickもあることを紹介しました。

 

以前はこれで問題なかったはずですが、いつの間にかsetOnTouchListerするとperformClickをoverrideしていないと言うワーニングが出るようになっていました。このままでもビルド、実行はできます。

 

ネットで調べたところどうも目の不自由な人のための配慮のようですが、どのような配慮をすればいいのかまで解説された事例が見つからなかったのでピンと来ていません。

 

次回からIntentに入ります。

 

CQ出版のInterface誌の特集でM5Stackを知り面白そうだったので購入しました。各種センサー、バッテリ、LCD、ボタン、スピーカ、入出力端子、BLEとWiFi等IoTで必要になる機能一式を5cm角の筐体に詰め込んで6000円程ととても魅力的なデバイスです。

 

開発環境は色々ありますが一番とっつきやすそうなArduino IDEを拡張する方式でやることにしました。が、ここからはまりました。

 

添付の説明書によるとArduino IDEを拡張するのにjsonファイルを指定せよと書いてあるのですが、書名の照合に失敗とかでできません。これについてはネットでgitHUBから直にとってきてこのフォルダにコピーすればよいという情報を見つけてクリアできました。他にも添付の説明書にはAPI一覧が載っているのですがこれが全く異なっていました。古いバージョンのまま説明書を更新していないのかも。

 

次にSiLabsのCP210xドライバのインストールをしたのですがビルドしたプロジェクトがM5Stackに焼けません。ネットで検索したところGNDとRSTの間にコンデンサをつけるとか書き込み速度を落とすとか情報がありましたがそれでもダメ。結局M5Stack本体とUSBケーブルをさし直したら解決しました。USB Type-Cのコネクタが妙に固く接触が悪かったようです。CP210xドライバについてはWindows10ではユニバーサル形式のドライバでなく前のバージョンを使うように書いてありましたが、これもユニバーサル形式で動作するとの情報を見つけました。

 

ということで解決してみれば何ということはないのですがはまりどころは沢山あるようです。こういうことをInterfaceの特集でちょっと触れておいて欲しかった。

 

まだサンプルスケッチのHello worldを動かしてみただけですが、今後は他のサンプルを動かして各機能の使い方を調べていくことになりそうです。とりあえずM5Stack単体で動くものを何か作りたいと思っています。

 

最終的にはBLEかWiFiで通信をしたいのですがBLEについてはライブラリの設定がうまくいってないようでBLEが無効とのメッセージが出ています。これもネットで調べたところ現状ではgitHUBからとってきて一発で設定は終わらずBLE関係は別途作業が必要なようです。またはまらなければ良いのですが。

 

 

先日、Android勉強会6回目を開催しました。

 

今日はActivityの残りの話をしましたが、Android StudioがfindViewById()をキャストするのは冗長であると指摘しているのに気付きました。いつの間にかこんな基本的な部分の書き方も変わっていたようです。放置してもエラーにはなりませんが。

 

細かい話ですが、レイアウトXMLでonClickメソッド指定をする方法では、先にレイアウトXMLにメソッド名を書くとまだメソッドが存在しないのでエラーになりJavaにメソッド追記するとエラーが消えるが、メソッド追記の際に候補を出してはくれない。先にJavaにメソッドを書いておくとレイアウトXMLでメソッド指定する際に候補に出てくる、ことが分かりました。