如何在 Android 中通过 URL 加载 ImageView?

新手上路,请多包涵

如何在 ImageView 中使用 URL 引用的图像?

原文由 Praveen 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 819
2 个回答

无论如何,人们要求我的评论将其发布为答案。我在发帖。

 URL newurl = new URL(photo_url_str);
mIcon_val = BitmapFactory.decodeStream(newurl.openConnection().getInputStream());
profile_photo.setImageBitmap(mIcon_val);

原文由 Praveen 发布,翻译遵循 CC BY-SA 4.0 许可协议

试试这个方法,希望这能帮助你解决你的问题。

在这里,我解释了如何使用“AndroidQuery”外部库以 asyncTask 方式从 url/server 加载图像,并将加载的图像缓存到设备文件或缓存区域。

  • 从这里 下载“AndroidQuery”库
  • 将此 jar 复制/粘贴到项目 lib 文件夹并将此库添加到项目构建路径
  • 现在我演示如何使用它。

activity_main.xml

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center">

        <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">

            <ImageView
                android:id="@+id/imageFromUrl"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:adjustViewBounds="true"/>
            <ProgressBar
                android:id="@+id/pbrLoadImage"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"/>

        </FrameLayout>
    </LinearLayout>

MainActivity.java

 public class MainActivity extends Activity {

private AQuery aQuery;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    aQuery = new AQuery(this);
    aQuery.id(R.id.imageFromUrl).progress(R.id.pbrLoadImage).image("http://itechthereforeiam.com/wp-content/uploads/2013/11/android-gone-packing.jpg",true,true);
 }
}

Note : Here I just implemented common method to load image from url/server but you can use various types of method which can be provided by "AndroidQuery"to load your image easily.

原文由 Haresh Chhelana 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题