内容へ移動
猫型iPS細胞研究所
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
INDEX
»
kotlin
»
Serialize
トレース:
kotlin:serialize
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== Serialize ====== ===== オブジェクトをシリアライズする ===== <code> import java.io.Serializable data class RowData(var id:Int ,var type:Int ,var score:Int):Serializable </code> ===== 配列をシリアライズする ===== [[https://github.com/Kotlin/kotlinx.serialization|kotlinx.serialization]]を使用する必要がある。 <code kotlin build.gradle(project)> buildscript { ext.kotlin_version = '1.3.50' repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.5.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version" // add } } </code> <code kotlin build.gradle(app)> apply plugin: 'kotlinx-serialization' // add ... dependencies { ... implementation 'com.google.android.material:material:1.0.0-alpha1' implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.13.0" // add ... </code> シリアライズとは、簡単にいってしまえばオブジェクト(ポインタの集合)を文字列にして、データとして渡せる状態にすること。 <code kotlin 渡す側のアクティビティ> import kotlinx.serialization.* import kotlinx.serialization.json.* // オブジェクトにアノテーションをつける @Serializable data class RowData(var id:Int ,var comp:Int ,var score:Int) ... // オブジェクトのシリアライズ Json.stringify(型,実データ) putExtra("rowdata", Json.stringify(RowData.serializer(),data)) // オブジェクト配列のシリアライズ Json.stringify(型,実データ) val dataList = Json.stringify(RowData.serializer().list, datalist ) putExtra("rowdataList", dataList) </code> <code kotlin 受ける側のアクティビティ> import kotlinx.serialization.* import kotlinx.serialization.json.* ... val intent = getIntent() // 文字列として受け取り、目的の型にパースする rowData = Json.parse( RowData.serializer(),intent.getSerializableExtra("rowdata") as String) // リストの場合も文字列として受け取ってからパースする val rowDataList = Json.parse( RowData.serializer().list , intent.getSerializableExtra("rowdataList") as String) </code>
kotlin/serialize.txt
· 最終更新: 2019/11/19 22:33 by
ips
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