通过URLHttpConnection方式连接网络步骤,获取位图为例
要注意的是:访问网络不能直接放在主线程,要放在另外一个线程里面,如果放在主线程会报android.os.NetworkOnMainThreadException错误
1 public Bitmap getImageFromNet(String uri) {
HttpURLConnection conn = null; try {
// 1.首先将地址转换为Uri
// Uri net_uri = Uri.parse(uri); //这种方式是错误的
URL url = new URL(uri); // 2. 获取网络连接
conn = (HttpURLConnection) url.openConnection(); // 这个地方要转换一次,转换为你获取图片的协议连接 // 3. 设置请求的一些常用的参数
conn.setConnectTimeout(30000);// 设置超时
conn.setDoInput(true); // 设置请求可以放服务器写入数据
conn.setReadTimeout(30000); // 设置连接去读取数据的超时时间
// 4.真正请求图片,然后把从网络上请求到的二进制流保存到了inputStream里面
conn.connect(); // 5.确保链接成功,获取inputStream流
if (conn.getResponseCode() == 200) {
InputStream in = conn.getInputStream();
// 6. BitMap的图片工厂,创建出一个图片
Bitmap bitmap = BitmapFactory.decodeStream(in);
return bitmap;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
// 7. 关闭连接
if (null != conn) {
conn.disconnect();
}
} return null;
}
根据不同的目的,变化的是第6步,通过获取的流来不同的操作达成目的
通过URLHttpConnection方式连接网络步骤,获取位图为例的更多相关文章
- vmvare使用桥接和NAT方式连接网络
一.背景:本着学以致用的心态,试着最小化安装Centos7.4.安装centos主要目的有两个:共享文件(samba).安装postgresql数据库 本打算使用内网(不联网)的方式安装samba和p ...
- Hyper-v 虚拟机使用NAT方式连接网络
最近因为搞docker的原因,卸掉了vb和vm,用上了hyper. 其实一直挺喜欢hyper-v的,但是一直都受虚拟网络的影响--hyper-v创建不了vm和vb使用的那种NAT连接方式. 默认使用外 ...
- 转:在虚拟机中用NAT方式连接网络
1.安装VMware Workstation .在安装过VMware Workstation软件后,会在本地连接中,多了两个虚拟网卡,一个是 VMware Network Adapter for VM ...
- VM12中CentOS7以NAT方式连接网络的方法
解决问题:centos网络连不上,连不上主机,ifconfig等命令不能用(配完有网了,安装上就好了)等问题 前提:安装vm12,centos7(最小安装) 注意:以下以192开头的,你都要替换成自 ...
- 通过HttpClient方式连接网络
xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:t ...
- 系统编程-网络-tcp客户端服务器编程模型(续)、连接断开、获取连接状态场景
相关博文: 系统编程-网络-tcp客户端服务器编程模型.socket.htons.inet_ntop等各API详解.使用telnet测试基本服务器功能 接着该上篇博文,咱们继续,首先,为了内容的完整性 ...
- Js navigator.onLine 获取设备是否可以上网、连接网络
http://zccst.iteye.com/blog/2194229 获取用户的联网状态 if (navigator && navigator.onLine === false) { ...
- Windows XPSP3通过网络级身份验证方式连接Windows Server 2008远程桌面
远程桌面大大方便了大家的日常管理工作,Windows Server 2008同样秉承这一优秀特性,并引入网络级身份验证(NLA)作为远程桌面连接的默认身份验证方式. 网络级身份验证 (NLA) 是一种 ...
- 【Android-NetWork】 判断是否连接网络,判断网络连接方式
如何判断Android是否连接网络? Java代码: ConnectivityManager conn = (ConnectivityManager) getSystemService(Activit ...
随机推荐
- secureCRT如何远程桥接CentOS.
1.将虚拟机的网络连接方式设置为桥接 2.关闭CentOS的防火墙,这里我是直接从页面上关闭的,没有使用命令 3.设置CentOS的ip为静态地址,不允许自动获取,这样远程连接不需要总修改地址.由于我 ...
- (medium)LeetCode 222.Count Complete Tree Nodes
Given a complete binary tree, count the number of nodes. Definition of a complete binary tree from W ...
- SQLServer 索引以及视图
业务 主键: 索引: 锁: ========================================= 一个页分为 页头 页体--存储行 页尾 页是有固定大小的,但是数据不一定存满,有可能产生 ...
- android Json 解析和生成
什么是json: JSON即JavaScript Object Natation的简称,它是一种轻量级的数据交换格式,非常适合服务器与JavaScript的交互.JSON易于人阅读和编写.同时也易于机 ...
- Oozie 中各种类型的作业执行结果记录
一,提交的作业被SUSPEND,然后再被KILL,记录如下: TYPE1: appType WORKFLOW_JOB id 0000002-160516095026479-oozie-oozi-W e ...
- SDUT 3344 数据结构实验之二叉树五:层序遍历
数据结构实验之二叉树五:层序遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 已知一个按 ...
- hadoop2.5.1搭建(二)
第一篇主要是整体的步骤,其实中间遇到很多问题,第二篇将遇到的问题全部列举下来: 1.1包不能加载警告 WARN util.NativeCodeLoader: Unable to load native ...
- FindResource函数错误代码:1813-找不到映像文件中指定的资源类型 与LoadResource函数错误代码:1812-指定的映像文件不包含资源区域
HRSRC WINAPI FindResource( _In_opt_ HMODULE hModule, _In_ LPCTSTR lpName, _In_ LPCTSTR lp ...
- spm3安装和使用
readme : 因为我在在spm3中主要用到的是spm build这个命令,因此本文简单的介绍一下如何安装spm3和使用其中的spm build命令 一.安装 1.安装nodejs 直接去官网下载n ...
- ifdown eth0 && idup eth0 ifdown --exclude=l0 -a && ifup --exclude=lo -a