2011-05-04 76 views
2

我想单击按钮获取图像并将其显示在同一活动中。这就是我试图单击按钮时获取并显示图像

public class MainActivity extends Activity { 


    ImageView imView; 
    String imageUrl="http://variable3.com/files/images/email-sig.jpg"; 
    Random r= new Random(); 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 
     setContentView(R.layout.main); 

     Button bt3= (Button)findViewById(R.id.get_imagebt); 
     bt3.setOnClickListener(getImgListener); 

     imView = (ImageView)findViewById(R.id.imview); 
     Log.i("img already downloaded","img"); 
    }  

    View.OnClickListener getImgListener = new View.OnClickListener() 
    { 

     public void onClick(View view) { 
       // TODO Auto-generated method stub 

       //i tried to randomize the file download, in my server i put 4 files with name like 
         //png0.png, png1.png, png2.png so different file is downloaded in button press 
      int i =r.nextInt(4); 
       downloadFile(imageUrl); 
       Log.i("im url",imageUrl); 
     } 

    }; 


    Bitmap bmImg; 
    void downloadFile(String fileUrl){ 
     URL myFileUrl =null;   
     try { 
       myFileUrl= new URL(fileUrl); 
     } catch (MalformedURLException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
     } 
     try { 
       HttpURLConnection conn= (HttpURLConnection)myFileUrl.openConnection(); 
       conn.setDoInput(true); 
       conn.connect(); 
       int length = conn.getContentLength(); 
       InputStream is = conn.getInputStream(); 

       Log.i("im connected","Download"); 
       bmImg = BitmapFactory.decodeStream(is); 
       imView.setImageBitmap(bmImg); 
     } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
     } 
    } 

} 
+0

你能描述你面临什么问题吗? – chaitanya 2011-05-04 08:17:04

+0

编译代码后出现问题java.net.UnknowhostException:主机已解决 – Narendra 2011-05-04 09:54:51

+0

您是否已将android.permission.INTERNET添加到您的清单文件中? – chaitanya 2011-05-04 12:44:47

回答

1

没明白你的问题,但如果它是关于关于随机下载该注释,然后只是你我变量添加到downloadFile()方法的参数:

void downloadFile(String fileUrl, int i) 

然后将一个开关块添加到方法的主体,并使其下载当前值为i所需的文件。希望这是你需要的。