怎么在Android应用中实现一个网页图片浏览功能

发布时间:2020-12-05 17:28:31

来源:亿速云

阅读:80

作者:Leah

本篇文章给大家分享的是有关怎么在Android应用中实现一个网页图片浏览功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

基本功能:输入图片的url然后点击按钮加载出来图片

activity_main.xml

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/activity_main"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

tools:context="cn.edu.bzu.imageview.MainActivity">

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:id="@+id/iv"

android:layout_weight="1000"

/>

android:id="@+id/et_path"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:hint="请输入图片的路径"

android:text="http://pic.58pic.com/58pic/16/62/63/97m58PICyWM_1024.jpg"

android:singleLine="true" />

android:text="浏览"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:onClick="click"/>

MainActivity:

package cn.edu.bzu.imageview;

import android.app.Activity;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.text.TextUtils;

import android.view.View;

import android.widget.EditText;

import android.widget.ImageView;

import android.widget.Toast;

import java.io.InputStream;

import java.net.HttpURLConnection;

import java.net.MalformedURLException;

import java.net.URL;

public class MainActivity extends Activity {

protected static final int CHANGE_UI = 1;

protected static final int ERROR = 2;

private EditText et_path;

private ImageView iv;

private Handler handler = new Handler() {

public void handleMessage(Message msg) {

if (msg.what == CHANGE_UI) {

Bitmap bitmap = (Bitmap) msg.obj;

iv.setImageBitmap(bitmap);

} else if (msg.what == ERROR) {

Toast.makeText(MainActivity.this, "显示图片错误",Toast.LENGTH_SHORT).show();

}

}

;

};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

et_path = (EditText) findViewById(R.id.et_path);

iv = (ImageView) findViewById(R.id.iv);

}

public void click(View view) {

final String path = et_path.getText().toString().trim();

if (TextUtils.isEmpty(path)) {

Toast.makeText(this, "图片路径不能为空", Toast.LENGTH_SHORT).show();

} else {

//子线程请求网络,android4.0以后访问网络不能放在主线程中

new Thread() {

private HttpURLConnection conn;

private Bitmap bitmap;

public void run() {//连接服务器get请求,获取图片

//创建URL对象

try {

URL url = new URL(path);

conn = (HttpURLConnection) url.openConnection();//根据url发送http的请求

conn.setRequestMethod("GET");//设置请求的方式

conn.setConnectTimeout(5000);//设置超时时间

conn.setRequestProperty("User-Agent", "Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.1;" + "SV1;.NET4.0C;.NET4.0E;.NET CLR 2.0.50727;" + ".NET CLR 3.0.4506.2152;.NET CLR 3.5.30729;Shuame)");//设置浏览器的版本

int code = conn.getResponseCode();//得到服务器返回的响应码

if (code == 200) {//请求成功后返回码是200

InputStream is = conn.getInputStream();

bitmap = BitmapFactory.decodeStream(is);

Message msg = new Message();

msg.what = CHANGE_UI;

msg.obj = bitmap;

handler.sendMessage(msg);

} else {

Message msg = new Message();

msg.what = ERROR;

handler.sendMessage(msg);

}

} catch (java.io.IOException e) {

e.printStackTrace();

Message msg = new Message();

msg.what = ERROR;

handler.sendMessage(msg);

}

}

}.start();

}

}

以上就是怎么在Android应用中实现一个网页图片浏览功能,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

