0

私はphpを使用してデータベース(MYSQL)から画像を取得するAndroidアプリを作成しています。画像も取得しますが、画像を別のアクティビティ、つまりgridviewからviewflipperに渡し、画像をスライドさせたいという問題があります。

データベースから取得するクリックされた画像を渡す方法を教えてください。

前もって感謝します。

DisplayActivity.java

public class DisplayImages extends 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;
}

}

グリッドビューでその位置の画像パス onclick を渡していますが、画像の画像パス onclick を取得したいのですが、画像パスを動的に取得して別のアクティビティを渡すにはどうすればよいですか。

これは私のイメージアダプターのコードです

public class ImageAdapter extends 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 に答える