Skip to content

Instantly share code, notes, and snippets.

View sys1yagi's full-sized avatar

Toshihiro Yagi sys1yagi

View GitHub Profile
fun given(description: String, given: Given.() -> Unit) {
given.invoke(Given())
}
class Given {
fun on(description: String, on: On.() -> Unit) {
on.invoke(On())
}
}
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()を呼び出して伝搬する方法を取っていた。

package jp.mydns.sys1yagi.android.mockitosample;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.view.View;
@sys1yagi
sys1yagi / PreviewActivity.java
Last active December 27, 2015 14:08
Mockitoェ・・・
package jp.mydns.sys1yagi.android.mockitosample;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;