如何将可以从url下载图像的程序转换为可供其他类使用的库?

时间:2016-02-20 10:11:21

标签: android imagedownload

我试过这段代码。在那,我能够从网址下载图像。      但我不知道如何从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();

                }
            }
        }

    }

1 个答案:

答案 0 :(得分:0)

你不应该重新发明轮子。尝试使用PicassoGlideFresco

等库之一