如何动态创建图像的网格视图

时间:2014-04-14 09:59:04

标签: android json gridview

我正在开发一个应用程序,我必须动态填充图像的gridview。我从服务器获取一组图像ID,我正在解码json数组并获取图像ID。现在我已将所有图像存储在我的可绘制文件夹中,我想显示我从json获得的ID的图像,但我卡在这一点上我不知道这是怎么回事。救命 这是我的主要活动

public class MainActivity extends Activity  {
GridView grid ;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
grid = (GridView)findViewById(R.id.grid_view);

    grid.setAdapter(new Adapter(this));
    Button play = (Button)findViewById(R.id.play);
    play.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            try {
                playgame();
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    });




 protected void playgame() throws JSONException {
    if(cardcount >=1 ){
    BufferedReader reader=null;
    data_to_send = "userId=" + userId ; 
  try
  { 
    Log.e("inside try block", "get text");
      // Defined URL  where to send data
      URL url = new URL("http://172.16.10.5/Ankur/andapp/request_Play.php");
   // Send POST data request
    URLConnection conn = url.openConnection(); 
    conn.setDoOutput(true);                   
    OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); 
    wr.write(data_to_send);
    wr.flush(); 

    // Get the server response 

  reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
  StringBuilder sb = new StringBuilder();
  String line = null;

  // Read Server Response
  while((line = reader.readLine()) != null)
      {
             // Append server response in string
             sb.append(line + "\n");
             Log.e("inside", "while loop");
      }


  play_response = sb.toString();
  }
  catch(Exception ex)
  {

  }
  finally
  {
      try
      {

          reader.close();
      }

      catch(Exception ex) {}
  }
  Log.e("play response from the server", ""+play_response);
    }else
    {
        Toast.makeText(getApplicationContext(), "Sorry you don't have cards.buy a new card now", Toast.LENGTH_LONG).show();
    }
JSONObject jo = new JSONObject(play_response);
pos1 = jo.getString("0");
pos2 = jo.getString("1");
pos3 = jo.getString("2");
pos4=  jo.getString("3");
pos5 = jo.getString("4");
pos6=  jo.getString("5");
pos7=  jo.getString("6");
pos8=  jo.getString("7");
pos9=  jo.getString("8");



Log.e("value of 1st place of array", "array value "+pics[7]);




}

1 个答案:

答案 0 :(得分:0)

我建议使用Loader。见[文档](http://developer.android.com/guide/components/loaders.html
因此,您可以在Loade

中传输非ui线程中加载的图像
相关问题