Slide 1

Slide 1 text

IntelliJのTemplateを使おう 俺の話を聞け!!LT⼤会 #12 suwashimizu

Slide 2

Slide 2 text

kanegae Androidエンジニア ととお絵かきおじさん

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

IntelliJ JetBrains社が開発したIDE AndroidStudioはIntelliJをベースに開発されている

Slide 5

Slide 5 text

IntelliJのテンプレートとは? • 複数のファイルを⾃動⽣成してくれる便利機能 • カスタムすることでボイラープレートを⾃動⽣成し てくれる • railsのscaffoldのようなイメージ

Slide 6

Slide 6 text

メリット • CleanArchitectureを例にとって解説すると・・ • ファイルが多いので新規作成が⼿間→⼀括⽣成 • 命名の統⼀が図れる • importを予め記述することが出来る

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

Ϟδϡʔϧ໊Λೖྗ

Slide 10

Slide 10 text

৽ن௥Ճ͞ΕͨϑΝΠϧ

Slide 11

Slide 11 text

使い⽅ Macの場合 以下に新規ディレクトリを作成 /Applications/Android Studio3.0.0.app/Contents/ plugins/android/lib/templates/activities/xxx

Slide 12

Slide 12 text

使い⽅ ファイル構成

Slide 13

Slide 13 text

使い⽅ 設定ファイル

Slide 14

Slide 14 text

使い⽅ ΢Οβʔυը໘ͷ ઃఆΛهड़͢Δ

Slide 15

Slide 15 text

ೖྗ஋͕ม਺ DMBTT/BNF ͱͯ͠ ఆٛ͞ΕΔ

Slide 16

Slide 16 text

設定編 ը໘Λߏ੒͢Δ MBZPVUYNMϑΝΠϧ ͷ ೖྗݩͱ ग़ྗઌͷઃఆ

Slide 17

Slide 17 text

設定編 ςϯϓϨʔτ಺Ͱ࢖͏ ม਺ఆٛΛߦ͏ ಉ໊͡લ͸ม਺ఆٛͯ͠ UZQPΛ๷͝͏

Slide 18

Slide 18 text

変数定義 • globals.xml.ftlに変数を定義する • idが変数名 • valueが値 • 使⽤時は${変数名} • ${className}はウィザードで⼊⼒した値

Slide 19

Slide 19 text

変数が使える 複数出るものは変数として定義しよう

Slide 20

Slide 20 text

設定編 ιʔείʔυͷೖྗݩͱ ग़ྗઌͷઃఆ

Slide 21

Slide 21 text

ソース編 KBWB΍LPUMJOͷιʔε ίʔυΛهड़͢Ε͹ ల։͞ΕΔ

Slide 22

Slide 22 text

͜͜ʂ

Slide 23

Slide 23 text

globals.xml.ftlに変数を定義する *1SFTFOUFS/BNFͱ 1SFTFOUFS/BNFΛఆٛ ͦΕͧΕ *4JHO6Q1SFTFOUFS 4JHO6Q1SFTFOUFSͱͯ͠ ୅ೖ͞ΕΔ

Slide 24

Slide 24 text

記述⽅法

Slide 25

Slide 25 text

記述⽅法 IPresenter.kt.ftl SignUpPresenter.kt

Slide 26

Slide 26 text

記述⽅法 Presenter.kt.ftl SignUpPresenter.kt

Slide 27

Slide 27 text

Presenterのベースが 出来た(๑•̀ㅂ•́)و✧

Slide 28

Slide 28 text

課題 エラーを吐かない / テストし⾟い →トライアル・アンド・エラー →git管理しよう →⼤量のファイルが出来るのでgit add . & git reset --hard HEAD が使える 構成が変わったりするのでメンテは必須 →がんばるぞい

Slide 29

Slide 29 text

まとめ • プロジェクトが⾛り出して構成が固まってから作成 するのが吉 • デバッグが⾟いのである程度の時間は覚悟すべし • gitは神

Slide 30

Slide 30 text

ご清聴 ありがとうございました