How to display images to gridview from server in android

Tuesday, September 25, 2012


This code is help you to display image in grideview from server in android.

ViewImage.java

package com.gridview;


import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.AdapterView;

import android.widget.GridView;

import android.widget.Toast;


public class MyGridView extends Activity {

    private GridView girGridView;

   @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);


        girGridView=(GridView) findViewById(R.id.gridView1_bir);


        girGridView.setAdapter(new ImageAdapter(this));


        girGridView.setOnItemClickListener(new AdapterView.OnItemClickListener()  {

       public void onItemClick(AdapterView<?> arg0, View view,                    int position,long arg3) {
      Toast.makeText(getApplicationContext(), GridViewConfig.getResim_list().
                 get(position), Toast.LENGTH_SHORT).show();

            }
        });

    }

}
ImageAdapter.java


package com.gridview;



import java.io.InputStream;

import java.net.URI;
import java.net.URL;

import android.R.integer;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.ListAdapter;


public class ImageAdapter extends BaseAdapter implements ListAdapter {

    private Context context;

    public ImageAdapter(Context context) {
        super();
        this.context = context;

        GridViewConfig.addImageUrls();
    }


    public int getCount() {
        return GridViewConfig.getResim_list().size();

    }

    public Object getItem(int position) {

        return GridViewConfig.getResim_list().get(position);
    }


    public long getItemId(int position) {



        return position;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView;
        if(convertView==null)
        {
            imageView=new ImageView(context);
            imageView.setLayoutParams(new GridView.LayoutParams(100,100));
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView.setPadding(5,5,5,5);
        }else{
            imageView=(ImageView)convertView;

        }
        imageView.setImageDrawable(LoadImageFromURL(GridViewConfig.
                                 getResim_list().get(position)));
        return imageView;
    }

    private Drawable LoadImageFromURL(String url)

    {
    try
    {
    InputStream is = (InputStream) new URL(url).getContent();
    Drawable d = Drawable.createFromStream(is, "src");
    return d;
    }catch (Exception e) {
    System.out.println(e);
    return null;
    }
    }
}

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal">
    <GridView
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:id="@+id/gridView1_bir">
    </GridView>

</LinearLayout>
GridViewConfig.java

package com.gridview;

import java.util.ArrayList;

public class GridViewConfig {
    private static ArrayList<String> resim_list=new ArrayList<String>();

    public static ArrayList<String> getResim_list() {
        return resim_list;

    }

    public static void setResim_list(ArrayList<String> resim_list) {
        GridViewConfig.resim_list = resim_list;
    }
    public static void addImageUrls(){
                                             //  Here you have to specify your image url path
        resim_list.add("http://www......../image1.png");

         resim_list.add("http://www......../image2.png");

         resim_list.add("http://www......../image3.png");

         resim_list.add("http://www......../image4.png");

         resim_list.add("http://www......../image5.png");
         resim_list.add("http://www......../image6.png");


    }
}

Note : Also you have to get permission for the INTERNET in the AndroidManifest.xml
            <uses-permission android:name="android.permission.INTERNET"/>
    

0 comments:

Post a Comment

Note: Only a member of this blog may post a comment.