AlertDialog の Negative ボタンの文字色を変える
AndroidX の AlertDialog で Negative ボタンと Positive ボタンを出すと、両方文字が colorAccent の色になります。 import androidx.appcompat.app.AlertDialog class SampleActivity : AppCompatActivity() { override fun...
View ArticleKotlin メモ : count
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/count.html大文字数を数えるダメな例 val String.upperCaseCount: Int get() = filter { it.isUpperCase() }.length 大文字数を数える良い例 val String.upperCaseCount: Int...
View ArticleMaster of Dagger の正誤表
技術書典7で出した「Master of Dagger」の正誤表です。 10章 10.1 ViewModel誤Androidにはリソースが足りなくなったときにフレームワークがしばらく使われていないActivityを破棄し、あとでそのActivityが必要になったときに再生成する仕組みがあります。...
View ArticleAndroid Dev Summit 2019 報告会で Jetpack Compose について話してきました。
来年(2020年)に beta を出すと発表されました。随分頑張っているようです。まだまだまともなアプリを作れる段階ではないです。ちょっとまともなものを作ろうとするとすぐ辛くなります... 現状どのような Component が用意されているかみるには Jetnews サンプルを見るのがよいです。Android Studio で [File] - [New] - [Import Sample...]...
View ArticleKotlinConf 2019 に参加してきました。
KotlinConf 2019 はデンマークのコペンハーゲンで開催されました。 Keynote ではこれまでの Kotlin の歩みを振り返り、次のメジャーバージョンである Kotlin 1.4 の予定などが発表されました。 MPP で作られているアプリの紹介もありました。 Kotlin 1.4 では quality と performance...
View Article給与の額面から手取りを計算してみよう。
このエントリは Fintalk Advent Calendarの10日目です。 給与の話をするときそれが額面なのか手取りなのかで随分と話(金額も)が変わってきます。サラリーマンだと手取りの計算は会社の経理が行なってくれるので、給与明細を見る時ぐらいしか気にしないかもしれません。...
View Article賞与の額面から手取りを計算してみよう。
このエントリは Fintalk Advent Calendarの19日目です。 前回「給与の額面から手取りを計算してみよう。」で給与から引かれる社会保険料や税金がどう計算されているのか解説しました。今回は賞与について同じように計算してみたいと思います。前回説明した用語をそのまま使いますので、前回を読んでいない方はまずそちらを読んでください。...
View Article標準報酬月額と算定基礎届
このエントリは Fintalk Advent Calendarの20日目です。 「給与の額面から手取りを計算してみよう。」の中で、健康保険料や年金保険料を計算するベースとなる金額が標準報酬月額だという話をしました。 この標準報酬月額が決まるタイミングは主に3つあります。 (1)資格取得時の決定 (2)定時決定 (3)随時改定...
View ArticleKotlin + Jupyter notebooks で給与の額面から手取りを求めてみる
このエントリは Fintalk Advent Calendarの24日目です。 Kotlin Conf 2019 で Kotlin for Data Scienceが発表されましたね。 今回は Kotlin + Jupyter notebooks で給与の額面から手取りを求めてみたいと思います。 Kotlin kernel for Jupyter notebooks Jupyter...
View ArticleThe World Bank Data Catalog から GDP のデータを取得する
The World Bank Data Catalogでは様々なデータを公開しています。 今回は World Development Indicatorsのデータを使いたいと思います。 Data & Resources の Developer documentation に API の説明があります。 特に API Basic Call Structuresにサンプルの URL...
View ArticleKotlin kernel for Jupyter notebooks で %use でロードできるライブラリ
Kotlin kernel for Jupyter notebooksでは magic commandsとして %use が用意されています。 %use でライブラリを指定すると、対応する Maven リポジトリが構成されてライブラリがロードされ、必要な import 文が追加されます(自分で import xx を書く必要がない)。 %use klaxon %use lets-plot %use...
View ArticleKotlin kernel for Jupyter notebooks で任意のライブラリを使う
動的に dependencies を追加するには @file:DependsOn を使います。 @file:DependsOn("com.squareup.moshi:moshi-kotlin:1.9.2") 指定できるのは class ディレクトリや jar への絶対パスまたは相対パス ivy artifacts maven artifacts です。 デフォルトで以下の maven...
View Articleキリマンジャロ登山 2020 : タンザニア旅行記
動画はこちら https://www.youtube.com/playlist?list=PLU-4gjX0n_0UgVM7Ca98uiiEcW53CrOFX2019年12月31日2020年1月1日2020年1月2日 : 登山1日目 Machame Gate - Machame Camp2020年1月3日 : 登山2日目 Machame Camp - Shira Cave Camp2020年1月4日...
View Articleキリマンジャロ登山に持って行ったもの
旅行記はこちら「キリマンジャロ登山 2020 : タンザニア旅行記」登山用品夏用の寝袋 x 2夏用の寝袋1枚だと絶対寒い。2枚重ねで快適だった。マットTHERMAREST Zライト ソルザック自分用ザックポーターさんに預ける用登山靴モンベルストックダウンジャケットバーグハウス*1防風雨具上下バーグハウスフリース x 2モンベルとシェルパギア*2長袖シャツ x...
View ArticleAtom 1.40.0 に Juno を入れようとすると Error: Installing "julia-client@0.11.3" failed...
Atom に uber-juno パッケージ(Juno)を入れようとしたがError: Installing "julia-client@0.11.3" failed で失敗してしまう。結論としては、Atom を最新版(手元では 1.43.0)にすれば OK。
View ArticleAndroid 10 (API Level 29) からは ClipboardManager の setPrimaryClip() にプロパティアクセスできない
API Level 29 未満はこう書けた val clipboard = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager clipboard.primaryClip = ClipData.newPlainText("ラベル", "クリップしたいメッセージ") API Level 29...
View Articleフレームワークの preference は API Level 29 (Android 10) で Deprecated になりました。
android.preference パッケージ全体が API Level 29 で Deprecated になりました。https://developer.android.com/reference/android/preference/package-summary AndroidX の Preference Library...
View Articlemoshi で List や Map の Generics Type を指定する
いつも忘れるので val type = Types.newParameterizedType( Map::class.java, Hoge::class.java, Fuga::class.java ) val adapter: JsonAdapter<Map<Hoge, Fuga>> = moshi.adapter(type)
View Article突如 Gmail が ACTION_SENDTO での EXTRA_TEXT を fill しなくなったので対応した
以前のコード val intent = Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:$address") .putExtra(Intent.EXTRA_SUBJECT, subject) .putExtra(Intent.EXTRA_TEXT, text) startActivity(intent) 対応したコード val intent =...
View Articlemoshi-kotlin (1.9.2) の proguard 設定ではまった
moshi の proguard 設定は https://github.com/square/moshi#r8--proguardにあります。 この設定だけだと java.lang.IllegalArgumentException: Cannot serialize Kotlin type XX. Reflective serialization of Kotlin classes without...
View Article