Upgrade to Pro — share decks privately, control downloads, hide ads and more …

独自設計のAndroidアプリを設計ごとKotlinizeした話

Avatar for Shun Hosaka Shun Hosaka
December 19, 2017

 独自設計のAndroidアプリを設計ごとKotlinizeした話

R.kt #2の時の登壇資料です。

Avatar for Shun Hosaka

Shun Hosaka

December 19, 2017
Tweet

More Decks by Shun Hosaka

Other Decks in Programming

Transcript

  1. ͸͡Ίʹ w อࡔॣ ΄͔͞͠ΎΜ  w ৽ଔ̍೥໨ w (JU)VC 2JJUBͳͲ3FZVSOJCMF

    w ΩοζϦʔͱ͍͏ϓϩμΫτͷ10݉ΤϯδχΞ
 ʢอҭԂ޲͚ͷαʔϏεʣ 2
  2. ϦϥΠτͷਐΊํ 9 w ̋ը໘͝ͱʹϦϥΠτ w ૚͝ͱʹϦϥΠτ w ϦϑΝΫλϦϯάϦϥΠτ w ཧ༝ɿ

    w ҰؾʹϦϥΠτ͢ΔͷͰ͸ͳ͘ɺ௕ظతͳϦϥΠτΛ૝ఆͨ͠ w طଘίʔυʹςετ͕ͳ͘ɺͦ΋ͦ΋ϦϑΝΫλϦϯάʹ΋ة ݥ͕͋ͬͨ
  3. "DUJWJUZͳͲͷϏϧμʔύλʔϯ 15 ը໘͝ͱͷextensionΛ࡞ͬͨɻ ը໘໊.ktͰτοϓϨϕϧͷextensionΛॻ͍͍ͯΔ // file privateͳͷͰଞ͔Βࢀর͞ΕΔ͜ͱ͸ͳ͍ private object Keys

    { const val hoge = "Sample.hoge" } fun SampleActivity.Companion.createIntent(context: Context, hoge: String): Intent = Intent(context, SampleActivity::class.java).apply { put(Keys.hoge, hoge) } fun SampleFragment.Companion.newInstance(hoge: String): SampleFragment = SampleFragment().apply { arguments = Bundle().apply { putString(Keys.hoge, hoge) } } fun SampleActivity.createFragment(): SampleFragment = SampleFragment.newInstance(intent.getStringExtra(Keys.hoge)) fun SampleFragment.parseHoge(): String = arguments.getString(Keys.hoge) ※SampleActivityͱSampleFragmentʹ͸ɺͦΕͧΕ companion object;ͱ͍͏ܗͷهࡌ͕ඞཁɻ