jsonオブジェクトを携帯電話のファイルに保存する

私はサーバーからjsonデータをダウンロードして、アンドロイドモバイルのファイルに保存したいと思います。

外部ストレージではどうすればいいですか?私はそれらを保存するときに、特定のデータをファイル内で検索したいと思っています。外部ストレージよりも優れた方法がありますか?

//parse json data
try{
    JSONArray jArray = new JSONArray(result);
    JSONObject json_data = null;
    category = new String[jArray.length()];
    name = new String[jArray.length()];
    date = new String[jArray.length()];
    content = new String[jArray.length()];

    for(int i=0;i map = new HashMap();

        if(i==0){ 
            if(category8 == "All"){
                map.put("id",  "5");
                map.put("name", "              All Posts");
                map.put("latitude", "");
                map.put("longitude", "");
                map.put("date", "");
                map.put("content", "");
                mylist.add(map);
            } else {
                json_data = jArray.getJSONObject(i);

                category[i] = json_data.getString("category");
                map.put("id",  "5");
                map.put("name", "              "+category[i]);
                map.put("latitude", "");
                map.put("longitude", "");
                map.put("date", "");
                map.put("content", "");
                mylist.add(map);
            }
        } else if(i
ベストアンサー

JSONは、情報を取得するために解析する必要があります。だから、JSON-Requestを保存し、そこから情報が必要になるたびに解析するのは、一般的には悪い考えです。

代わりに、一度解析し、必要な情報を取得し、どこかに簡単にアクセスできるように保存します。それらを保存する場所と方法は、あなたがやりたいこととは異なります:

  • 広範囲にわたる検索や情報の一部しか必要としない場合は、データベースを最適なオプションにする必要があります。
  • そうでない場合は、単純に2つの値を保存したい場合は、より簡単な形式(CSVなど)を早く解析することができます。

また、これらのものを外部ストレージに保存したかったと述べました。一般的に言えば、アプリケーションに属するものを外部ストレージに格納することは悪い考えです。しかし、それが意味をなさない場合があります:

  • あなたのアプリは特定のものを共有したいと思っています(また ContentProvider
    を使用したくない場合)
  • アプリが大量のファイルを必要とし、内部ストレージに保存できません。

外部ストレージに保存されているすべてのファイルを操作することができます。また、外部ストレージに依存していないユーザーもいるので、外部ストレージに依存することはできません。

上記以外の場合は、内部ストレージ

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です