目的
DroidKaigi2016で参加した講演のメモとその共有
1. Master of Canvas
講演者:Yuki Mima (@amyu_san)
主張:素晴らしいUI・UXを用いて、ユーザーにaha experienceを提供したい。
内容:独自実装した3つのアニメーションの説明がメイン
<概要>
1.waveswiperefreshlayout
水がぽちゃっと落ちてくるようなアニメーションを実装。2つのベジェ曲線を組み合わせて作成。上下左右に動く水は4つの2次関数を組み合わせて作成。
- Path#cubicTo:ベジェ曲線を引く
- TypeEvaluator:時間軸に沿って色や動きを指定、多次元配列を渡す時に使用する(?)
- Interpolator:アニメーションの変化率を定義(キーワード、覚えたい)
2.BeerSwipereFreshlayout
ビールが注がれるアニメーション。
- Path#op :AND, ORなど演算子の組み合わせで画像の合成を行う。時間軸に沿ってmOpPathを上下に動かすことで、ビールを注ぐ(注がれる)様子を表現
3.ColoringLoadingとTextMorphingView
1本の線で複数の文字を表現する。ベジェ曲線を用いたアニメーション。
- ExtendScript Toolkit
2. Fragments: Why, How, and What For?
講演者:Brenda Cook
内容:Fragmentで出来ること、その実装について
<概要>
fragmentを利用するのはよりFlexibleなアプリケーションを作るため。
内容としては、あっさりしていた。
- static or dynamicなfragmentの違いとその実装方法
- fragmentのライフサイクル
- fragmentの差し替えetc..
3.僕がテスト書け書けおじさんになった経緯とその過程でやったこと
講演者:yuyakaido
主張:テストコードを書く文化を作る。テストの目的化は無意味、エンジニアは怠惰であれ!
内容:Couplesのアプリでの実例を元に実際にどういう流れでテストコードを書いたのか
プレゼン資料:こちらから
<概要>
プレゼン資料が充実しており、その通りに進行。流れとしては
- Couplesのアプリの問題点:テストケースが膨大
- 設計について:マッチョなActivity & Fragment
- テストコードを書く上での方針:バックエンドの見直し
- テスト手法とフレームワークについて:資料参照
- テスト文化を作るには?:勉強会の開催、環境を用意するだけではNG
- まとめ:人的リソースの浪費、および機会損失を防ぐために、テストコード書こう。
- 番外編:ジェニファーさんのアプリ Telecineは便利らしい。
4.最速でリリースするためのAndroidアプリデザイン
講演者:青山 直樹
主張:デザイナーもちゃんとコードに触れよう!
内容:デザーナーの視点から、よりよいUI・UXとするためにはコードに触れることでAndroidでは何が出来るのかを知るべき、という話。
<概要>
- デザイナーもコードを書いたほうがいい(書けるか?ではなく、書いたことがあるかどうか)
- カンプは作るべき(最終アウトプットはアプリなので伝わればok)
- リソースの定義:デザインスタイルガイドに記載するような内容をValueに書いておき、それ以外は使わないことで全体が崩れない。
- カラーパレットには全部使いそうな色を入れておく、Dimensに8dpごとに文字サイズを決めておく。
- 画像は9-patchは使わない:ゆくゆくはAndroid Studio 2.0 のVector Assetsを利用(SVGファイルを用意すればOK, Material Designを簡単に読み込める)
- Material Designのススメ:今はMaterial Designを基本に考えるのが効率的、Documentが充実、体型だった仕組みがある—> カスタマイズでブランディングが可能。
5.用途に合わせたアニメーションの実装方法
講演者:住友孝郎
主張:Animationのフレームワークを整理したい
内容:Animationを場合分けして実装についてxmlで書くものと、コードで書くものの区別しながら説明。
<概要>
- Viewの中身を動かす場合:Animation DrawableとAnimation Drawable
- Viewそのものを動かす場合:コードとxmlによる表現、ViewPropertyAnimationの紹介
- 複数のViewを動かす場合:ActivityAnimation, FragmentAnimation, Transition, ActivityTransition, FragmentTransitionに分けて説明。
6.実践!Android Studioプラグイン開発
講演者:こにし ゆうすけ@konifar
主張:プラグイン作ると非常に便利
内容:自身が作成した経験に基づき、プラグイン開発についてざっくりと説明
<概要>
- プラグイン開発について:基本的なことはQiitaでok
- 覚えておくべきクラス
- ActionEvent: プラグインのActionに関する様々な情報を取得できるクラス
- Project: プロジェクトの情報を取れる。
- Editor: エディタの内容を取得できる。
- Document: エディタ内のテキストを取得。
- PsiFile: プロジェクト内のファイルの情報の取得。
- UIの実装
- Dialog
- EditorHint
- Notification
- File Choser
- 悩んだときは・・?
- intellij -sdk -docs
- android-parcelable-intellij-plugin
- adb-idea
- 最後はandroid studioのコードを読む。