我想在点击按钮时获取图像并将其显示在同一活动中。这就是我试过的
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 :(得分:1)
不明白你的问题,但如果是关于随机化下载的评论,那么只需将你的i变量添加到downloadFile()方法参数:
void downloadFile(String fileUrl, int i)
然后将一个开关块添加到方法的主体,并使其下载当前值为i所需的文件。希望这是你需要的。