カテゴリー『 ただの自分向けメモ 』

≒ AndroidStudioアンインストールでミス

表題どおり。中身はありません。ほんとにただの自分向けメモ。

新規に何始めよう?と思って、2作目のアプリで課題だった「BPMリアルタイム解析」行くか?と昨日は一日情報集め。結果分かったことは

1)「BPM解析」はできそう(簡単とは言ってない)。

2)「リズム解析」は至難。機械学習とか出てくる領域、かつ、アルゴリズムの決定版はまだないらしい。

ググってるうちに俺のやりたいのは「リズム解析」、言い換えると別にメトロノーム作りたいわけじゃない、実現したいのは音(楽)にあわせた動きだということがわかったんで、今回は(も)撤退w
もう少し攻め口が明確にならないと進めようがないということが良く分かった。
そこで次のテーマは決定。また3Dデモアプリ。ホントに我ながら金にならないことばっかやってるww 出来たらここで報告します。

参考1:拍と拍子の概念を数学で表現する
参考2:ロボットを対象としたビートトラッキ ングロボットの提案とその音楽ロボットへの応用(pdf。重いです)

そんで表題の件。AndroidStudioのバージョンアップ告知がいい加減うるさいんで、どうせならこの機会に最新の2.0まで上げちゃおうかと思ったらまだベータか。
ちなみに今使ってるのは1.3。さすがに入れ替えはこわいんで並列インストールに決めて、ダウンロードしてsetup64.exeやったらSDK入れるフォルダは指定できるんだけど本体はexeある場所そのままのようなので中断。
解凍したフォルダ一式をインストールしたいフォルダに移してから再度実行すると既にインストールされた状態で起動、プロジェクト選択画面が表示されちゃう。
気持ち悪いんで2.0のフォルダにあるuninstall.exeを実行。フォルダ指定確認して(2.0がインストールされたフォルダが出てる)、「全部消す」的な処理を実施。
ログ見ると1.3のフォルダ名がチラホラ見受けられる!!なんじゃこりゃー!!! 試しに1.3を起動。メッセージ「SDKが何も無い」が出てショボーン←いまここ

SDK一式ダウンロードはじめてとりあえず既に3時間経過。SDKは終わって「Downloading Components」だって。いつ終わるのか。どうせ終わって再起動しても足りないものあってまたダウンロード祭り始まるんだろうなぁー。

そうです。要するにこの記事はダウンロード待ってるあいだにア○○トサイト群の手直しも終わっちゃって、やること無いから書き綴ってる無駄に長い中身の無いエントリです。

ついででこのドメインのトップページのモバイル対応も進めよう、というか最近のブラウザはスマホのセンサの類からデータ取れるとかどっかに書いてたよなと思ってイベントリスナ仕込んでローカルで開けてブラウザのコンソール見たら「The devicemotion event is deprecated on insecure origins」だって。
要するにHTTPS対応ドメインでないと使えないらしい。くそー。HTTPS化メンドクサイよなー。そっと元に戻しました。
別に文句いうつもりは無いけど、インターネットってドキュメントを「誰が書いたか」じゃなくて「何が書かれてるか」で評価される世界だと思ってたんで、なんか世界が少し「歪んだ」ような違和感を感じる。ナイーブすぎるかw

最近、今更のようにtofubeatsさんのLostDecade7聞いてるんだけど、最後のトーフ→ナカタ→imoutoidの繋ぎは無茶苦茶かっこいい。というかこれでimoutoid知ったw 
天才達と自分(おっさん)の場合を同一視する気はないけど、「金にならない好きなこと」をやる情熱っていうのはそんなに馬鹿にしたもんでもないのかなぁと思った。あ、ダウンロード終わった。

追記)
ColorExtractorに入れたAdMobで初めて「見積もり収益額」発生。1円。 コーディングで頂いた初めての報酬w まだあくまで見積もりだけどね。

≒ Proguardで嵌った件

今回はアプリ公開の顛末は書き残さないことにしたんだけど、公開直前、最後の最後にProguard設定でチョイ嵌りしたので備忘録。

  1. 基本的なところ。今回広告ユニット導入したのでいままでのアプリが700kbぐらいに収まってたのが2.2mbぐらいになった。そんで「shrinkReleaseMultiDexComponents」エラー発生。
    これはググってすぐ解決。appのbuild.gradle、「defaultConfig」に「multiDexEnabled true」設定記述でOK。メソッド数上限超えたらしい。
  2. アナリティクスの設定マニュアルによると最上位のbuild.gradleとアプリ単位のbuild.gradle両方にdependencies記述必要になってるんだけど、これいらん。バッティングしてエラー。アプリ単位のbuild.gradleに記述でOK。
  3. 上記2つでデバッグビルドはOK。リリースビルドだけ出来ない。小一時間ほど嵌ったけど毎度おなじみ、皆大好きスタックオーバーフローで解決。いろんなとこにいろんな情報かいてるんだけど、このページの最後のほうの「gradle自体のバージョンをあげろ」だけで解決。「バッティングしてるクラスさがしてProguardのalert除外設定しろ」って解決策が良く出てくるんだけどそれいらんかったです。

この記事書くのに色々再現させていたら驚愕の事実が! 上の1と2もイランw 3だけでいいことが判明。確かに1の設定マニュアルにある「play-services-analytics」と広告表示用の「play-services-ads」でも3やる前はバッティングでエラー出てたもの。早速apk差し替えしとこう。

≒ ColorExtractorの件

昨日Androidアプリ新作公開しました。
ColorExtractor

メモみると1月10日スタートなんで約2ヶ月弱かかった。

最初は簡単なツール作ってAndroidアプリに広告付ける処理の練習にしようと思ってはじめて、メモ見返すと2週間程度で想定してた実装は終わってるんだけど、

例によってその後迷走しちゃって、いつの間にかopenGLとか弄ってる始末w おかげで色空間については色々勉強になった。

今回も顛末記録しとこうかと思ったけど、メモも残してあるんでやめておきます。それより次のコーディング始めよう。

とりあえずマンセル色立体が面白かったんで、webで見れるようスクリプトオンリーのページ作ろう。久しぶりにthree.js触ろう。

アプリの内容は

  1. 名前のとおり「色抽出」。過去のアプリでも似たような処理入ってるんだけど、もうちょっとアルゴ改良して2色まで減色する処理実装しました。
    処理内容は「基本はoctree」「16色以下は近似色排除」。けっこう上手く行ってるんじゃないかとちょっと自画自賛。
  2. 色値の色空間相互変換。計算式はいろんなとこで調べたんだけど正直自信ない。でもまぁwebでよく見かける相互変換サービスレベルには達してるので良しとしました。
    具体的にはRGB値から他への変換はほぼ正確(=一意)なんだけど、他からRGB値への変換はどうしてもあふれちゃうんで足きりしてます。つまりRGBからの変換しか本格的に使うには
    信用できない値になっちゃってるかと。webで見かける実装は調べたんだけどどこも足きりしてるし、これで妥協しました。
  3. マンセル色立体の3D モデル。面白かった。でも影付けしてるのは色見本としては落第だよね。分かってたけどやっちゃったw

です。よかったら使ってみてご意見ください。

160304追記

ページできました。やっぱりロジックはアプリからの流用なんで3日でできた。でもAndroidStudioに慣れちゃって、EclipseでのJavaScript/HTMLのコーディングが辛すぎw

コード補完が無いとコード書けない体にますますなってる。そういう意味でもJavaScript/HTMLのコーディング、たまにはしないと。つーかWebStorm買うか?