トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

スマートウォッチWearOSの開発準備【Processing/AndroidStudio】

 

最近WearOSのスマートウォッチを買いました。

bibinbaleo.hatenablog.com

HelloWorldぐらいまで開発環境設定してみます。

 

昔調べたときAndroidStudioで開発できるっていうのは見た。

bibinbaleo.hatenablog.com

今回は最終的にProcessingでHelloWorldしました。

OSバージョン

 WearOSのバージョンは2.7

AndroidOSは

設定>システム>端末情報>バージョンで見れる。

知っておいたほうがいいかなーと思って。

ちなみにSystemVersionHというのが最近出たらしいけど、WearOS

www.dream-seed.com

開発者モード

開発者モードを有効にするには

ウェアラブル アプリの作成と実行  |  Android Developers

設定>システム>端末情報>ビルド番号を8回ぐらいタップ

これで設定に開発者向けオプションが出てきた。

ADBでバッグをオンにした。

この記事ではほとんどのスマートウォッチは無接点充電って書いてたけど、私のはUSBでつなぐやつなのでWifi経由でADB接続とかはしなくてよさそう

つないでみた。

PCに認識されない><

Macにつないだ時は一応反応はするのに。(あとでアプリをビルドしたら認識されました)

おまけ

開発者向けオプションからいろいろ設定を選べる。

もはや開発しなくてもこの設定をするために開発者モードを有効にしたほうがいいのでは?

とりあえず充電中に画面をロックしないは有効にした。

開発でPCとつないでいるときにロックされたらめんどくさいからね。

ポインタの位置とタップの表示を有効にしたら触った軌道が表示されて面白い。 

公式

公式サイト

developer.android.com

WearOS用のアプリは、普通の自由なアプリと、WatchFaceと、なんかもう一つの3つの種類があるようです。

f:id:bibinbaleo:20190727144610p:plain

アプリのサンプル。

github.com

UILibrary。どう使うかわからないけど

developer.android.com

Processing

QiitaでWearOSで検索したら、なんとProcessingでのウォッチフェイス開発記事がありました!!!

qiita.com

qiita.com

Processingでできるの!!!すご!

Processingは昔の友達なのでやってみます。

bibinbaleo.hatenablog.com

 ダウンロード

processing.org

こういう画面

f:id:bibinbaleo:20190727154517p:plain

右上のJavaからモードの追加>AndroidModeをインストール

f:id:bibinbaleo:20190727152446p:plain

右上からAndroidを選べるようになる。

適当なコードを書く。WearOSの画面サイズは400*400らしい。

size(400,400);
textSize(20);
text("HelloWorld",180, 180);

(JavaモードでRunするとこんな感じに表示されるはず。)

f:id:bibinbaleo:20190727155449p:plain

Runマークを押すとSDKの場所を聞かれたので適当に答えた。間違ってたかもしれない。

そのまま実行もビルドもできたみたいたけど、なんか出てきた。

f:id:bibinbaleo:20190727154525p:plain

正しいデバイスを選べと言われた。

上のメニューのAndroidっていうところにWatchFaceというのがあったからそのモードにした。

その状態でもう一度Runしたらできた!!

f:id:bibinbaleo:20190727155447p:plain

時計側でトップ画面を長押しして「ほかのウォッチフェイスを見る」を押す。その下のほうに・・・あったー!!!

Sketch_998989

なんかすごいちかちかしてる。

背景色を設定してないとかいろいろ原因はありそう。

ほかの人のコードを参考にちゃんとした。

  void setup() {
  size(400,400);
  textAlign(CENTER,TOP);
  }

  void draw() {
  background(#FFFFFF);  
  textSize(60);
  fill(0);

  float ascent = textAscent();
  float descent = textDescent();
  float textHeight = ascent + descent;
  int textPosY = int(height-textHeight)/2;
  text("HelloWorld",width/2, textPosY);
}

参考

qiita.com

www.d-improvement.jp

(ちなみに開発中はJavaモードでやらないとPCでプレビュー見れないよ。)

ビルドすると。。。

できた!きれいなHelloWorldです!!!

 

こちらの記事に時計のサンプルコードもあるので試してみた。

f:id:bibinbaleo:20190727165734p:plain

色とか゚少し変えた!

f:id:bibinbaleo:20190727165729p:plain

はあああめっちゃいいいい

ありがとうございます。

普通に使うわ。

以下はProcessingをやる前の試行錯誤。。。

 

黒い画面

WearOSは2018/3までAndroidWearという名前でした。

スマホ用のアプリも作らないといけなかったらしく、古い記事だとあんまり参考にならないかな?知らんけど。

見つけた新しい記事

blog.japantaxi.co.jp

最新事情が分かってとても良い。開発者モードのやり方とかもこの記事で知りました。

ただこの記事は開発は黒い画面でやってました>< 

エミュはAndroidStudio?

AndroidStudio

AndroidStudioでの記事。古いけど

qiita.com

公式のレッスンもある。英語だけど

codelabs.developers.google.com

どちらもいまいちピンとこない・・・(ピンとこないとは)

AndroidStudioで開発した新しい記事が見つけられないので雰囲気でやっていく。

AndroidStudioで新しいプロジェクトを作るとWearOSのタブがあった。

f:id:bibinbaleo:20190727144602p:plain

やっぱり3種類だ。

HelloWorldを表示したいのでBlankWearActivityにした。

プロジェクト設定。言語はKotlinとJavaが選べる。Javaの勉強はしたはずなのになぜかKotlinを選んだ。(暑くて頭がやられてる)

f:id:bibinbaleo:20190727144606p:plain

こんな画面なんだー

f:id:bibinbaleo:20190727145952p:plain

Previewのところの端末をWearのRoundにしたら丸くなった!

f:id:bibinbaleo:20190727153502p:plain

なんか最初からHelloWorldも書いてあるし、これをビルドしてみよう!

f:id:bibinbaleo:20190727153546p:plain

よくわからないまま右上の再生を押したらデバイスを認識してくれた。

PCにつないだだけじゃ認識されなかったのに。(これはUnityのBuild&Runを押さないと端末が表示されない現象に似ている!!)

Watchに「このPCを信用しますか?」みたいなのが出るから許可を押す。

f:id:bibinbaleo:20190727153214p:plain

そしてOKを押すと。。。

AndroidManifestがエラー

f:id:bibinbaleo:20190727153217p:plain

はあ

バーチャルデバイス

ちなみに右上のAVDManagerを押したらバーチャルデバイスを作るやつが出てきた。

f:id:bibinbaleo:20190727152443p:plain

形は3種類選べる。

f:id:bibinbaleo:20190727152438p:plain

バージョンを選んでダウンロードしないといけないらしい。

f:id:bibinbaleo:20190727152450p:plain

ここで飽きたのでやめた。

 

 

 

最後に

HelloWorld出すのに3時間ぐらいかかった気がする。。。ばかなのかな

脳みそを一ミリも使わずに開発できる方法を探してたらいろいろな場所に行き過ぎて頭ごちゃごちゃになった。

Unityじゃないといやだ^^^^---

トマシープブログはUnityを応援しています。

Flutterの記事もあったよ。Flutterって何って感じだけど。。AndroidiPhoneを開発できるフレームワークらしい

medium.com