kobakei's blog

プログラミングの話や技術系イベントの話をゆるく書くブログです

Kingfisherのリクエストヘッダーを書き換える

KingfisherのCheat Sheetより。AnyModifierを使う。

let modifier = AnyModifier { request in
    var r = request
    r.setValue("", forHTTPHeaderField: "Access-Token")
    return r
}       
imageView.kf.setImage(with: url, placeholder: nil, options: [.requestModifier(modifier)])

毎回オプションにAnyModifierを渡すのがめんどくさい場合は、KingfisherManager経由でセットすればよい。

KingfisherManager.shared.defaultOptions.append(.requestModifier(modifier))

BottomSheetDialogFragmentの使い方

あまりまとまってないようなのでメモ。

昔は setupDialog をオーバーライドしていたが、サポートライブラリが @RestrictTo(LIBRARY_GROUP) を付けるようになったので警告が出る。代わりに、 onCreateDialog をオーバーライドして中でビューを作成するのがよさそう。

class MyBottomSheet : BottomSheetDialogFragment() {

    companion object {
        // Fragmentと同様、インスタンス生成はstaticメソッドで行う
        fun newInstance(): MyBottomSheet = MyBottomSheet()
    }

    override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
        val dialog = super.onCreateDialog(savedInstanceState)

        // dialogに、自分で作ったビューをセットする
        val inflater = LayoutInflater.from(context)
        val binding: MyBottomSheetBinding = MyBottomSheetBinding.inflate(inflater)
        dialog.setContentView(binding.root)

        return dialog
    }
}

初めての確定申告(eTax)に滅茶苦茶苦労した

2017年から個人事業主で開業したため、今年初めて確定申告しました。滅茶苦茶苦労したので、来年の自分用にメモ。

注意: 正確な確定申告の手順などについては、税務署や税理士にご確認ください。この記事の内容及びリンク先からいかなる損失や損害などの被害が発生したとしても、当方では責任を負いかねます。

続きを読む

#DroidKaigi 2018で「開発者が知っておきたい通知の歴史」という内容で講演しました

DroidKaigi 2018

今年はセッションが採択されたので、スピーカーとして参加しました。去年までは普通に参加者としてだったので、スピーカーとして参加するのは今年が初です。

続きを読む

Androidアプリを設計する上で考慮したポイント

この記事はAndroid Advent Calendar 2017の13日目です。

僕が今業務で開発しているAndroidアプリの設計の紹介と、そこに行き着くまでの僕の設計に対する考え方を紹介します。

こんな設計にしています

f:id:keisukekobayashi:20171210023107p:plain

どういうポイントを考慮してなぜこの形に行き着いたのかを以下紹介します。

続きを読む

Android開発における定番ライブラリ22選

Androidをはじめたばかり or これから始める人向けにまとめました。UI系ライブラリは種類が多すぎるので除外しています。

続きを読む