質問するログイン新規登録

Q&A

解決済

1回答

2395閲覧

Kotlinで、SQLiteDatabaseを用いてMutableListを保存したい

shal0ne

総合スコア53

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2018/10/20 07:02

編集2018/10/20 14:42

0

0

SQLiteDatabaseでLong値を持つMutableListを保存したいです。
JavaであればGsonというものを使うことで、
保存の時は

java

1ArrayList<Long> inputArray=new ArrayList<Long>(); 2 3Gson gson = new Gson(); 4 5String inputString= gson.toJson(inputArray); 6 7...inputStringをsqliteでString型で保存処理

読み出しの時は

java

1Type type = new TypeToken<ArrayList<Long>>() {}.getType(); 2String outputarray = ...sqliteでget 3ArrayList<Long> finalOutputLong = gson.fromJson(outputarray, type);

とすることで記述できるらしいのですが、Kotlinではこのようなスマートな記述はできないでしょうか?
正規表現で記述することもできますが、そういったものがあればご教授願いたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

Orlofsky

2018/10/20 07:18

タグ[SQLite]を追加されては? SQLiteDatabase → SQLite Database
shal0ne

2018/10/20 14:44

SQLiteのタグがあったのですね。情報ありがとうございます。これで回答も得られやすくなると思います。
guest

回答1

0

ベストアンサー

java

1Type type = new TypeToken<ArrayList<Long>>() {}.getType();

ここの部分をKotlinでどう書くのかがわからないということでしょうか?
であれば、Kotlinではオブジェクト式で無名クラスを表現することができるので、

kotlin

1val type = object : TypeToken<List<Long>>() {}.type

という風に書けると思います。

投稿2018/10/21 12:20

kakajika

総合スコア3133

shal0ne

2018/10/25 05:39

回答ありがとうございます。 回答はもうないものと思っていてログインせず、返信が遅くなりました。 本当にありがとうございます。 gsonはJavaとjsonの相互変換用だと書いてあったので gson.fromJson(outputarray, type) とした時にJavaのArrayListが返って来ることはあっても、言語が違うKotlinのMutableListには対応してないと思ったのです。 なのでjsonとKotlinのものを対応させようと思ったら別のライブラリを使うか自分で記述するしかないと思ったのですが、Kotlinでも動くんですね。。。
kakajika

2018/10/25 13:38

なるほど、そういうことだったのですね。 KotlinはJavaとの互換性を謳っていますから、基本的にJavaで動くライブラリはKotlinでも動作します。Kotlinにしかない機能を利用したい場合にはKotlin向けのライブラリを使うことになります。(JSONのマッピングでいうなら、data classのデフォルト引数を利用したい場合など)
shal0ne

2018/10/25 15:17

Kotlin素晴らしいです。 検証しつつ使っていきたいと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問