うさがにっき

読書感想文とプログラムのこと書いてきます

daydream現状まとめ、サンプルソース眺めた感想(native層)

概要 tiro105.hateblo.jp の続き、native眺めてみまた&vulkan対応などの今後どうするのが正解なのか考えてみた 詳細 native層について 基本的にはOpenGLES 2の書き方をしているので、OpenGLES使える人はそんな困らないと思う(vulkan対応したソースとか欲し…

daydream現状まとめ、サンプルソース眺めた感想(java層)

www.youtube.com 概要 daydream気になる、けど現状どうなの?開発行ける雰囲気? 2016/7/16時点での雰囲気を掴む サンプルコードあったら読んでみる 詳細 情報 qiita16件、けどだいたいGoogleIO軽くまとめた感じの記事 「daydream」の検索結果 - Qiita stack…

よく使うショートカット

概要 よく使う、使いそうなショートカットをまとめる 詳細 Find Action(COMMAND + SHIFT + A) AndroidStudioのすべての機能にアクセスできる Basic Completion(CTRL+SPACE) 文字列から予測する補完機能 Macではspotlightと被っているのでspotlightを変えるか…

Vulkanのサンプルを動かしてみた

概要 VulkanとはAndroid nから実装されるOpen Gl ESの後継となる機能 以下の情報をもとにVulkanのサンプルを動かすまでの険しい道のり Vulkan Setup | Android DevelopersVulkanの情報があまり見つからなかったのでまとめた (まだpreviewなのでどんどん変わ…

NのDataSaverを試してみた

概要 Android N Developer preview2に入っているDataSaverの挙動を調べてみた 詳細 What's DataSaver? アプリのバックグラウンド通信を禁止することにより、モバイル通信量を少なくする機能 WIFI環境に入ればバックグラウンドは自動的に行われる また、ホワ…

onDataでCustomAdapterを使ったlistviewのテスト方法

概要 EspressoでonDataを使えばlistviewのadapterをテストできるという記事はよく見かけるが、customAdapterに対してどうすればテストができるかという日本語記事はほとんどなかった のでまとめた 詳細 Espressoとは? ここらへん参照 Testing UI for a Sing…

Realm migration小ネタ集

概要 小ネタ集 Realmのmigration時、気をつけなければならないこと 概要 プリミティブ型を追加するときには必須項目であることを明示すること 例えばこんな感じでboolean型を追加したいとする if (oldVersion == 0) { RealmObjectSchema pictureInfoSchema =…

DataBindingを使ったLayoutの作成(ソース編)

概要 tiro105.hateblo.jp の続き javaソースの視点からDataBindingの使い方を見てみる 詳細 Bindingクラスの作成方法 ActivityでのBindingクラスの作成にはDataBindingUtilクラスおsetContentView()メソッドを使ったが、このメソッドはActivityクラスのsetCo…

DataBindingを使ったLayoutの実装(xml編)

概要 DataBindingを使えばjava側でviewの操作などをxmlで完結することができる ButterKnifeなどを使えばある程度は簡略化できるが、よりプレゼンテーションとロジックを切り離して考えられる様子 その他にも色々できるみたいだが、とりあえずlayout xml内で…

DroidKaigi2016でスピーカーしてきました

概要 DroidKaigi 2016でスピーカーをしてきたのでその感想などなど 詳細 DroidKaigi 2016で発表してきました。 怖くないGradle設定とBazel from shimada tatsuya www.slideshare.net 講演直前 みんなきてね! https://t.co/XbiOzr0Rls— うさがに@ARで美少女 …

HashMap[int, int]使うならSparseIntArray使ったほうが効率的

概要 API1からあったのに知らなくって恥ずかしいシリーズ SparseIntArrayを使ったほうがHashMap[int, int]を使うよりいいよっていうのをまとめた 詳細 SparseIntArrayとはHashMapの[int, int]に特化したクラス 公式ドキュメントに SparseIntArrays map integ…

HandlerThreadを使ってHandlerみたいなQueue構造を他スレッドで使う

概要 HandlerThreadを使うと他スレッドからでもHandlerの仕組みを使えるようなのでそのまとめ (HandlerThread API1からあるじゃん…知らなかった恥ずかしい…) 詳細 Camera2 APIに四苦八苦していたらHandlerThreadなるクラスがあったので調べてみたら割と使…

ARSDK選定

AR

概要 ARを実装する際、Open GLES, Open CVでゴリゴリ書くのはとても嫌なので使いやすそうなSDKを幾つか探してみたまとめ 詳細 前提条件 iOS, Androidで動く できればサンプルが豊富にあること アプリ内に取り込めること(AR専用アプリとしては作らない) あ…

AndroidStudioにおけるgradleのやっておいたほうがいい設定と注意すべき点

概要 AndroidStudioでのgradleの設定でやっておくと便利なものと、注意すべき点をまとめた 詳細 gradleのビルドが遅いときにやると有効な設定 AndroidStudioの設定 gradleビルドでは最新版がリリースされていないか毎回確認しに行くためビルドが遅くなりがち…

Unity5.3.1でゲームプレイ中のビューの色を変更する方法

今年はVR, ARを触ることが多くなってUnityを触りそうなので勉強中 概要 Gameプレイ中にUnityのソースコードやSceneを操作しても元に戻ってしまう これを防ぐためにGameプレイ中にビューの色を変更する 詳細 いろいろ情報があった Unity 5 editor greyes out …

Floating Action Buttonを使った俺流speeddialの実装方法

概要 Floating Action Button(以降fab)を使ったspeeddialを実装したので、その方法をまとめておくこんな感じの 詳細 layout レイアウトでは展開するfabを重ねておく 初期表示で表示しないものはvisible:goneにしておく

ButterKnifeZeleznyの変数の命名規則を変更する方法

概要 あけましておめでとうございます 今年もよろしくお願い致しますButterKnife便利ですよね そんなButterKnifeをさらに便利にしてくれるButterKnifeZeleznyですが、この変数名定義方法の変更についてまとめます 詳細 デフォルトではlayout xmlのidをそのま…

RecyclerView内で正方形のViewを定義する方法

概要 RecyclerViewの要素で画面の横幅にあわせた子要素を定義する方法をまとめた まとめ 結論から言うとRecyclerView.Adapterから攻めるより正方形の独自Viewを作る方が現実的最初はRecyclerView.Adapter内のonBindViewHolderで横幅を取得し、縦に設定しよう…

TabLayoutのタブテキストの色やフォントを変更する

概要 TabLayoutでタブにあるテキストのフォント、色、大きさを変更する方法をまとめる 詳細 色、大きさの変更方法 tabLayoutにstyleを指定する <android.support.design.widget.TabLayout android:id="@+id/tab_layout" android:layout_width="match_parent" android:layout_height="wrap_content" style="@style/ToolTabStyle"/> styleの種類は以下参照 Google Play Style Tabs using Tab…</android.support.design.widget.tablayout>

prototypeを使ったオブジェクト指向

概要 JavaScript入門書を読んで気になった点 その3 - うさがにっき の続き JavaScriptにおけるオブジェクト指向 JavaScriptでは関数(Functionオブジェクト)にクラスとしての役割を与えている var Member = function(firstName, lastName) { this.firstName =…

センサーから得られた値を整地して使う

概要 コンパスを作っていたら、センサーから取得した値は変動が大きくそのまま使うと振れ幅が大きく使えるものではなかった センサーから得られた値をうまく整地する方法を考えてみた 詳細 コンパスを作る際には加速度センサーと地磁気センサーを使って実現…

Cookpad×Fablic −現場のエンジニアが話します に参加しました

概要 CookPadさんで開催された「Cookpad×Fablic −現場のエンジニアが話します」に参加したのでそのまとめと感想 詳細 感じたことは斜体でメモった 「cookpad.comの中身〜クックパッドでの開発〜」(Cookpad前田さん) 5500万人以上の利用者、219万レシピ Rub…

realmでテーブル構造(モデルクラス)の更新、データ移行方法

概要 realmで何も考えずにモデルクラスを更新してアプリをアップデートすると以下のエラーを吐いて落ちる io.realm.exceptions.RealmMigrationNeededException: RealmMigration must be provided at io.realm.BaseRealm.migrateRealm(BaseRealm.java:568) at…

TabLayoutでsetupWithViewPagerでタブ名がでない時

概要 tiro105.hateblo.jp の補足 tablayoutでsetupWithViewPagerを使って、タブ名がでない時に見るべきところ 詳細 viewPagerに設定するFragmentPagerAdapterの最小構成をoverrideしてadapterを作成するとタブ名が表示されない 以下メソッドをoverrideしてタ…

Now on Tapが日本語対応したので使ってみた感じと設定周りの確認

概要 marshmallowにアップデートがきたので、Now on Tapがまわりの確認と、ついでに設定画面周りの変更を見てみた 詳細 Now on Tap 設定 > Google > Goole Now的なところから設定できる 例えばブラウザでHOMEボタン長押しすると 表示されてる文字列を解析し…

Android Marshmallowのpermissionの動きについて

概要 【合同勉強会】RettyTechCafe ☓ Developers.IO Meetupに参加してきた - うさがにっきで教えてもらったmarshmallowのpermission周りはちゃんと調べとかないとすごい危険な感じがしたので実際にmarshmallow端末でいろいろ動きを調べてみた 詳細 marshmall…

RecyclerViewの中にNestedScrollViewを入れてみる(失敗)

概要 NestedScrollViewがでたことにより内部にScrollViewを入れれるようになった なのでRecyclerViewにNestedScrollView入れてみたらどうなるか調べてみた 詳細 listviewでもよかったんだが、ViewHolderをかえてスクロールするところとスクロールしないとこ…

AndroidStudio1.5 Betaにしたらビルドエラーになったこととその対処法

概要 AndroidStudioを1.5βにしたらgradleエラーになってプロジェクトが実行できなくなった、その対処法 詳細 エラー的にはgradle2.4のディレクトリが無いとのことだった Error:A problem occurred configuring root project 'NestedScrollViewInRecylerView'…

【合同勉強会】RettyTechCafe ☓ Developers.IO Meetupに参加してきた

概要 【合同勉強会】RettyTechCafe ☓ Developers.IO Meetup#14 - connpassに参加してきたので、その感想、まとめ 詳細 RettyさんでAndroid marshmallowの勉強会に参加してきた アジェンダは以下のような感じ Mで変更になったpermissionの概要 クラスメソッド…

JavaScript入門書を読んで気になった点 その3

概要 JavaScript入門書を読んで気になった点 その2 - うさがにっきのつづき 詳細 名前付き引数関数 こんな感じで関数の引数に名前をつけることができる function triangle(args) { if(args.base == undefined) { args.base = 1; } if(args.height == undefin…