2018年に見たアニメ
毎年恒例のやつを今年もやります。タイトルの並び順は50音順です。カッコ[ ]
つきのものは録画したけどまだ見てないというやつです。必ず見るのでいつかは外れると思います。
冬クール
ヴァイオレット・エヴァーガーデンとよりもいを見て毎週泣くおじさんと化したクールだった。
- カードキャプターさくら クリアカード編 (2018)
- 斉木楠雄のΨ難 第2期
- スロウスタート
- 宇宙よりも遠い場所
- ダーリン・イン・ザ・フランキス
- だがしかし2
- たくのみ。
- 覇穹 封神演義
- ヴァイオレット・エヴァーガーデン
- ハクメイとミコチ
- Fate/EXTRA Last Encore
- ポプテピピック
- ゆるキャン△
- りゅうおうのおしごと!
春クール
ウマ娘さんはアニメはものすごくよかったのでもっと頑張ってはやくゲームをリリースしてほしい。「スポ根ものいいやん」となったきっかけ。
- あまんちゅ!~あどばんす~
- 宇宙戦艦ティラミス
- ウマ娘 プリティーダービー
- 銀河英雄伝説 Die Neue These 邂逅
- ゴールデンカムイ
- 重神機パンドーラ
- STEINS;GATE 0
- ソードアート・オンライン オルタナティブ ガンゲイル・オンライン
- 多田くんは恋をしない
- ひそねとまそたん
- ヒナまつり
- 僕のヒーローアカデミア(第3期)
- ルパン三世 PART5
- 若おかみは小学生!
夏クール
はねバドで試合中に顔つきが変わるやつ、僕は宝塚システムと勝手に呼んでいた。最終回のカタルシスは比類なきものだったと思います。ハ行のアニメ大杉。
- アイドルマスター シンデレラガールズ劇場 3rd SEASON
- アンゴルモア元寇合戦記
- すのはら荘の管理人さん
- ちおちゃんの通学路
- 中間管理録トネガワ
- 天狼 Sirius the Jaeger
- 進撃の巨人 Season3
- ハイスコアガール
- バキ 最凶死刑囚編
- はたらく細胞
- BANANA FISH
- はねバド!
- はるかなレシーブ
- ヤマノススメ サードシーズン
秋クール
グリッドマンは男の子が好きなやつで完全に満たされていたのでとてもよかった。ひそまそ、JOJO、リリスパは個人的にぺろぺろ三部作(三部作ではない)と呼んでいる。ア行のアニメ大杉。
- アイドルマスター SideM 理由あってMini!
- あかねさす少女
- アニマエール!
- 色づく世界の明日から
- INGRESS
- うちのメイドがウザすぎる!
- 宇宙戦艦ティラミスⅡ
- SSSS.GRIDMAN
- ガイコツ書店員 本田さん
- からくりサーカス
- ゴールデンカムイ(第二期)
- ゴブリンスレイヤー
- ジョジョの奇妙な冒険 黄金の風
- ゾンビランドサガ
- DOUBLE DECKER! ダグ&キリル
- やがて君になる
- RELEASE THE SPYCE
劇場版
リズも若おかみもどちらも衝撃だったと思う。どの作品も全体的に美術が素晴らしく、よく動き、そして泣けた。
- さよならの朝に約束の花をかざろう
- 劇場版 のんのんびより ばけーしょん
- ペンギン・ハイウェイ
- リズと青い鳥
- 若おかみは小学生!
RobolectricでRecyclerView.smoothScrollToPosition()を呼ぶとテストが進まなくなる(未解決)
ViewPager
の代わりにRecyclerView
を使ってチュートリアルの紙芝居を実装したのだが、進むボタンをN回押してサインアップへ進む画面に行くテストがいつまで経っても終了しない現象が起きた。諸事情によりprintデバッグを使って二分探索的にどこで止まっているかを調べたところ、どうもDatabindingでRecyclerView.smoothScrollToPosition()
を呼んでいるところが怪しいということになりぐぐった結果、次のissueを発見した。
私の環境ではRobolectricは4.0.2だが、issueが出たのがだいたい1年前で、他の人が4.1-SNAPSHOTでも起きていると言っているので根が深そう。EspressoのswipeLeft()
を使ってみたがこれもハングした。しかし、RecyclerViewActions.scrollToPosition()
を使うとページを送ってやることはできた。ただ、この方法ではスクロール位置がコールバックに渡って来ないので、「ページ番号が変わっているか」みたいなことはチェックできないかもしれない。
結局、いい回避策が思いつかなかったので棚上げしてしまった。アニメーションが絡むとなんかうまくいかないのかなとか、スクロールした量(xとかy方向の移動量)を計算できないのかなとかいろいろ想像してみるけど全然わからない。知っている人がいたら教えて欲しい。できれば直してくれるとありがたい。
以下は本件とは関係ないけどいい本なのでみなさん買ってください。
AndroidのLiveDataとかViewModelについて考えるとりとめのないこと
LiveData
はデータホルダなので、覚えておきたいことを覚えておくために使うのがよい。表示したいデータとか、画面の状態など。私は、イベントやメッセージは受けた人が覚えておくべきものではないと考えているので、イベントバスやメッセージパッシングのために使う時にはなんらかの工夫が必要だと思っている。そういうことがしたくなったらReactive extensionとかを使ったほうがいいかもしれない。ViewModel
はActivity
やFragment
ではなくViewDataBinding
に結びついていると考える。バインドしたいデータのソースが複数種類あるならViewModel
を継承したインタフェースか抽象クラスをViewDataBinding
クラスにセットできるようにしておく。Intent
やFragment
のArgumentを使ってViewModel
のクラス名を渡すなどしてやれば、Activity
やFragment
はどのViewModel
を取得すればよいかわかる。LiveData
はたとえ同じオブジェクトがset/postされてもObserver.onChanged()
を呼ぶ。これが嫌ならObservableXxx系のクラスを使ってバインドするか、BindingAdapter
で前回バインドした値を受け取って新たにセットするかどうか決めるのがいいのだろうか。MediatorLiveData
でラップしたものを使うほうがスマートかもしれない。- こういう使い方はよくないのかもしれないけど、
ViewModel
をActivity
単位で共有するように作ったかとか、Fragment
ごとに別々に持っていてもいいのかとか、ProviderのFactoryとかタグは必要なのかとか、やっているとすぐ忘れてしまうので、ViewModel
ごとにXxxViewModel.getInstance(FragmentActivity, ViewModelProviders.Factory)
みたいな感じのメソッドを用意している。 RecyclerView
を持っている画面のViewModel
をそれぞれのアイテムビュー(RecyclerView
の子要素)に渡したくなることがあるのだけど、なんとなく違和感を覚えてしまう(なんとなくなので杞憂ならそれでいいんだけど)。データだけならAdapter
の中でバインドしてしまえばいいのだと思うのだけど、クリックイベントを拾って選択状態にしたいとか画面遷移したいとかいうことをやろうとするとViewModel
でイベントをさばきたくなってしまう。RecyclerView
を持っている画面のViewModel
って他に何かやることあるのっていう気もしていて、だったら各アイテムビューにViewModel
渡してもいいじゃんと思ったり、実はそういう画面にはそもそもViewModel
いらないのでは?と思ったりもして迷宮入りしている。