2013年11月6日水曜日

4.4のテーマが変わった

づらーっと4.4の変更点を眺めました。
sdkにあるkitkatの紹介文

タイトルの内容に触れる前に個人的に注目した内容を簡単にご紹介。

注目したのは、
『Translucent system UI styling』
『Audio monitoring』

『Translucent system UI styling』は呼んで字の如し、
statusbarが透明になったよ、とのこと。
これはきれい。画像を見ると、statusbarにあるアイテムの色は白で表現されてますね。
機械色な感じが払拭されましたね。

『Audio monitoring』。これが個人的にはいいなーと感じました。
画像を見ていただけるとよくわかると思いますが、
イコイライザ(音の波形をグラフ化したもの)が表示されています。
今までもイコイライザの機能はありました。
が、見た目がちょっとアレだったので結局自作ということになっていました。
しかし、今回のイコイライザはきれいですねー。このまま使えそうです。

では、冒頭のタイトルに戻りましょう。
そうなんです。テーマが変わりました。
特にセレクターについては押さえておいたほうがいいでしょう。
今までは青(ライトブルー)でした。
今回からは黒白調になりました。
青だと他のアプリの色と競合しやすいからやめますねということらしい。
ソースはどっかで見かけたはずだけど、今手元にないのでとりあえずここまで。
探しておきますね。
ありました。
google+のAndroid Development - Japan(日本の Android 開発者のための公式コミュニティです)の中で、

 "Android Design in Action: New in Android 4.4" の概要を 日本語でまとめました。
というコメント?(記事?)があります。
リンク
この中で解説されています。


2013年11月3日日曜日

勉強中なう

TextureViewを扱うのに色々と勉強しています。

以下、参考にしているサイト様

・eaglesakuraの技術ブログ
-SurfaceTextureでMediaPlayerやカメラ映像をOpenGLテクスチャとして使う場合の注意点
-GLTextureViewを公開しました

・dalinaum / TextureViewDemo
-googleplay
-github

・SDKにある4.0のTextureViewと4.4にあるTextureView
・SDKにある4.0のGLSurfaceView

目指してる仕様
イベントがあった時にrunnableをぽんぽん投げ込んで処理する。

課題
回転などでViewが破棄されるときの処理。
onPause時の処理。たぶんwait,notifyでなんとかなりそう。
AcivityなりFragmentが終了するときの処理。

textureviewをじっくり眺めてみた

GLSurfaceViewのが楽じゃね?というのが素直な感想。

あぁしよう、こうしようと追加追加してるうちに、どんどんGLSurfaceViewに近づいている。
GLSurfaceViewとTextureViewの違いって、カメラとか動画とかの関連付けが楽なだけな気がする。

sdkの中にある両方のソースを見比べてみると納得していただけると思う。
実用レベルで見た場合、GLSurfaceViewの方が穴が少ない。
TextureViewでやるとどうしてもオレオレな管理になってしまう。

TextureViewは何もない代わりに非常に汎用性が高いけど、落とし穴も多い。
GLSurfaceViewはシステム側でめんどうな設定をしてくれている。が、それ以上はできない。

んーでも、やりたいことはListViewの中でのほうだからTextureView使わないといけない。
がんばろう。

2013年11月2日土曜日

android4.4が来ましたー

きましたねー4.4

様々なところで解説が出ています。
読むのが楽しみですねー

そんなわけでtextureviewの4.4版と4.0版を比較して読んでみました。
勉強になるわー。なるほどねー。

2013年11月1日金曜日

chromeのwindowが2枚復元された

たまたまPCをスリープにしようとして間違えてシャットダウンした。
シャットダウンを押してからやっちまったーと思った。

chromeって最後に開いているwindowが復元される。開いていたタブも。
なので、調査用から閉じてしまうとせっかく見つけてきたwebページが履歴のほうにいってしまい、
再度開くのがめんどいのなんの。

しょんぼりしながらPcを再度つけて、chromeを開いたらwindowが2枚表示された。
なんぞこれ?
バックアップから復元うんぬんというメッセージも見受けられなかった。
表示状態で電源オフだとデフォルトでそうなってるのか?

んーでも、電源切るときはちゃんと閉じた方がいいよね。

サーフェイスが関連付けられてるという前提の下で組んでみる。

必要なのは共通のGLのインスタンス。
drawの部分をrunnableにしてonSurfaceTextureAvailableで処理。
textureの有効無効をonSurfaceTextureUpdatedで書いてみる。

たぶんrunnableの実装はdrawに必要なパラメーターを渡して処理を依頼する感じ。
glコンテキストはsurfaceを通して使う感じかな。
surface,width,height
addしたtexureviewの幅や高さの設定もここかな?

TextureViewのHardwareLayer getHardwareLayer()

中でテクスチャーの初期設定やってるんじゃなかろうか。