bouzuya.hatenablog.com

ぼうずやのにっき

2017-06-01から1ヶ月間の記事一覧

2017-06 ふりかえり

2017-06 をふりかえる。 期間別の目標 2017 の目標。 自分の使うものはできるだけ自分でつくる なるべくはやく見えるもの・かたちあるものにする 納得のいくものをつくる こつこつとやる 斑鳩ノーマルをノーコンティニュークリアする 型システム入門を読む 2…

cookpad/license-tools-plugin をためした

Android アプリで依存しているライブラリの LICENSE をアプリ内に表示したい。 2017-06-28 の続きっぽい。 まず hierynomus/license-gradle-plugin を試した。 license-gradle-plugin の紹介記事は『build.gradleのdependenciesに追加されたライブラリのライ…

はてなブックマークの Android アプリの依存ライブラリを見る

他のアプリの使用ライブラリの LICENSE 表記は参考になる。どんな OSS のライブラリを使っているのかが分かるからだ。 たとえば、はてなブックマークの Android アプリは「設定」→「クレジット」とたどれば、それが見れる。 Data Binding Library Android Su…

Android での BLE スキャンと位置情報の設定と targetSdkVersion

Android での BLE のスキャンをする際の、位置情報の設定について。 2017-04-26 に書いたものの続き。 targetSdkVersion が 22 なら基本的に位置情報は無効でも良いのだけど、Android 6.0.0 だと targetSdkVersion が 22 でも位置情報は有効でないといけない…

bouzuya/bbna 1.3.0 をつくった

2017-06-25 に bouzuya/bbna 1.3.0 をつくった。ベータ版を公開している。正式公開は今週末にする。 2017-04-15 1.0.0 2017-04-24 1.1.0 2017-04-29 1.2.0 2017-06-25 1.3.0 1.2.0 から約二ヶ月だ。この間、なんだかんだと blog に書いていたけれど、外から…

2017-W25 ふりかえり

2017-W25 をふりかえる。 2017-06 の目標 bbna あるいは別の Android アプリに知見を活かす Haskell / Rust を日常に取り込んでいく 2017-06 もあとすこし。 bbna は 1.3.0 のベータ版をリリース。 Haskell / Rust はまったくだ。 2017-W25 の目標 とその記…

Dagger 2 でも javax.inject の Provider<T> が使える

Dagger 2 での Provider<T> について書く。 Dagger 2 の過去の記事は↓。 2017-06-19 2017-06-22 Provider<T> は JSR 330 の javax.inject に含まれている interface だ。2017-06-19 で内部的に生成されていると書いたものの共通の interface だ。 interface Provid</t></t>…

Visual Studio Code で制御文字を表示する

最近いろいろなところで制御文字を入力してしまっているようだ。キーボードの設定が悪いのかもしれない。誤って入力しても気づけるように Visual Studio Code で制御文字を表示したくなった。 まずは設定を変えて制御文字を表示する。 Preferences: Open Use…

Dagger 2 の @Inject constructor / ゼルダの伝説 神々のトライフォース進捗

2017-06-19 に続いて Dagger 2 の挙動を調べている。対象に @Inject なコンストラクタがあると、 @Provides なメソッドがなくても、 Dagger 2 はそれを生成してくれるっぽい。なんとなくしっくり来てない。 @Inject はそのインスタンスが Dagger 2 の管理下…

hageya

髪を切った。直近は 2017-06-06 。 2017-06-11 に書いたとおり奇数週の水曜日で切ってみた。ハゲが大きくなっていると言われた。そうか…… bouzuya じゃなく hageya になる日も近いか……。 『ゼルダの伝説 神々のトライフォース』の進捗。迷った。湖の東の洞窟…

Ruby on Rails の scope / ゼルダの伝説 神々のトライフォース進捗

Ruby on Rails の scope を使う。クエリの組み立てに使える。 eager_load(:child).merge(Child.condition) な感じで、複数クラス間で組み合わせてみたけど、LEFT OUTER JOIN child ON ... ではなく WHERE に入ってしまうものだから期待した通りには動いてく…

Dagger 2 の第一印象

昨日 (2017-06-18) のことだけど、ようやく Dagger 2 を bouzuya/bbna に適用した。第一印象を書いておく。 導入は簡単だった。 依存関係は app/build.gradle の dependencies に次の二行を入れて Android Studio の Sync Now で良い。 compile 'com.google.…

2017-W24 ふりかえり

2017-W24 をふりかえる。 2017-06 の目標 bbna あるいは別の Android アプリに知見を活かす Haskell / Rust を日常に取り込んでいく 2017-06 も半分を過ぎた。 Android は日々のことなので良し。 Haskell / Rust はまったくだ。 2017-W24 の目標 とその記事 …

java.util.TimeZone#getTimeZone(java.lang.String) が存在しない ID に GMT を返す

java.util.TimeZone#getTimeZone(java.lang.String) は見つからないとき GMT を返す。 2017-06-07 の SimpleDateFormat に続いて、また Java の古い Date まわりで踏んだ話。なぜか TimeZone がおかしくなるなあと思っていろいろ調べたら、存在しない TimeZo…

