2012-08-23 4 views
0

php.I를 사용하여 데이터베이스 (MYSQL)에서 이미지를 가져 오는 안드로이드 앱을 만들었지 만 문제는 이미지를 다른 액티비티, 즉 gridview에서 전달하려고합니다. viewflipper에 이미지를 슬라이드하는 것.gridview의 이미지를 클릭하면 이미지를 얻을 수 있습니다

어느 것이 든 데이터베이스에서 가져온 이미지를 클릭하여 전달하는 방법을 알려주십시오. 사전에

감사합니다.

DisplayActivity.java

공용 클래스 DisplayImages는 활동 {

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.but에서 그 위치의 온 클릭 이미지 경로를 통과하고 확장 image.how의 path 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(); 
     } 
    } 

} 

답변

0

당신이하는 행동이 사이에 뭔가를 전달하려는 경우, 당신이 그런 짓을하려는거야 :

How do I pass an object from one activity to another on Android?

당신은 데이터베이스에서 데이터를 받고있어,하지만 아무것도 변경할 수 없습니다.

+0

답장을 보내 주셔서 감사합니다. 이미지 URL을 클릭하고 다른 활동으로 넘어 가고 싶습니다. – raju2k11

+0

그럼 내가 말한 것은 효과가 있습니다. – Michael

+0

그것이 작동합니다. 그러나 질문이 발생합니다. 나는 이미지 URL을 클릭하여 얻을 수 있도록 파셀 블을 사용할 수 있습니다. – raju2k11

관련 문제