最近一直在学习从远程服务器获取图片,开始时都是手写这些处理,后来接触到了smartImageview这个插件。github获取地址:https://github.com/loopj/android-smart-p_w_picpath-view

官方原版插件说明

Overview

SmartImageView is a drop-in replacement for Android’s standard ImageView which additionally allows p_w_picpaths to be loaded from URLs or the user’s contact address book. Images are cached to memory and to disk for super fast loading.


Features

Drop-in replacement forImageView

Load p_w_picpaths from aURL

Load p_w_picpaths from the phone’scontact address book

Asynchronous loading of p_w_picpaths, loading happensoutside the UI thread

Images arecachedto memory and to disk forsuper fast loading

SmartImageclass is easilyextendableto load from other sources


其中用到的就是:setImageUrl()方法,该方法有好几个重载方法,用到了这个

setImageUrl(String url,int fallbackResource)

这个方法的参数解析如下:url当然是远程图片的地址,第二个参数是当获取远程图片失败时,显示的图片,是一个int类型的res下的图片的一个id


在使用时,直接在布局文件里使用SmartImageView就行,这个类继承自ImageView

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<com.yuanlp.smartp_w_picpathview.loopj.android.p_w_picpath.SmartImageView
android:id="@+id/siv"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

</LinearLayout>

在MainActivity 中

com.yuanlp.smartp_w_picpathviewandroid.support.v7.app.AppCompatActivityandroid.os.Bundlecom.yuanlp.smartp_w_picpathview.loopj.android.p_w_picpath.SmartImageViewMainActivityAppCompatActivity{(BundlesavedInstanceState){.onCreate(savedInstanceState)setContentView(R.layout.)SmartImageViewsiv=(SmartImageView)findViewById(R.id.)siv.setImageUrl(R.drawable.)}}