2011-07-25 6 views
0

私は自分のギャラリーアプリでウェブサーバーから画像(親指とフルサイズ)を読み込んでいます。私は自分のイメージ情報をデータベースから返し、jsonデータとしてエンコードします。私のgridview配列のjsonデータを使って

{"id":["1","2","3"],"name":["Dragon","Butterfly","Tattoo"],"thumb":["thm_polaroid.jpg","thm_default.jpg","thm_enhanced-buzz-9667-1270841394-4.jpg"],"path":["polaroid.jpg","default.jpg","enhanced-buzz-9667-1270841394-4.jpg"]} 

私は私のリファレンスとしてdeveloper.android.com hello gridviewチュートリアルを使用しています。彼らはローカルイメージを参照するURLを使用しています。

マイ・質問

  1. 私は私のアプリの中でいくつかの点ですべてのデータを使用するので、私は別々の配列に私のJSONデータを解析すべきか、私はそれをすべて一緒に保つ必要がありますか?

  2. どのように私のサムネイル画像で以下の静的画像配列を置き換えることができますか?

静止画像アレイ

private Integer[] mThumbIds = { 
     R.drawable.sample_2, R.drawable.sample_3, 
     R.drawable.sample_4, R.drawable.sample_5, 
     R.drawable.sample_6, R.drawable.sample_7, 
     R.drawable.sample_0, R.drawable.sample_1, 
     R.drawable.sample_2, R.drawable.sample_3, 
     R.drawable.sample_4, R.drawable.sample_5, 
     R.drawable.sample_6, R.drawable.sample_7, 
     R.drawable.sample_0, R.drawable.sample_1, 
     R.drawable.sample_2, R.drawable.sample_3, 
     R.drawable.sample_4, R.drawable.sample_5, 
     R.drawable.sample_6, R.drawable.sample_7 
}; 

答えて

1

最良の方法は、メンバ変数のID、名前、親指、パスを持っているdefineaクラスにあります。

public class foo{ 
    public int id; 
    public String name; 
    public String thumb; 
    public String path; 
} 

次に、配列をこのオブジェクトタイプのArrayListに解析します。

ArrayList<foo> myFooArray = new ArrayList<foo>(); 

あなたはFOOのオブジェクトを追加するmyFooArrayにaddメソッドを呼び出すことができます。

myFooArray.add(new foo()); 

あなたは配列内のオブジェクトのサム部材を参照しますあなたの質問の後半部分に答えるために

mThumbIds[position]は、ファイルではなく、リソースから画像をロードする必要がありますもちろんのmyFooArray[position].thumb

となり、あなたは簡単にこの例を見つけることができますが、手がかりのために次のようなものを使用することができますsetImageDrawable(Drawable.createFromPath(myFooArray[position].thumb);

関連する問題