DroidKaigiに行ってきたので、そのメモや感想などです。
DroidKaigi
(DroidKaigi Tシャツ来て行きました)
DroidKaigi Tシャツ
DroidKaigi公式アプリ
DroidKaigi カンファレンスアプリ
Activity, Fragment, CustomView の使い分け -マッチョなActivityにさよならする方法-
あんざいゆき
資料
[Activity, Fragment, CustomView の使い分け -マッチョなActivityにさよならする方法-]
(http://www.slideshare.net/yanzm/droid-kaigi2015-yanzm)
関連資料
マッチョなActivity
マッチョじゃないActiviy
SquareのエンジニアによるFragmentやめるわ宣言
感想やメモ
(開始が10時と少し早かったので5分ほど遅刻しました)
マッチョなActivityを避けるため、可能な限りCustomeViewやFragmentに処理を移譲する話。
あとFragmentはお約束さえ守れば怖くないという話。
ただ、そのFragmentのお約束を、あんざいさんが書いてくれているMaster of Fragment(beta)には、まだ収録されていないissuesが22個くらい存在しているらしい。。。(まだお約束が20個以上ある?)
開発を効率的に進めるられるまでの道程
cattaka_net
感想やメモ
効率的に開発を進めるためにはやはりテストがネック、ということでテスト自動化の話。
外部依存させないための方法など。
テストフレームワークは標準のものだけでも十分強力。
だいたい自分と同じ選択だった。
Androidのテスティングフレームワークを選定してみる
テストコードを書くことによって「壊す恐怖」から開放される、という感覚は大事な気がする。
これを体験するとテストを書くのが億劫にならなくなる。
絶対落ちないアプリの作り方
白山 文彦
資料
まだupされていないようです。
感想やメモ
絶対に落ちないアプリは存在しない。 が、プログラマの無知と怠慢は何とかしたい、という話。
AsyncTaskのダメっぷりなど。
自分は今まで「アシンク」と読んでだけど、登壇者の方は「エイシンク」と言ってた(正しく発音するならエイシンクなのかも)。
Androidのライフサイクルより長生きするものに注意する。
onSavedInstanceState矯正ギプス(開発者オプションの[アクティビティを保持しない]にチェックを入れたまま開発する)は真似しようと思った。
ApplicatioContextとActivityContextの使い分けはやっぱり悩ましい。
最後の「あとは資料で会いましょう!」が良かった。
初学者に嬉しいAndroid開発環境
hkusu
感想やメモ
EventBus、Butter Knife、Retorofitをがっつり使ってみたくなった。
Android学ぶ君へ。生き抜くためのナレッジ共有
岡野 忍(@operandoOS)
資料
Android学ぶ君へ。生き抜くためのナレッジ共有
参考資料
DroidKaigiの資料もろもろ
感想やメモ
確かに、Viewの選定等できるくらいの判断材料を貯めこむの大事。
Google PlayのTRENDLINGは知らなかったので定期的に見てみる。
最近QiitaでAndroidのソースコードを読むときは以下を使うと書いたけど、
GrepCode.com - Java Source Code Search 2.0
android/platform_frameworks_base
Androidの暗黙的Intent発行後に表示されるダイアログのアプリ表示順について
androidXRefも使いやすそう。
便利コマンド
adb shell dumpsys activity top
adb shell input text hoge
Android Command Note
Pull Request時のCheck Listで、チェック範囲の認識を共有するの良さそう。
進化するランタイムART
kmt-t
資料
進化するランタイムART
関連資料
[Androidの仮想マシン Dalvik編]
(http://tatsu-zine.com/books/androidvm-dalvik)
感想やメモ
ARTのQuickコンパイラはDalvikのJITコンパイラがベースだったりするので、ART攻略の前にDalvikから攻略する必要がある(本を買いましょう)。
実際、「リンカとローダ」あたりから自分の知らない世界の話が始まってしまったので、「Androidの仮想マシン Dalvik編」を買う(たぶん)。
やっぱり、あのへんのレイヤーがわかる人はすごいと思った。
あとARTのマスターブランチとkitkat-mr-releaseブランチの差分(539703)やばい。
ARTのメモリ管理
haru067
資料
ARTのメモリ管理
感想やメモ
ARTのセッションを連続で聞いてみた。
デブ専用車両の話がわかりやすかった。
Stop-The-World(STW)という言葉を覚えた(かっこいい)
logcatに出てくる
GC_FOR_ALLOC
には気をつけるようにする。
「進化するランタイムART」でも言ってたけど、Dalvikと比較すると、ARTはやはり頑張っているらしい。
つかえるGradleプロジェクトの作り方
zaki50
感想やメモ
build.gradleの{}はクロージャー。項目の設定はメソッド呼び出し。(あまり意識できていなかった)
今までversionCodeは1づつ上げてたけど(versionNameとは別)、versionCodeとversionNameを合わせるのも良さそう。
ビルドサーバーの高速化は真似したい。
アプリを公開する前に、最低限知っておきたいセキュリティ事項
Gaku Taniguchi
資料
アプリを公開する前に、最低限知っておきたいセキュリティ事項
参考資料
Androidアプリの脆弱性の学習・点検ツール AnCoLe
感想やメモ
開発時のオレオレ証明サーバ実装(例外無視)のままリリースしてしまう、、
AnCoLe、良さそうだけど、Eclipseプラグイン、、
アンドロイダーがなぜかこんなのやってる。
個別同意取得はダイアログ出す。
総務省では「個人情報」という言葉を使わず「利用者情報」を使っている。
(議論するときに使わない)
G社は全部同じポリシーを使っている会社のプライバシーポリシー != アプリのプライバシーポリシー #DroidKaigi #DroidKaigiA
— ぃずみん (@izumin5210) 2015, 4月 25
GoogleとFacebookのプライバシーポリシーを読むと、清々しいまでに全部の情報を持っていくことを宣言している #DroidKaigi
— でこい (@decoymaker) 2015, 4月 25
Material Designを取り入れたデザインリニューアル
ninjinkun, yuki930
資料
資料はまだupされていないようです。
感想やメモ
ガイドラインがリアルタイムに変わっていく、、
ガイドラインを順守するかユーザの使いやすさを重視するかで議論した。最終的にはユーザテストの結果に従った。
ついに日本語のフォントサイズに関するガイドラインが。
マージンやフォントサイズ変えるだけでもそこそこMaterial Designっぽくなる。
Retrofit使うとドキュメントとしても使えるI/Fができる。
RxJava良い。Promise的な。
先行実装するとGoogleからの評価が上がる。
BaseActivity的なの使うかどうかでかなり議論した(悩ましい)。
Fireside Chat
mhidaka, あんざいゆき, 長澤 太郎 (@ngsw_taro), ninjinkun, yuki930, Nkzn
暖炉の前でくつろいでいるように開発者の本音が聞けるセッション
感想やメモ
Q. Kotlinのアプリ開発事例ある?
A. 自分は聞いたことないですね。。
Q. BaseActivity的なやつ使ってますか?
A. 他人が書いた5段継承見て嫌になった。
使いたくなる誘惑に駆られる。
人によって判断する(この人はBaseActivity触ってもよい、この人はだめ、みたいな)
処理の共通化を目的とした継承はしない。処理を共通化したいなら移譲すべき。
Activityに関しては、Activityのライフサイクルをコールバックで受け取るクラスがあるので、それを使う。
(やっぱり悩ましい)
Q. サポートライブラリに入っていてほしい機能
A. PreferenceActivityとPreferenceFragmentの山岡士郎と海原雄山みたいな関係。AppCompatにPreferenceActivityがほしい。
継承元にサポートライブラリのクラスを使うのはどうなのか。
Material Design関連。Polymerには既ににあるやつとか。EditTextのバリデーションとか。4系と5系でMaterial Designサポートつらい。
Material Designに関しては頻繁に更新されそう。更新予定とかわかれば心が安らかになりそう。
Q. カンファレンスアプリついて
A. スタッフが今週の月曜日くらいから作った。
ABCアプリをベースに作った。
実は解決していない問題がある(クラッシュする)。
既存のバグを直してからソースコード公開する?
Q. IoT関連のセッションが少なかったけど?
A. BLE通信は闇
Q.OS対応バージョンについて
A.4系?
2.3みんな切りたいと思ってる。
今から作るなら4.4以上で良いのでは? Google自身が90%ルールを破ってくるのがアグレッシブ。
ICS以上?
新規で作るならAPI15(4.0.3)以上にしている。
ユーザー数によっては2系切って端末配ったほうが安いのでは?
Jakeと握手したい
登壇者や運営の方々お疲れ様でした。
あとで(聞けなかったセッション)
[AndroidとSELinux]
(http://www.slideshare.net/sola1980/androidse-linux )
[新言語KotlinでAndroidプログラミング]
(https://speakerdeck.com/ntaro/xin-yan-yu-kotlindeandroidpuroguramiingu)
[Android - Bitmapは怖くない]
(https://speakerdeck.com/wasabeef/android-bitmaphabu-kunai )
[CardboardのUXをカメラで向上する]
(http://www.slideshare.net/KenichiTakahashi2/cardboardux-droidkaigi-2 )
[ゲームアプリケーションのアップデートサイクル]
(http://www.slideshare.net/kentaroiizuka/droidkaigi)
[アプリの企画、プロトタイプからリリースに至るまで]
(https://speakerdeck.com/chocomelonchan/droidkaigi)
[モバイルにおける電力最適化のための1プラクティス]
(http://www.slideshare.net/suguruoho/droid-kaigi)
[デザイナーがXMLを書くことでできる改善しやすいアプリ開発]
(https://speakerdeck.com/yulily100/tesainakaxmlwoshu-kuahurikai-fa-huro)