Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Androidでライブラリを作る

1,511 views

Published on

Androidでライブラリ開発をしたちょっとした体験談です

Published in: Mobile
  • Be the first to comment

  • Be the first to like this

Androidでライブラリを作る

  1. 1. Androidで ライブラリを作る 2015/11/24 potatotips #23 1
  2. 2. 自己紹介 • 名前 : 山戸茂樹(やまとしげき) • 職業 : Android ライブラリ 開発 • 自慢:愛妻家(嫁のためにコタツを出しました) • Twitter : @heki1224 2
  3. 3. ※注意 Android 6.0 が出ましたが そういうナウい話ではありません。 地味な体験談です。 3
  4. 4. [質問] Androidのライブラリを 作ったことある人ー? 4
  5. 5. そもそも(良い)ライブラリに 必要な条件とは? 5
  6. 6. (良い)ライブラリの条件 • 何か(便利な)機能を提供している • 使うのが簡単 • 容量が少ない • 速度が速い • 他ライブラリに依存していない 6
  7. 7. Androidライブラリ 特有の問題 7
  8. 8. Androidライブラリ 特有の問題 • OSバージョン問題 • 65k問題 • 非同期処理問題 8
  9. 9. OSバージョン問題 • 幅広いOSバージョン → どこまでサポートするか? • API deprecated 対応 → if文… • 古い端末が手に入らない → 実機テストが出来ない 9
  10. 10. 65k問題 • ライブラリを作るのにライブラリを使えない → gson, RxJava, okhttp, retrofit, dagger • 案外困るのが androidTestCompile で65k → JUnit4 / Robolectric を使うしかない 10
  11. 11. 非同期処理問題 • 生Threadは訳わからない • ExecutorServiceも熟練が必要 • AsyncTaskLoaderは使えない(Activity依存※) • AsyncTaskもちょっと怖い(並列性問題※) 11
  12. 12. 結果 • Android 2.3 から WebViewテスト • HttpURLConnection を使う • JSON Parse は標準APIで頑張る • Handler と HandlerThread で頑張る 12
  13. 13. つらい 13
  14. 14. でも 14
  15. 15. 楽しい 15
  16. 16. 学んだこと ・ライブラリを作ると標準APIに詳しくなる ・便利なライブラリを使わないので、実装ス キルの訓練になる ・ライフサイクルを意識出来るようになる → 特に destroy() などの終了処理 16
  17. 17. ちなみに ・Handler → myLooper(newしたスレッド) or MainLooper(UIスレッド) ・HandlerThread → 別スレッドを作り、そのmyLooperを使える 17
  18. 18. 余談 ・10月に転職しました 某ニュースアプリの六本木の会社 → 某AJITOがある渋谷の会社 最後にサラリーマンとして言わせてください 18
  19. 19. Android エンジニア募集しています 19 http://voyagegroup.com/crew/recruit/career/
  20. 20. おわり 20

×