Skip to content

Instantly share code, notes, and snippets.

View sys1yagi's full-sized avatar

Toshihiro Yagi sys1yagi

View GitHub Profile
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile 'org.jetbrains.kotlinx:kotlinx-coroutines-generate:0.1-alpha'
compile 'org.jetbrains.kotlinx:kotlinx-coroutines-async:0.1-alpha'
compile 'org.jetbrains.kotlinx:kotlinx-coroutines-rx:0.1-alpha'

解剖 Kotlin ほんとはJavaなんだろ

Kotlinはジャバである

目次

  • null許容型の正体
  • 関数型の正体
  • ラムダ式の正体
  • 拡張関数の正体

via: SOFT SKILLS

ステップ1: 全体像をつかむ

テーマの情報収集をする。テーマのサイズがどのくらいかを見定める。

TODO

ステップ2: スコープを決める

ステップ1: 全体像をつかむ

テーマの情報収集をする。テーマのサイズがどのくらいかを見定める。

TODO

ステップ2: スコープを決める

テーマの空間のなかで、どこをスコープとするかを決める。小さなスコープの単位にする。使える時間も考慮にいれる

package jp.dip.sys1.aozora.views.adapters
import android.support.v7.widget.RecyclerView
import android.view.ViewGroup
import java.util.*
abstract class HeaderAdapter<ViewHolder : RecyclerView.ViewHolder, Item, Header, Footer>() : RecyclerView.Adapter<ViewHolder>() {
companion object {
const val TYPE_HEADER = 0

PR: konifar/droidkaigi2016#108

もとの問題

アプリを起動(MainActivity)して任意のセッション詳細(SessionDetailActivity)を開いてSessionの状態を変更して戻る。このときMainActivityが破棄-再生成されていた場合にクラッシュする

構造的な問題

MainActivity-SessionsFragment-ViewPager-SessionsTabFragmentの構造のなかで、それぞれのコンポーネント間で直接onActivityResult()を呼び出して伝搬する方法を取っていた。

//コールバック持つならこういう感じにすると
interface OnClickListener {
boolean onClick(View view);
class EmptyOnClickListener implements OnClickListener {
@Override
public boolean onClick(View view) {
return false;
public class SerialOperator<R, T> implements Observable.Operator<R, T> {
Action2<Subscriber<? super R>, T> then;
T next;
SerialOperator(Action2<Subscriber<? super R>, T> then) {
this.then = then;
}
We couldn’t find that file to show.