Android Volley - ImageLoader的getInstance()方法不可用

时间:2017-04-01 00:18:29

标签: android android-volley universal-image-loader imagedownload

我是Android的新手,我尝试使用Volley从网址下载图片。 我已经成功地使用RequestQueue和ImageRequest显示来自某个URL的图像。 但现在我尝试将图像下载到设备上的某个特定文件夹。 到现在为止,我有一个简单的代码,显示我在TextView中插入的url图像。 我现在的目的是从插入的URL下载并保存图像。

我看到一些需要ImageLoader.getInstance()的示例,我不明白为什么我的ImageLoader根本没有getInstance()方法。

也许有人有更好的想法如何将图像从url保存到我的Android设备到特定文件夹? 谢谢! enter image description here

爪哇:

    public class MainActivity extends AppCompatActivity {

    private String url = "http://iokds.org/wp-content/uploads/2016/10/product-default-300x300.png";
    ImageView image;
    EditText insertedLink;
    Button submitBtn;
    RequestQueue mRequestQueue;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        image = (ImageView)findViewById(R.id.ivImageView);
        insertedLink = (EditText) findViewById(R.id.insertLink);
        submitBtn = (Button) findViewById(R.id.btn);

        submitBtn.setOnClickListener(new SubmitButtonOnClickListener());
        showImage(url);
    }

    private void showImage(String newUrl){
        mRequestQueue = Volley.newRequestQueue(this.getApplicationContext());
        ImageRequest imageRequest = new ImageRequest(newUrl, new BitmapListener(), 0, 0, null, null, new MyErrorListener());
        mRequestQueue.add(imageRequest);
    }

    private class BitmapListener implements Response.Listener<Bitmap> {
        @Override
        public void onResponse(Bitmap response) {
            image.setImageBitmap(response);
        }
    }

    private class MyErrorListener implements Response.ErrorListener {
        @Override
        public void onErrorResponse(VolleyError error) {
            image.setImageResource(R.drawable.error_icon);
        }
    }

    private class SubmitButtonOnClickListener implements View.OnClickListener {
        @Override
        public void onClick(View v) {
            url = insertedLink.getText().toString();
            showImage(url);
        }
    }
}

我的xml:

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <EditText
        android:id="@+id/insertLink"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="@string/url"
        android:layout_centerHorizontal="true"
        android:layout_margin="10dp"/>
    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/insertLink"
        android:layout_centerHorizontal="true"
        android:text="@string/btn"/>
    <ImageView
        android:id="@+id/ivImageView"
        android:layout_below="@+id/btn"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="50dp"/>


</RelativeLayout>

0 个答案:

没有答案