私のAndroidアプリケーションでは、オブジェクトのArraylistをSharedPreferencesに保存/ロードするためにGsonを使用しました。私のコードはGsonを使用しています。Gsonを使用する/使用しないで、SharedPreferencesにオブジェクトのリストを保存してロードする方法は?
public static ArrayList<RequestModal> getModalList(Context ctx) {
Gson gson = new Gson();
String json = getSharedPreferences(ctx).getString("ModalList", new Gson().toJson(new ArrayList<>()));
Type type = new TypeToken<ArrayList<RequestModal>>() {}.getType();
return gson.fromJson(json, type);
}
ここで、「RequestModal」は、文字列と整数のビットを含む単純なオブジェクトです。 "オンライン"の場合はうまく動作します。しかし、インターネットがオフラインの場合、永遠に以下のコードで動作します。
Type type = new TypeToken<ArrayList<RequestModal>>() {}.getType();
どうすれば解決できますか? Gsonを使用する/使用しない、このような機能を実装する方法は何ですか?いいアイデアを持っている人を助けてください。 ありがとうございます。
役立ちます"オンライン"の場合はうまく機能します。しかし、インターネットがオフラインの場合、永遠に以下のコードで動作します。 --->私はここであなたを得ない。あなたのコードはインターネットにどのように依存していますか? –
はい、あなたは正しいです。私のコードはインターネットに依存しません。しかし、いったんネットワークがオフラインになると、永遠に "TypeToken>(){} .getType();"が動作し、停止やクラッシュは発生しません。 –