2017-11-16 8 views
1

私のAndroidアプリケーションでは、私は次のjsonデータ構造をdesginし、jsonデータは将来、読み込み、追加、更新、削除されます。Android Studio 3.0を使用するとjsonデータを保存する方法は?

私はjsonデータを保存すべきだと思いますが、どうすればjsonデータを保持できますか? \ assetsフォルダの下にテキストファイルとして保存する必要がありますか?

さらに、jsonデータを扱う簡単な方法はありますか? Gsonライブラリを使用する必要がありますか?

{ 
    "Setting": [ 

     { 
     "id": "34345", 
     "Bluetooth": { "Status": "ON" }, 
     "WiFi": { "Name": "MyConnect", "Status": "OFF" } 
     } 
     , 

     { 
     "id": "16454", 
     "Bluetooth": { "Status": "OFF" } 
     } 

    ] 

} 

答えて

2

は、最も簡単な方法は、SharedPreferencesとGsonを使用することです答えhttps://stackoverflow.com/a/18463758/4265739

と比較してください。

のGradleファイルにGSON依存関係を追加:

compile 'com.google.code.gson:gson:2.8.0' 

Kotlinのために調整コードが店に です:

val prefsEditor = PreferenceManager.getDefaultSharedPreferences(this).edit() 
val json = Gson().toJson(yourObject) 
prefsEditor.putString("yourObject", json) 
prefsEditor.commit() 

取得するには:

val json: String = sp.getString("yourObject", "") 
val yourObject = Gson().fromJson<YourObject>(json, YourObject::class.java) 

をあなたはたくさんのを持っている場合データは、オプションは

+0

ありがとう! SharedPreferencesを使用してJSON文字列を保存するとjsonの文字数に制限がありますか? json stringの文字数は256を超えることはできません。 – HelloCW

+0

私の知る限り、データはヒープに収まる必要があります。そうではありません。それにもかかわらず、あなたのデータが〜1MBを超える場合、私はSharedPreferencesに行くことはありません。 10MB以上のアプリも存在します。 – leoderprofi

関連する問題