0

我已经制作了 android 应用程序,其中使用 php 从数据库(MYSQL)中获取图像。我也得到了图像,但问题是我想将图像传递给另一个活动,即从 gridview 到 viewflipper 以便滑动图像。

请任何人都可以帮助我如何传递从数据库中获取的点击图像。

提前致谢。

显示活动.java

公共类 DisplayImages 扩展 Activity{

ImageView imageview;
JSONObject json1= JSONfunction.getJSONfromURL("http://www.zxxxxcssxxxxxx.com/app/photo.php");
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_display_images);

        JSONArray catgry = null;
    try {
        catgry = json1.getJSONArray("photo");
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

   final GridView gridView=(GridView)findViewById(R.id.gridview);
   ImageAdapter adapter=new ImageAdapter(this,catgry);
   gridView.setAdapter(adapter);


   /**
    * On Click event for Single Gridview Item
    * */

   gridView.setOnItemClickListener(new  OnItemClickListener(){

    public void onItemClick(AdapterView<?> parent, View view, int position,
            long id) {
        // TODO Auto-generated method stub

        Image img=new Image();
        Object imagename=view.getTag();

        if(position==0)
        img.setImageBitmap(getImageBitmap("http://www.aaa.com/thumb_photo_3.jpg"));
        if(position==1)
            img.setImageBitmap(getImageBitmap("http://www.aaa.com/thumb_photo_4.jpg"));
        if(position==2)
            img.setImageBitmap(getImageBitmap("http:/www.aaa.com/thumb_photo_5.jpg"));
        if(position==3)
            img.setImageBitmap(getImageBitmap("http://www.aaa.com/thumb_photo_6.jpg"));
        if(position==4)
            img.setImageBitmap(getImageBitmap("http://www.aaa.com/thumb_photo_7.jpg"));
        if(position==5)
            img.setImageBitmap(getImageBitmap("http://www.aaa.com/thumb_photo_8.jpg"));
        if(position==6)
            img.setImageBitmap(getImageBitmap("http://www.aaa.com/thumb_photo_9.jpg"));
        if(position==7)
            img.setImageBitmap(getImageBitmap("http://www.aaa.com/thumb_photo_10.jpg"));
        if(position==8)
            img.setImageBitmap(getImageBitmap("http://www.aaa.com/thumb_photo_11.jpg"));
        if(position==9)
            img.setImageBitmap(getImageBitmap("http://www.aaa.com/thumb_photo_12.jpg"));
        if(position==10)
            img.setImageBitmap(getImageBitmap("http://www.aaa.com/thumb_photo_13.jpg"));

        Toast.makeText(DisplayImages.this, "" + imagename,
                Toast.LENGTH_SHORT).show(); 

        Intent intent=new Intent(getApplicationContext(),FullSizeImageActivity.class);
        //Create Parcelable object
        ParcelableImage parcelableImage=new ParcelableImage(img);

        //store Parcelable Object in intent
        intent.putExtra("img", parcelableImage);
        startActivity(intent); 
    }

   });
}

private Bitmap getImageBitmap(String url) {
    Bitmap bm = null;
    try {
        URL aURL = new URL(url);
        URLConnection conn = aURL.openConnection();
        conn.connect();
        InputStream is = conn.getInputStream();
        BufferedInputStream bis = new BufferedInputStream(is);
        bm = BitmapFactory.decodeStream(bis);
        bis.close();
        is.close();
   } catch (IOException e) {
       //Log.e(TAG, "Error getting bitmap", e);
   }
   return bm;
}

}

我正在传递gridview中该位置的图像路径onclick。但我想获取图像的图像路径onclick。我如何动态获取图像路径并传递另一个活动。

这是我的图像适配器的代码

公共类 ImageAdapter 扩展 BaseAdapter {

public ImageView[] mImages;
String qrimage;
static class ViewHolder{

    ImageView image;
}

JSONObject json1= JSONfunction.getJSONfromURL("http://www.zzzzzxxxxxxxxxx.com/app/photo.php");

private Context context;

public ImageAdapter(Context mcontext,JSONArray imageArrayJson) {
    // TODO Auto-generated constructor stub
    this.context=mcontext;
    this.mImages = new ImageView[imageArrayJson.length()];


    for(int i=0;i<imageArrayJson.length();i++){

        JSONObject image;
        try {
            ImageView imageView;
            imageView = new ImageView(context);

            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView.setLayoutParams(new GridView.LayoutParams(90, 90));
            image = imageArrayJson.getJSONObject(i);
            qrimage="http://www.aaa.com/"+image.getString("thumbsize");

            //imageView.setImageBitmap(getImageBitmap(qrimage));
            mImages[i]= new ImageView(context);
            mImages[i].setImageBitmap(getImageBitmap(qrimage));
            mImages[i].setTag("Image"+i);

        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}
4

1 回答 1

0

如果你想在活动之间传递一些东西,你会想要做这样的事情:

如何在 Android 上将对象从一个活动传递到另一个活动?

您正在从数据库中获取数据,但没有任何改变。

于 2012-08-23T14:21:10.020 回答