title: Gridview image from internet
body: <p>I am trying to display image from internet in a Gridview. When I am running my program there is not error in the catlog but no image are displayed in my screen..</p>
  
  <p>ImageAdapter.java :</p>
  
  <pre><code>public class ImageAdapter extends BaseAdapter {
  private Context mContext;
  Bitmap bmImg;
  ImageView imageView;
  
  public String[] mThumbIds = {
          "http://i724.photobucket.com/albums/ww246/bnhenson/squishy.jpg", "http://cdn4.teen.com/wp-content/uploads/2012/07/paranorman-zayn-malik-tweets.jpg",
          "http://xc0.xanga.com/08fe2b7a30c37281496919/m224298958.jpg"
  };
  
  // Constructor
  public ImageAdapter(Context c){
      mContext = c;
  }
  
  @Override
  public int getCount() {
      return mThumbIds.length;
  }
  
  @Override
  public Object getItem(int position) {
      return mThumbIds[position];
  }
  
  @Override
  public long getItemId(int position) {
      return 0;
  }
  
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {         
      imageView = new ImageView(mContext);
      downloadFile(mThumbIds[position]);
      imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
      imageView.setLayoutParams(new GridView.LayoutParams(135, 135));
      imageView.setPadding(0, 0, 1, 0);
      return imageView;
  }
  void downloadFile(String fileUrl) {
  
      AsyncTask&lt;String, Object, String&gt; task = new AsyncTask&lt;String, Object, String&gt;() {
  
          @Override
          protected String doInBackground(String... params) {
              URL myFileUrl = null;
              try {
                  myFileUrl = new URL(params[0]);
              } catch (MalformedURLException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
              try {
                  HttpURLConnection conn = (HttpURLConnection) myFileUrl
                          .openConnection();
                  conn.setDoInput(true);
                  conn.connect();
                  InputStream is = conn.getInputStream();
  
                  bmImg = BitmapFactory.decodeStream(is);
  
              } catch (IOException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
  
              return null;
          }
          protected void onPostExecute(String unused) {
              imageView.setImageBitmap(bmImg);
          }
      };
      task.execute(fileUrl);
  
  }}
  </code></pre>
  
  <p>AndroidGridLayoutActivity.java</p>
  
  <pre><code>public class AndroidGridLayoutActivity extends Activity {
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.grid_layout);
  
      GridView gridView = (GridView) findViewById(R.id.grid_view);
  
      // Instance of ImageAdapter Class
      gridView.setAdapter(new ImageAdapter(this));
  }}
  </code></pre>
  
  <p>grid_layout.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;GridView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/grid_view"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:numColumns="auto_fit"
  android:columnWidth="90dp"
  android:horizontalSpacing="10dp"
  android:verticalSpacing="10dp"
  android:gravity="center"
  android:stretchMode="columnWidth" &gt;  
  
  &lt;/GridView&gt;
  </code></pre>
  
  <p>And in my manifest I added this two line :</p>
  
  <pre><code>&lt;uses-permission android:name="android.permission.INTERNET"&gt;&lt;/uses-permission&gt;
  &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt;
  </code></pre>
  
  <p>Does anyone have an idea, what step I miss here?</p>
  
  <p>Thanks in advance for your help,</p>
  
  <p>Germain.</p>