私は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();
}
}
}