Created
June 21, 2018 11:26
-
-
Save niwatako/f526e5e0dc93cbef56cb48519772081c to your computer and use it in GitHub Desktop.
XML Object Mapping #CodePiece #potatotips
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
potatotips #52 (iOS/Android開発Tips共有会) - connpass | |
https://potatotips.connpass.com/event/88164/ | |
## hmori 森 XML Object Mapping Android | |
## Codable | |
Swift4で生まれました。JSONとコードが変換できる。 | |
Javaではこういうの得意、Gson, Jackson, Moshiとかね。 | |
こういうやつの基本ロジックは空のインスタンスを作ってあとから値を入れる。 | |
Kotlinは非Nullであとから値が書き換えられないというのがある | |
無理に作るなら、ミュータブルにしてしまう。糞コラボ。 | |
そういうときはMoshiを使いましょう; | |
自分で作るには | |
### Reflection | |
型パラメータを受け取って型に変換して返す。 | |
型パラメータを受け取ったらオブジェクトグラフを作って、最後、まったんからインスタンスを作っていく。 | |
### APT | |
javacつくるときに新しいクラスを追加するチャンスが有る。 | |
型引数を渡すと対応するアダプタを返すようにする。データクラスにアノテーションを付けるとアダプタを生成するようになる。 | |
名前を下にアダプタを探してきてインスタンス作って返すというようにする。ユーザーはアダプタを受け取ってそれを使う。 | |
拡張性高めだが、作るのがめんどくさい。名前を使うので難読化したら面倒。 | |
### Transform API | |
記事書いたから詳しくは読んでください | |
難読回sても影響ない | |
バイトコードだから超めんどくさい | |
### まとめ | |
作りましょう、作ったけど仕事で作ったので公開できないです。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment