Android9.0无法加载图片及访问不了服务器问题

当在安卓9.0加载网络请求数据时,如果抛出如下异常:

Cause (1 of 1): class java.io.IOException: Cleartext HTTP traffic to xxxx.xxxx.xxxx not permitted

这是因为Android 9.0 版本系统默认支持一个网络访问协议:Https协议的网络,所以不支持网络访问:Http协议的网络
面对这样的问题,解决办法:

第一种办法
在AndroidMainfast.xml清单文件 Application里增加代码::

android:usesCleartextTraffic="true"

然后重新运行,就可以解决了访问不到服务器HTTP接口和图片加载的问题

第二种方案:
在rec文件夹中创建一个xml文件夹,然后创建一个network-security-config.xml。xml文件代码如下:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>

然后在<application>标签内添加以下代码:

android:networkSecurityConfig="@xml/network_security_config"

如果im还是登录不上去,推送也注册失败。是因为Android 9.0版本找不到http.client的类了。
解决半部分,在AndroidMainfast.xml文件清单里再加一句如下代码:

<uses-library android:name="org.apache.http.legacy" android:required="false" />

原文地址:https://blog.51cto.com/1206995290qq/2357294

时间: 2024-11-25 23:26:39

Android9.0无法加载图片及访问不了服务器问题的相关文章

SDL2.0的加载图片贴图

加载图片贴图,采用了SDL_Window.SDL_Renderer.SDL_Texture和SDL_Image库 实例: 1 #include <stdio.h> 2 #include <math.h> 3 #include <string.h> 4 #include <SDL2\SDL.h> 5 #include <SDL2\SDL_image.h> 6 #include <SDL2\ex\SDL_rectex.h> 7 8 SDL

Android开发解决加载图片OOM问题(非常全面 兼顾4.0以下系统)(by 星空武哥)

转载请标明:http://blog.csdn.net/lsyz0021/article/details/51295402 我们项目中经常会加载图片,有时候如果加载图片过多的话,小则导致程序很卡,重则OOM导致App挂了,今天翻译https://developer.Android.com/training/displaying-bitmaps/index.html,学习Google高效加载大图片的方法. 图片有各种形状和大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小.比如说系统图片库

在QtCreator 2.1.0 下使用opencv231库加载图片并显示

在.pro中库连接如上图,具体规则正在学习,注意debug下连接*d.lib.release下链接.lib.没有d的. 如果出现imread不可以加载图片,cvloadImage却可以,则是上面说的连接库名字的问题.具体看http://blog.csdn.net/wangyaninglm/article/details/38958915

Android:ViewPager扩展详解——带有导航的ViewPagerIndicator(附带图片缓存,异步加载图片)

大家都用过viewpager了, github上有对viewpager进行扩展,导航风格更加丰富,这个开源项目是ViewPagerIndicator,很好用,但是例子比较简单,实际用起来要进行很多扩展,比如在fragment里进行图片缓存和图片异步加载. 下面是ViewPagerIndicator源码运行后的效果,大家也都看过了,我多此一举截几张图: 下载源码请点击这里 ===========================================华丽的分割线==============

用javascript预加载图片、css、js的方法研究

预加载的好处可以让网页更快的呈现给用户,缺点就是可能会增加无用的请求(但图片.css.js这些静态文件可以被缓存),如果用户访问的页面里面的css.js.图片被预加载了,用户打开页面的速度会快很多,提升用户体验.在用到一些大图片展示的时候,预加载大图是很不错的方法,图片更快的被呈现给用户.不多说了,作为一个前端攻城师都懂的,下面分享我做的测试和得到的结果. 先说需要知道的服务器返回的status code:status-code: 200 - 客户端请求成功status-code: 304 -

访问服务器(加载图片)

一丶一个简单的访问服务器(访问网易新闻客户端) 点击加载新闻:首页的布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_hei

JQuery仿淘宝滚动加载图片

用 JQuery 制作随着显示页面的滚动条的滚动动态加载图片,适用于图片太多的页面,在访问网页时,可以先只加载第一屏要显示的图片,当用户进行向下滚动查看页面的时候,动态去加载这些图片,好处是减少页面第一次显示的流量,加快页面第一屏显示的速度.利辛县档案局 主要原理:通过 setInterval 定时事件,检测滚动条的位置,再进行 ajax 请求服务端数据,加载图片到页面上. <script type="text/javascript"> var iHeight = 0; v

高效地加载图片(三) 缓存图片

如果只需要加载一张图片,那么直接加载就可以.但是,如果要在类似ListView,GridView或者ViewPager的控件中加载大量的图片时,问题就会变得复杂.在使用这类控件时,在短时间内可能会显示在屏幕上的图片数量是不固定的. 这类控件会通过子View的复用来保持较低的内存占用.而Garbage Collector也会在View被复用时释放对应的Bitmap,保证这些没用用到的Bitmap不会长期存在于内存中.但是为了保证控件的流畅滑动,在一个View再次滑动出现在屏幕上时,我们需要避免图片

iOS网络加载图片缓存与SDWebImage

加载网络图片可以说是网络应用中必备的.如果单纯的去下载图片,而不去做多线程.缓存等技术去优化,加载图片时的效果与用户体验就会很差. 一.自己实现加载图片的方法 tips: *iOS中所有网络访问都是异步的.(自己开线程去下载) *普通为模型增加UIImage属性的方法做的是内存缓存(下次启动还需要从网络重新加载), 而要做本地缓存的话,还要自己手动存储网络上下载的图片. *为了加快访问, 还需要自己去弄缓存.(内存缓存或者本地缓存) *当图片没有下载完成时,还要设置占位图片. 以下代码用NSOp