android图片浏览功能,怎么在Android应用中实现一个网页图片浏览功能相关推荐

  1. 服务器文件如何防止盗链,怎么在Apache服务器中实现一个防止图片盗链功能

    怎么在Apache服务器中实现一个防止图片盗链功能 发布时间:2020-12-15 16:06:51 来源:亿速云 阅读:104 作者:Leah 这篇文章将为大家详细讲解有关怎么在Apache服务器中 ...

  2. 【吉大刘大有数据结构绿皮书】向LinkedList类中增加一个函数Contrary,功能为将其所有结点按相反次序链接。

    题目 向LinkedList类中增加一个函数Contrary,功能为将其所有结点按相反次序链接. 思路 考研要求用C语言,那我就用C语言(没有面向对象),本题就是个链表倒置算法,先将哨位结点和后面的结 ...

  3. Android中实现一个简单的照相功能

    一个简单的照相功能,拍照之后在另一个activit中显示出拍照的图片. 首先是布局文件: <?xml version="1.0" encoding="utf-8&q ...

  4. android手机隐藏功能游戏,涨姿势!MIUI中竟然有这么多隐藏功能

    [IT168 评测]从最初版本的版本开始,MIUI就一直以功能丰富.实用著称,拥有众多贴心的设计.随着不断的优化和功能的累积,其实在当前版本的MIUI中,有很多功能并没有被大家发现和使用.那现在,我就 ...

  5. html 图片防盗链,【反防盗链】介绍一个对付图片防盗链的方法

    悲催的声明: 由于腾讯也采用了防盗链技术,本文方法已经失效了! 当我们想在文章里引用某张图片时,如果对方设置了防盗链,我们看到的将是404或forbidden或其他图片,而不是想要的那张图片,为此,我 ...

  6. 基于pyQt的按键响应程序,实现按下按键进行图片曝光(按下按钮,运行另一个曝光图片程序.py)

    这里写目录标题 创建UI界面 编写程序 编写你要调用的程序 编写UI界面函数 主程序 运行结果 后续 创建UI界面 在designer中拖出一个按钮,并进行重属名. 编写程序 编写你要调用的程序 这里 ...

  7. html验证码功能如何实现原理,基于JS实现一个随机生成验证码功能

    效果展示 实现原理 1. html:一般就是一个div: 2. JS:1)将所有的验证码所用的字符放在一个字符串中 2)在这个字符串的字符个数以内,随机生成索引号 3)根据索引号查找对应字符,拼接成验 ...

  8. 【Vue3.0实战逐步深入系列】扩展投票功能基于elementui进行组件封装实现一个简单的问卷调查功能

    [千字长文,熬夜更新,原创不易,多多支持,感谢大家] 前言 小伙伴们大家好.在前面一偏文章中我们把投票功能进行了简单的改造:引入了axios第三方库并进行了二次封装用于模拟请求服务器数据.同时添加了一 ...

  9. python中爬取网页图片

    完整代码: # coding:utf-8 # 引入requests包和正则表达式包re import requests import re from datetime import datetime ...

最新文章

  1. 长庆石油学校计算机97,我在浙江大学学习计算机技术 ----我在长庆油田会战的12年(十一)...
  2. R语言ggplot2可视化:使用热力图可视化dataframe数据
  3. Android多个权限多次请求,android – 获取W / Activity:一次只能请求一组权限
  4. 【译】Introduction to Byteball — Part 2: The DAG
  5. 编程能力强化(4)——模拟SQL语句解析
  6. 无监督学习 k-means_无监督学习-第1部分
  7. BZOJ 3436: 小K的农场( 差分约束 )
  8. php打印订单,WooCommerce: 打印订单
  9. 一文了解电竞游戏平台的大数据玩法儿!
  10. bootstrap3-dialog 使用说明
  11. 汉诺塔(Hanoi Tower)
  12. 诸葛新增快应用SDK,满足客户更多数据采集方案支持!
  13. jasper report 子报表中嵌套子报表
  14. fusioncharts的属性介绍
  15. [Python] [机器学习] 基础聚类算法(K-means、AHC、DBSCAN)简介及可视化代码
  16. html5手机不能自动播放音乐,H5案例---解决H5中背景音乐无法自动播放问题
  17. 生活要有新鲜感,麻烦给我来一杯依维世苏打水鸡尾酒
  18. 和数集团董事长唐毅先生受邀出席“文旅产业与数字艺术新形态”高峰文化论坛
  19. 蓝桥杯试题 Python3
  20. 【DSP实验】软件仿真方法在VisualDSP++中用延时线实现Riitta Schroeder混响算法

热门文章

  1. 基于 Flink + ClickHouse 打造轻量级点击流实时数仓
  2. Spotify如何使用Cassandra实现个性化推荐
  3. 测试工程师不懂AI,还有未来吗?
  4. 阿里技术专家详解 DDD 系列- Domain Primitive
  5. 100行Python代码理解深度学习关键概念:从头构建恶性肿瘤检测网络
  6. 用Python玩转时序数据
  7. 阿里云发布链路追踪服务Tracing Analysis
  8. 阿里云史上最大技术升级:面向万物智能的飞天2.0
  9. ECS 按量付费VPC实例停机不收费FAQ
  10. Redis 6.0 的客户端缓存是怎么肥事?一文带你了解!