すわりんのブログ

androidとかサブカルとかのブログです

kotlin

kotlinのMapよる委譲に可能性を見出した

Storing Properties in a Map Delegated Properties - Kotlin Programming Language クラスのプロパティをMap<String,*>により取得する記述方法。 //定義:各プロパティの値をmapから取得している class User(val map: Map<String, Any?>) { val name: String by map val age: Int by </string,></string,*>…

RxでHotObservableとFilter

RxにはHotObservableとColdObservableがある。 HotObservableについてはそんなもんなあるなーぐらいで 実際に使う機会がなく、あまり理解できてなかった。 rxの使用用途がretrofitを介してのAPIとのやりとりが主だったのも大きい。 んで触る必要が出てきたの…

kotlinでrawStringを使う

kotlinです。 開発中にAPIは実装されていなけど、返すjsonのフォーマットは決まっている時に パースを試したい時などがあると思います。 そういう時はjsonをコード内で直接書いてパース出来るかテストしてたのですが ダブルクオーテーションのエスケープが面…

VIPERについてダラダラ書く

現在AndroidをVIPERというアーキテクチャーで書いてます。 元々はiOSのもらしいけど合わせる形で採用しました。 iOS Project Architecture : Using VIPER [和訳] - Qiita android:kotlin,iOS:swiftで書くわけですが 似てる部分もあると言われる2つの言語。 …

APIのエラーをいかに捌くか

APIのエラーを表現する時にclassかexceptionかenumか迷っていたのでメモ。 APIと通信すると正常系と異常系の処理について考える必要がある。 さらに異常系は2種類あり APIとの通信は成功しているがパラメーター過不足などのAPIのエラー URLが存在しない、回…

kotlinとDIについて-1

一回で書ききれる気がしないDIについて まずDIとは DependencyInjectionの略で デザインパターンの一種です。 例えば以下のController#doSomethingのテストをしたい場合 APIClientの実装に依存してしまうため 本来行いたいControllerのテストが困難になって…

アーキテクチャは何故必要なのか

Android界隈ではよくアーキテクチャが話題になっている。 MVCから始まり、MVPやMVVM、AndroidArchitectureなどなどその内容は多岐に渡る。 このアーキテクチャ達を採用することで何が解決出来るのかというと いくつか見えてきた事がある。 まずはレイヤー分…

kotlinでJSONパーサーにmoshiを使う

kotlinのOptinalはnullになり得るかが一目で分かり コンパイル時にエラーが出るので素晴らしい。 しかしJSONからオブジェクトを生成する場合 Optinalでないのにnullが入ってしまうケースがある。 JSON-1 { "lastName" : "太郎" } Class data class User( val…