常識の差

前提条件をあわせるのって難しい。前提条件と書いたけど、常識ととってもいいし、経験から感覚的にやっている何かととってもいい。 たとえば、ソースコードは適切な単位で分割するのが良い。そういう価値観を前提条件として共有できているだろうか。ぼくはわ…

Android の <animation-list> と <rotate> でパラパラ漫画的に回転

Android で <animation-list> と <rotate> でパラパラ漫画的にくるくる回転するアレをつくった。 res/anim/ に置いたものを AnimationUtils で読んで……とやればスムーズに回転する動作ができることは知っている。最初はそれで実装した。ただ、どうも期待している動作がそれではなかっ</rotate></animation-list>…

Android の Drawable Resource とたたかう / 『ドクター・ストレンジ』を観た

Android の Drawable Resource でちょっとした図形を書けないかとがんばってみたけど、自動でのサイズ変更が邪魔で厳しい。画像と組み合わせれば制御できるらしいけど……。 Drawable まわりいろいろ間違ってる気がするなあ。大量の画像を commit しているのも…

Android の ConstraintLayout は要る

「 FrameLayout と LinearLayout でなんとかなる」 そう書いた 2017-05-22 のは嘘だった。完全に嘘ではないが、わりと嘘だ。なんとかなるが、つらい場面もある。 たとえば、縦横比を維持したまま拡大縮小した画像を中央配置しつつ、その上に指定の割合の位置…

Dialog -> PopupWindow

Android 。 Dialog だと画面いっぱいに表示できなくて PopupWindow に変えた。 PopupWindow に変えたら、 FragmentPagerAdapter が動かないので PageAdapter を使うように変えた。結果として Fragment を View に変えた。こういうのつらい。 Activity や Fra…

2017-W23 ふりかえり

2017-W23 をふりかえる。 2017-06 の目標 bbna あるいは別の Android アプリに知見を活かす Haskell / Rust を日常に取り込んでいく Android 。 bbna は Repository & UseCase を導入しようとしている。また別で書く。 Haskell / Rust 。今週は進捗なし。 20…

POJO / 映画『アサシン クリード』

仕事。 Android アプリも半分ほどできてきたような……。 ところどころで marker interface を使っている。 data A = B | C 的なことがやりたい場合の A を marker interface にしている。 marker interface ではなく abstract class にすることもある。 どち…

Android の lint をためす

Android の API Guides を読んでいる。一応。事前に読んでも気づかないけど、ハマった後に読み返すと、きちんと書いてあることが多い。……とは言え、さきに読むことで防げるならと思っている。 Android の lint の警告を修正している。放置していたら件数が増…

Android Studio の Live Templates を Timber のために使った

Android Studio で Timber のための Live Template を追加した。 Timber は 2017-06-05 に書いた。 Log から Timber へと変えて、おおむね問題なく使えている。ここまでにあった事故はごくまれに String.format の pattern の指定に誤りがあって死ぬくらいだ…

Android で SimpleDateFormat の X が動かなかった

Android で SimpleDateFormat の X (ISO 8601 time zone) が効かない事象にあたった。 java - Android parse String to Date - unknown pattern character ‘X’ - Stack Overflow ドキュメントには API level 1 から使えるとされている。 https://developer.a…

Android アプリでテキストサイズには sp を……

Android アプリ開発。 textSize は sp で指定するように Android Studio から警告される。 sp : scale-independent pixel (スケール非依存ピクセル) https://developer.android.com/training/multiscreen/screendensities.html https://developer.android.co…

Android の Logger ライブラリ Timber をつかう

Android 向けの Logger である Timber を試した。 JakeWharton/timber Square, Inc. の Jake Wharton さんがつくっている。 Android 関連でよく出てくる名前だなあ。有名な人なんだろうな。 2017-05-22 に出てきた square/picasso や square/retrofit も Squ…

2017-W22 ふりかえり

2017-W22 をふりかえる。 2017-06 の目標 bbna あるいは別の Android アプリに知見を活かす Haskell / Rust を日常に取り込んでいく Android 。 bbna は Presenter を導入しはじめた。「知見を活かす」というよりは試せなかった分を試している。また別で書く…

通院と画像配置

通院。歯医者と腰痛の治療へ。歯医者は特に問題ないらしい。そうか。腰痛はストレッチを続けていくらしい。そうか。 Android 。繰り返しのない背景画像をスクロールできる場所に配置しようとしてハマった。ImageView の scaleType を centerCrop にするだけ…

bouzuya/bs-code 1.5.2 をつくった

bouzuya/bs-code 1.5.0, 1.5.1, 1.5.2 をつくった。 1.5.x では Slack へ選択範囲を送信する機能を追加した。 きっかけは会社での分報 / status チャンネルの利用。なるべく頻繁に送信したいけど、わざわざ Slack に切り替えるのは面倒だ。メモはエディタで…

仕事

忙しい。残業。おまけに健康診断のために夕食の時間制限。パンをもぐもぐしながら仕事……。