0

URLからjsonデータをダウンロードし、解析してから表示するAndroidアプリがあります。残念ながらしばらくインターネットから離れますが、アプリの開発は続けたいと思っています。

そのデータをオフラインで使用するために保存する方法はありますか?

基本的に、リンクJSONObjectで見つかったデータを使用するようにハードコーディングする方法はありますか

それで、私はそれを地元で手に入れますか?

4

3 に答える 3

1

次のオプションがあります。

  1. RoboSpiceライブラリを使用する

  2. Androidボレーライブラリを使用

上記の両方のライブラリにはキャッシュ機能があります。条件付きでキャッシュを無効にして、更新されたデータを取得できます。

共有設定を使用して JSON 文字列を保存し、必要に応じて更新します。

データを保存するには:

SharedPreferences settings = getApplicationContext().getSharedPreferences("PREF_NAME", MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putString("strJSON", "" + strJSONfromServer);
editor.commit();

データを取得するには:

SharedPreferences settings = getApplicationContext().getSharedPreferences("PREF_NAME", MODE_PRIVATE);
String strData = settings.getString("strJSON", ""); 

データをクリアするには:

SharedPreferences settings = getApplicationContext().getSharedPreferences("strJSON",MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.remove("strJSON");
editor.commit();
于 2014-07-16T07:30:48.360 に答える
0

マシンに http サーバーがインストールされている場合は、その json データをテキスト ファイルとして保存し、デバイスから次の URL でアクセスできます: " http://10.0.2.2:PORT_NUMBER "

別の解決策として、http サーバーは必要ありません。この回答で説明されているように、データをテキスト ファイルとして保存し、デバイスからアクセスできます: シンプルなテキスト ファイルの読み取り

編集:より簡単な方法は、データを文字列に保存することです:

String stringJson = "{\"Baseball\":[{\"Opponent\": ... " 

(\" で文字をエスケープする必要があることに注意してください)

json データを解析するには、必要なことは次のとおりです。

JSONObject jsonObject = new JSONObject(stringJson);

于 2013-01-06T07:40:41.580 に答える
0

json を assets ディレクトリの下のファイルに保存する別のオプション。次に、アプリケーション内の他のファイルと同じようにアクセスできます。

http://developer.android.com/reference/android/content/res/AssetManager.html

于 2013-01-07T12:37:45.257 に答える