2011-10-14 13 views
0

GSONを使用して、さまざまなアプリケーションでJSONフィードを解析しています。URLからJSONを読み込み、オフラインで使用するためにSDCardに保存するためのベストプラクティス

私はそれを動作させるために、このチュートリアルとこのコードを使用:http://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.html

InputStream source = retrieveStream(url); 
Gson gson = new Gson(); 
Reader reader = new InputStreamReader(source); 

//*************************************************** 
//Should I add some code here to save to SDCARD? 
//*************************************************** 

SearchResponse response = gson.fromJson(reader, SearchResponse.class); 
List<Result> results = response.results; 
for (Result result : results) { 
    Toast.makeText(this, result.fromUser, Toast.LENGTH_SHORT).show(); 
} 

私の質問はコメントで設定されている: 私はオフラインで使用するための私のSDカードにこのInputStreamReaderのを保存するために何をすべき?

私は多くのグーグルでこれを達成する方法を見つけることができません。

私は答えを持っているだろうと、私はコードの3最初の行を交換することを推測する:

InputStream source = new InputStream("/sdcard/my_json_file.txt"); 

は、任意の助けのために多くのことを感謝し、私は私がする必要があるだけではないよと思います達成してください...

答えて

0
  1. 書き込み先のファイルのFileOutputStreamを作成します。
  2. あなたが作成したFileOuputStreamにコピーsource - 下記参照 -
  3. があなたにInputStreamReaderにこの新しいストリームを送信し、あなたが言ったようにですか

  4. 閉じるsource
  5. し、作成したファイルへのパスから新規のFileInputStreamを作成

    public static void copyStream(InputStream input, OutputStream output) 
        { 
         byte[] buffer = new byte[32768]; 
         int read; 
         while ((read = input.read(buffer, 0, buffer.length)) > 0) 
         { 
          output.write (buffer, 0, read); 
         } 
        } 
    
関連する問題