tomcat给android发图片,一步一步学会http获取tomcat服务端的图片,在android客户端显示...
最简单的利用服务端来下载图片到客户端上面,刚开始接触,记录一下,同时希望帮助到新人。
在看本篇文章之前,你可以先看下这两篇文章
加载web项目时报的错误:Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modul
Eclipse无法启动tomcat
服务端操作步骤:
我用的编辑器是java EE Eclipse集成tomcat6.0的,如图所示:
创建文件:File-->New -->Dynamic Web Project,然后如图所示:
然后点击Finish。
然后复制两个图片到WebContent下,最终效果如图所示:
运行服务端,看是否有问题。
点击项目,右键,Run As--->Run on Server,执行结果如图所示:
不过不要担心,去掉Test/,则变成了
解决以上问题后,输入http://localhost:8080/Test/battery.png这个网址后,显示的内容应该是图片的内容。
关于本机ip地址,你可以打开电脑cmd,输入ipconfig查看,当前ip地址
我的本地ip地址为192.168.1.48,所以,当我输入以下地址,也是可以显示同样的效果的:
客户端操作步骤:
客户端效果图:
有两个按钮,显示在屏幕,则将test.jpg图片显示到屏幕上,如上图所示,保存到手机,则battery.bnp图片保存到手机目录中。
关键代码如下所示:
package com.example.animal;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
public class HttpGetActivity extends Activity {
ImageView img;
Button btn, save;
URL url;
Bitmap bitmap;
HttpURLConnection httpURLConnection;
InputStream is;
FileOutputStream fos;
Runnable run = new Runnable() {
@Override
public void run() {
String urlname = "http://192.168.1.48:8080/Test/test.jpg";
try {
url = new URL(urlname);
httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setConnectTimeout(3000);
//允许输入流
httpURLConnection.setDoInput(true);
//设置连接方式为GET,默认就是get请求方式
httpURLConnection.setRequestMethod("GET");
int responseCode = httpURLConnection.getResponseCode();
// 状态码等于200,表示正确
if (responseCode == 200) {
is = httpURLConnection.getInputStream();
}
bitmap = BitmapFactory.decodeStream(is);
Log.i("测试", bitmap + "");
handler.sendEmptyMessage(0);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
};
Runnable run2 = new Runnable() {
@Override
public void run() {
String urlname = "http://192.168.1.48:8080/Test/test.jpg";
try {
url = new URL(urlname);
httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setConnectTimeout(3000);
httpURLConnection.setDoInput(true);
httpURLConnection.setRequestMethod("GET");
int responseCode = httpURLConnection.getResponseCode();
// 状态码等于200,表示正确
if (responseCode == 200) {
is = httpURLConnection.getInputStream();
}
File file=new File("sdcard/test/");
file.mkdirs();
fos = new FileOutputStream("sdcard/test/test.jpg");
byte[] date = new byte[1024];
int len;
while ((len = is.read(date)) != -1) {
fos.write(date, 0, len);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
};
StringBuffer sb;
Handler handler = new Handler() {
public void handleMessage(android.os.Message msg) {
img.setImageBitmap(bitmap);
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img = (ImageView) findViewById(R.id.frame_image);
btn = (Button) findViewById(R.id.run);
save = (Button) findViewById(R.id.save);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
new Thread(run).start();
}
});
save.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
new Thread(run2).start();
}
});
}
}
原文:http://blog.csdn.net/harryweasley/article/details/45840523
tomcat给android发图片,一步一步学会http获取tomcat服务端的图片,在android客户端显示...相关推荐
- 还在为本地到服务器图片的上传下达而烦恼吗?使用base64及flask框架实现服务端部署服务器! 本地客户端图片的上传下达!
最近遇到了一个很烧脑的问题,在机器视觉的检测模块部署到了服务器以后,python指令可以将指定文件夹中的图片进行识别并将检测结果保存到一个文件夹里,但是部署到了服务器以后我们不可能总是 ...
- android无线游戏手柄:重力感应控制极品飞车(C#作为服务端)
源代码:点此下载 这篇博客是我上一篇博客的延续,之所以还要写这篇博客,是希望给大家一些灵感,写一些有趣的东西出来. 上篇博客:android遥控器:控制电脑上的暴风影音播放(C#作为服务端) 首先讲一 ...
- QTcpSocket客户端和服务端发送图片(或大文件)小Demo
先看一下效果: 思路: 发图片.大文件与发短字符不大一样. 1.文件和图片通过TCP可能一次发不过去,可能要发很多次.所以我们在发送文件.数据.以及文字最好带上文件的大小. 2.图片转换成文件流的形式 ...
- android 仿微信demo————注册功能完善添加头像功能(服务端)
android 仿微信demo----微信启动界面实现 android 仿微信demo----注册功能实现(移动端) android 仿微信demo----注册功能实现(服务端) android 仿微 ...
- 如何用php向wsdl服务器发请求,知道服务器端Wsdl,不写服务端代码,仅写客户端代码能调用服务端的方法吗?...
新手请教,望高手朋友不吝赐教,无比感谢中. 今天一大早开始研究Webservice,有一本不太专业的参考书,随便找了一个服务端的Wsdl,想调用其中的方法,结果搞了一天,无果,老报错,郁闷. 代码如下 ...
- android壁纸软件代码,android高清壁纸APP完整源码HD Wallpaper(服务端+客户端)
描述 android高清壁纸APP完整源码HD Wallpaper with Material Design,包含android客户端源码.php+mysql服务端源码,带文档 "HD Wa ...
- php如何让图片铺满屏幕,如何解决js获取屏幕大小并且让图片自适应的方法
在写h5页面的时候,经常会需要将图片自适应大小,一般都是用等比例的缩放,这就有个问题,当上传的图片不是一个规格时就会出现展示图片不完美. 为了解决这个问题,我们可以通过js去获取图片的大小,然后在根据 ...
- android插件化-apkplug中以监听方式获取OSGI服务-09
2019独角兽企业重金招聘Python工程师标准>>> 我们提供 apkplug 下OSGI使用demo 源码托管地址为 http://git.oschina.net/plug/OS ...
- android原生调用nextjs方法,详解使用Next.js构建服务端渲染应用
next.js简介 最近在学React.js,React官方推荐使用next.js框架作为构建服务端渲染的网站,所以今天来研究一下next.js的使用. next.js作为一款轻量级的应用框架,主要用 ...
最新文章
- linux6.3支持gcc版本,Linux编程中GCC对C++标准支持和如何选择GCC版本使用
- 2016 年Adobe设计成就奖作品征集
- 万字图文 | 聊一聊 ReentrantLock 和 AQS 那点事(看完不会你找我)
- 前端学习(3034):vue+element今日头条管理-markdown补充
- Hibernate写hql语句与不写hql语句的区别?
- matlab 判断元素索引_MATLAB通过索引访问数组元素
- 自研分布式web漏洞扫描平台WDScanner
- Log4cpp 配置文件配置Syslog
- vs2015安装vs assist 教程
- python静态分析工具_7 个顶级静态代码分析工具
- 将Excel表中数据导入数据库(看了就会)
- deepstream运行TAO模型
- VScode的源代码管理简易使用
- mysql columns_MySQL的show columns命令
- 2022国赛题链路备份与压缩
- 敏涵控股集团贵族私人定制:时尚最C位 懂精致 更懂生活
- 二维数组正确初始化规则
- oracle导出报错04063,导出报错:ORA-04063:packagebody“DMSYS.DBMS_DM_MODEL_EXP”hase
- python 单应性矩阵实现
- Cocos2dx WebSocket的使用
热门文章
- laravel mysql 视图_视图入门:Laravel 支持的视图格式以及在路由中的基本使用
- 【英语学习】【WOTD】gullible 释义/词源/示例
- Spring从入门到入土——Bean的作用域与生命周期
- mysql数据库中excel数据的导入与导出
- sql alwayson群集 registerallprovidersip改为0_前沿观察 | 分布式SQL性能对比
- java线程详解_Java线程详解
- Mono for Unreal Engine发布,C#进入虚幻引擎(Unreal Engine)
- spring之集合注入
- ghost不要用作域控的备份
- SqlParameter[] 添加参数