网络图片查看器

2024-06-04 21:48
文章标签 图片 网络 查看器

本文主要是介绍网络图片查看器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

功能比较简单,代码也有解释,直接上代码:

Strings.xml代码

<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string name="app_name">netimage</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">网络图片查看器</string>
    <string name="button">查看</string>
    <string name="error">获取图片失败</string>

</resources>


main.xml布局代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >


    <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
<EditText
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:id="@+id/imagepaht"
   android:text="http://hao.360.cn"/>
<Button
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:id="@+id/button"
   android:text="@string/button"/>
<ImageView
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:id="@+id/imageview"/>

</LinearLayout>


MainActivity.java代码

public class MainActivity extends Activity {
   
private EditText pathtext;
private ImageView imageview;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        pathtext = (EditText)findViewById(R.id.imagepaht);
        imageview = (ImageView)findViewById(R.id.imageview);
        Button button = (Button) this.findViewById(R.id.button);
        button.setOnClickListener(new ButtonClickListener());
    }
    private final class ButtonClickListener implements View.OnClickListener{


@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//得到图片路径
String path =pathtext.getText().toString();
try {
//得到图片数据
byte[] data= ImageService.getImage(path);
data = ImageService.getImage(path);
//加载图片
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
imageview.setImageBitmap(bitmap);//显示图片
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(getBaseContext(), R.string.error, Toast.LENGTH_SHORT).show();
}

}
   
    }
    
}


StreamTool.java代码

public class StreamTool {
/*
* 读取流中的数据
*/


public static byte[] read(InputStream inStream) throws Exception {
// TODO Auto-generated method stub
ByteArrayOutputStream outStream = new ByteArrayOutputStream();

//new一个1024缓冲区
byte[] buffer = new byte[1024];
int len = 0;

//读取数据直到读完
while((len = inStream.read(buffer))!=-1){
outStream.write(buffer,0,len);
}
//关闭输出流
inStream.close();

return outStream.toByteArray();
}

}


ImageService.java代码

public class ImageService {
/*
 * 获取网络图片的数据
 * @param path 网络图片路径
 * @return
 * 
 * */
public static byte[] getImage(String path) throws Exception {
// TODO Auto-generated method stub
URL url = new URL(path);
HttpURLConnection conn =(HttpURLConnection) url.openConnection();//基于http的链接对象
conn.setConnectTimeout(5000);//链接时间
//请求方式
conn.setRequestMethod("GET");
if(conn.getResponseCode()==200)//响应码
{
//获取返回数据
InputStream inStream = conn.getInputStream();
return StreamTool.read(inStream);
}
return null;
}


}


这篇关于网络图片查看器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1031214

相关文章

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并