我试过这段代码。在那,我能够从网址下载图像。 但我不知道如何从url创建图像下载库。 这是我用来显示从URL到ImageView的图像的代码。
package net.simplifiedcoding.imageuploadsample;
import android.app.Activity;
import android.app.ProgressDialog;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
import java.io.InputStream;
import java.net.URL;
public class MainActivity extends Activity {
Button load_img;
ImageView img;
Bitmap bitmap;
ProgressDialog pDialog;
EditText et;
String url;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
load_img = (Button)findViewById(R.id.load);
img = (ImageView)findViewById(R.id.img);
et= (EditText) findViewById(R.id.editText);
// et.setText("http://192.185.159.159//~charmmar//raj_spice//products//653855007_chicken%20balti.jpg");
load_img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
url=et.getText().toString();
Log.e("URL...", "" + url);
// TODO Auto-generated method stub
new LoadImage().execute(url);
}
});
}
private class LoadImage extends AsyncTask<String, String, Bitmap> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(MainActivity.this);
pDialog.setMessage("Loading Image ....");
pDialog.show();
}
protected Bitmap doInBackground(String... args) {
try {
bitmap = BitmapFactory.decodeStream((InputStream) new URL(args[0]).getContent());
} catch (Exception e) {
e.printStackTrace();
}
return bitmap;
}
protected void onPostExecute(Bitmap image) {
if(image != null){
img.setImageBitmap(image);
pDialog.dismiss();
}else{
pDialog.dismiss();
Toast.makeText(MainActivity.this,"Image Does Not exist or Network Error",Toast.LENGTH_SHORT).show();
}
}
}
}