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.

4

Share

Download to read offline

モダンなAndroidアプリ開発勉強会

Download to read offline

以前、QiitaのAPIを叩いてリストに表示するAndroidアプリを開発しました。ただ開発するだけではなく、モダンなAndroidアプリ開発を目指しました!

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

モダンなAndroidアプリ開発勉強会

  1. 1. とあるお祭りにて…
  2. 2. とあるお祭りにて… Qiitaの結果を 表示する アプリ作ろうぜ!!
  3. 3. とあるお祭りにて… Androidユーザだし…
  4. 4. とあるお祭りにて… Androidで開発したい…
  5. 5. とあるお祭りにて… よっしゃ!Androidで作ったる!
  6. 6. モダンなAndroidアプリ開発 株式会社ベーシック 柿崎昭一 〜楽して開発しよう!〜
  7. 7. Androidとは? Googleによって開発されたOS
  8. 8. AndroidStudio ・コード補完が優秀 ・UIがわかりやすい(IntelliJ) ・動作がEclipseより軽快 ・Googleが使えって言ってる などなど…
  9. 9. Androidの基本 まずは抑えたいライフサイクル
  10. 10. Androidの基本 ・Javaの構文 ・レイアウト ・Intentの発行 ・実機での動作検証
  11. 11. Androidの基本 ごめんなさい!割愛します!!
  12. 12. Androidの基本
  13. 13. 何となくわかったし開発するか〜!
  14. 14. 問題発生 どうやってAPI叩くんだろう?
  15. 15. どうやってAPI叩くんだろう? Volley使えば余裕w Volley使えば?
  16. 16. Volley概要 ・Androidの通信処理フレームワーク ・簡単に、そして、早く実装がコンセプト ・ネットワーク通信は非同期で処理 ・カスタムリクエストが簡単 ・Googleが開発
  17. 17. Volleyの使い方 実際のソースコード
  18. 18. Volleyの使い方 リクエストの種類 リクエスト名 説明 ClearCacheRequest キャッシュのクリア要求 ImageRequest Bitmap用 JsonRequest JSON処理用の抽象クラス JsonArrayRequest JSON Array JsonObjectRequest JSONオブジェクト用 StringRequest 文字列用
  19. 19. Volleyの使い方 実際のソースコード
  20. 20. Volleyの使い方 引数 説明 Method Method.POST、Method.GETを指定 url リクエスト先のURL文字列 jsonRequest リクエスト先へ一緒に引き渡すJSON。 なければnullを指定 listener レスポンスを受け取るリスナーを登録 errorListener 処理の失敗を受け取るリスナーを登録。処理を省略する場合は nullを指定 JsonRequestの引数一覧
  21. 21. 問題発生 取得した値をどうやって通知するんだろう?
  22. 22. 問題発生 Observerパターン Delegateパターン を使えば簡単に コールバックを取れるよ
  23. 23. なるほどわからん 問題発生
  24. 24. 問題発生
  25. 25. 問題発生 ①EventBusのインスタンスを作成 ③ Activity or Fragmentでコールバックをキャッチ ② EventBusのインスタンスで取得した値を整形
  26. 26. めっちゃ簡単じゃん! 問題発生
  27. 27. ・アプリケーション内の任意のインスタンスに任意の通知を送れる ・データも詰め込めて、スレッドも飛び越える ・通知を受け取る側が死んでいてもアプリは落ちない ・コールバックが基本一対一に対し、一体多の通知も可能 EventBus概要
  28. 28. EventBus概要
  29. 29. EventBus概要 ① EventBusのインスタンスを作成 ③ Activity or Fragmentでコールバックをキャッチ ② EventBusのインスタンスで取得した値を整形
  30. 30. EventBusのインスタンスを作成
  31. 31. EventBusのインスタンスで取得した値を整形
  32. 32. Activity or Fragmentでコールバックをキャッチ
  33. 33. Activity or Fragmentでコールバックをキャッチ
  34. 34. よっしゃこれでいけるで!!
  35. 35. 問題発生 Activityがおデブになっちゃった…
  36. 36. 問題発生
  37. 37. Fragment概要 ・一つのActivityに複数貼り付け可能なUI ・UI自身がロジックを保持 ・Android3.0系から使用可能
  38. 38. Fragmentがなかった時代… ・タブがあるアプリはタブごとにActivityを 生成していた…(メモリバカ食い) ・ロジックを含むViewの使い回しができな かった… ・画面回転するとActivityが死ぬ…
  39. 39. そんな暗黒時代を経てFragmentの誕生
  40. 40. Fragmentのメリット ・Fragment自身がロジックを持っている ので再利用が楽になる ・タブレット、スマートフォンの同時開発 が劇的に楽になる ・Fragmentを保存出来るので 画面回転で死なない (ようにできる)
  41. 41. Fragmentのメリット Activityがおデブにならない
  42. 42. Fragmentのイメージ
  43. 43. Fragmentのライフサイクル
  44. 44. Fragment実装の3ステップ ① Fragmentの作成(ロジック) ② xmlファイルの作成(レイアウト) ③ ActivityのレイアウトにFragmentを追加
  45. 45. Fragmentの作成(ロジック)
  46. 46. xmlファイルの作成(レイアウト) Fragment
  47. 47. ActivityのレイアウトにFragmentを追加 Activity
  48. 48. Activityがめっちゃスリムに!
  49. 49. 完成
  50. 50. おまけ
  51. 51. ボタンの作成を簡単にする ButterKnife
  52. 52. Text text = (Text)findViewById(R.id.text1) ⇩ @InjectView(R.id.text_view) TextView textView; ButterKnifeのメリット
  53. 53. ButterKnife使い方
  54. 54. ButterKnife使い方
  55. 55. おまけ②
  56. 56. お気に入り機能とか付けたいな…
  57. 57. SQLiteを使ってお気に入り機能を実装しよう!
  58. 58. Railsみたいな感じでDB操作したいな… (楽したい…)
  59. 59. ありました
  60. 60. ActiveAndroid
  61. 61. ActiveAndroid概要 ・SQLiteのO/Rマッパー ・ActiveRecordモデルがベース ・DBへのアクセスが楽になる ・設定も非常に簡単
  62. 62. ActiveAndroid設定
  63. 63. ActiveAndroid insert文
  64. 64. select文 ActiveAndroid
  65. 65. まとめ 車輪の再発明をしない。 先人の知恵をどんどん活用して 楽して開発をする。
  66. 66. 有難う御座いました (次回はFragment特化の勉強したいです)
  • flicker001

    Jul. 5, 2017
  • itokami1123

    Jan. 7, 2016
  • htks27

    Nov. 25, 2015
  • shunkudou5

    Sep. 17, 2015

以前、QiitaのAPIを叩いてリストに表示するAndroidアプリを開発しました。ただ開発するだけではなく、モダンなAndroidアプリ開発を目指しました!

Views

Total views

1,619

On Slideshare

0

From embeds

0

Number of embeds

141

Actions

Downloads

10

Shares

0

Comments

0

Likes

4

×