うさがにっき

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

android

Kotlinためしてみる

概要 Android Testing Bootcampで触発されたので、赤べこ本を読んでKotlin勉強する #android_testing_bc今日のまとめkotlinをテストから攻める— うさがに@AR㌠VR (@usaganikki) 2017年5月10日 詳細 ️# 開発環境 とりあえずTry Kotlinのサイトで書いてみる tr…

AndroidでVysorを使ってAndroidのミラーリングとかキャプチャとか動画撮影とか

概要 Vysorっていうchrome plugin教えてもらって感動したので小ネタとして残す 詳細 前提 USBデバッグとかは良きようにしておく 一応必要な設定は以下 offthehook888.net Vysor chrome.google.com使い方 youtu.be こんな感じでかなりサクサクとリアルタイム…

VR prototypeツール紹介

概要 VRにおけるprototypeツールを二つ紹介する VR Prototyping Template Sketch-to-VR 詳細 VR Prototyping Template facebookから最近出たVRのPrototyping環境 facebook.design technical-creator.com 使い方 TECHNICAL CREATORさんに書いてある通り、各々…

vuforia + unityでARを実装する際に参考となるドキュメントまとめとARアプリを作ってみた感想

前書き 本記事はUnity Advent Calendar 2016 12/20の記事です qiita.com 概要 こんなことをするアプリを作りたい Image Targets Sample App - Augmented Reality - Vuforia (new) - YouTubeそのために、unity, vuforiaのARアプリ実装方法をまとめる・・・と…

ProjectTangoとはなんなのか、どうしたらいいのか

前置き この記事は Androidその2 Advent Calendar 2016 の12/1の記事です qiita.com 概要 ProjectTangoとは一体なんなのか 一言で言うなら 通常のスマホでは体験できないAR体験をいろいろなセンサーを搭載していることによって体験できる 端末であるProject…

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なるクラスがあったので調べてみたら割と使…

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>

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

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

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の概要 クラスメソッド…