在Android 4.0连接HttpURLConnection失败

我使用以下代码从网络上获取changelog。

InputStream content = null;
           try {


               URL url = new URL("http://dreamhawk.blinkenshell.org/changelog.txt");
               HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
               urlConnection.setRequestMethod("GET");
               urlConnection.connect();

               content = urlConnection.getInputStream();


               BufferedReader r = new BufferedReader(new InputStreamReader(content));
               StringBuilder total = new StringBuilder();
               String line;
               String NL = System.getProperty("line.separator");
               try {
                   while ((line = r.readLine()) != null) {
                       total.append(line + NL);
                   }
               } catch (IOException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
               }

               String page = total.toString();

               Dialog dialog = new Dialog(Main.this);

               dialog.setContentView(R.layout.custom_dialog);
               dialog.setTitle(R.string.changelog);
               dialog.setCanceledOnTouchOutside(true);

               TextView text = (TextView) dialog.findViewById(R.id.text);
               text.setTextSize(13);
               text.setText(page);
               dialog.show();
           } catch (Exception e) {
               //handle the exception !
           }

在Android 2.3或以下版本可以正常运行。但是只要ICS更新,就没有dialog,没有response,什么都没有,怎么改变代码?求教。

0

2个回答

在 android 3.0中,主线程的网络连接是不允许的。
StrictMode会自动打开。在 android 4.0也是一样的。
要修复这些问题,你必须在一个单独的线程中执行网络连接。例如,使用一个AsyncTask。

0

把e打印出来,不要吃掉,看看问题在哪里。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
HttpURLConnection连接服务器失败解决办法
Android连接服务器的API也没几步,测试总是连接不上,还报一些乱七八糟的错误,我的配置文件中也加入网络权限,但是依然还是有问题,我都郁闷 <uses-permission android:name="android.permission.INTERNET" />最后经过不断的测试,发现将本地连接服务器的代码放入一个新的线程中就OK,代码如下FR:海涛高软(QQ技术交流群:38647671
android网络编程HttpURLConnection连接web服务器
http是最常见的应用网络协议之一。这里我们要实现用安卓应用程序,访问javaweb。这里访问的是jsp页面。在实际开发中,应该访问的是servlet。第一步:  编写xml布局文件&amp;lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;n xmlns:tools=&quot;http://schemas.a...
HttpURLConnection无法连接到服务器,报403错误
现象描述:nn工作中维护的Android APP突然连不上第三方服务器了,服务器返回: nCode:403 Message:Forbiddennn首先了解下403状态:nnn 该状态表示服务器理解了本次请求但是拒绝执行该任务,该请求不该重发给服务器。在HTTP请求的方法不是“HEAD”,并且服务器想让客户端知道为什么没有权限的情况下,服务器应该在返回的信息中描述拒绝的理由。nnn说白了就是服务器...
使用HttpURLConnection访问https协议请求时.对SSL信任
此篇只涉及到如果访问https链接, 具体的原理不做深究.    当我们使用HttpURLConnection访问http请求的时候没有任何困难, 但是当访问https协议的链接时, 由于证书的问题, 就涉及到此链接的证书验证. 可以保证安全的通信, 但是对爬虫来说, 会变得非常的麻烦. 所以我们需要对https协议的链接在代码层实现信任此链接.     第一步: 实现X509TrustManag...
android通过HttpURLConnection/HttpClient(post)方式与servlet(tomcat)进行交互(servlet实现的功能是计算两个数字的积)
我的电脑里已经配置好了Tomcat.Tomcat的安装和环境配置这里不再做演示。今天我们做的实验内容是:这里先写一个通过以HttpURLConnection的post方式进行通信,直接贴代码,代码里的注解写得很详细,对了我用的android studio和eclipseeclipse端的代码往下看截图1-2,很简单,这里不再过多赘述这里先交代一下HttpURLConnection实现流程:1、创建...
Android之通过HttpURLConnection.getResponseCode状态码抛出异常的问题以及解决方法
1.最近,在学习解析json数据的时候遇到一个错误信息,错误信息如下图所示:nn发现解析出来的数据为空,错误信息如上图所示,发现程序中的HttpUtils工具类的22行出现了错误和MainActivity类的onClick方法的52出现了错误,因此我去寻找了一下这两个类报错的所在行,看看是否代码写错,因为我也是学习的,所以代码写错也很正常。nnn2.HttpUtils类的22行代码如下图
使用HttpURLConnection下载图片
使用HttpURLConnection下载图片
彻底解决android用HttpUrlConnection与web服务器之间session保持问题
彻底解决android用HttpUrlConnection与web服务器之间session保持问题
RxJava + httpURLConnectionde 的简单测试demo,可以拿来处理一般的android访问网络的线程问题
//主要代码rnObservable.create(new Observable.OnSubscribe() {rn            @Overridern            public void call(Subscriber subscriber) {rn                String bitmap =HttpUtil.sendHttpRequest("","http
关于HttpsURLConnection自动重试导致的请求重复
[问题描述] 在业务中与第三方对接时,在11秒log显示开始发起请求,24秒接受到请求结果,显示“请求序列号重复,请求失败”。查询log确认这段程序只触发一次,对方给出的日志显示第一次请求11秒接收,14秒给出返回结果,23秒收到同一序列号的请求,给出请求失败的response。n[代码段] n/**n * 向指定URL发送POST方法的请求n *n * @return URL所代
android 使用Java自带的HttpURLConnection 连接网络 读取返回数据
 rn rn    @Overridern    protected void onCreate(Bundle savedInstanceState) {rn        // TODO Auto-generated method stubrn        super.onCreate(savedInstanceState);rn        setContentView(R.layout....
【Android错误笔记】URLConnection解析URL的UnknownHostException异常解决办法
本来想好好写一篇关于使用AsycnTask异步任务的学习总结的时候,本来大致都快写完了nn但是最后面却出现了问题,ImageView控件无法获取解析获得的网络图片nn nn一开始以为是URL的问题,但是经过测试在浏览器打的开,所以排除了这个问题nn后来怀疑是否我没有在AndroidManifest.xml中加入访问网络的权限,经过再三确认,也不是权限的问题nn nnn&amp;lt;uses-permis...
android 蓝牙4.0出现连接一次或者几次后就连接不上,连接失败、扫描失败
1、概述nn 在做手机蓝牙4.0与BLE智能设备交互过程中遇到这样的问题:手机蓝牙和BLE智能设备连接一次或者三四次后,再无法连接。nn需要断开手机蓝牙或者重启APP或者重启手机或者重启BLE智能设备,才能再次连接BLE智能设备。nn2、原因nn 2.1)BLE蓝牙连接是单线程的,如果有某一个蓝牙和设备在连接中,其他蓝牙是无法连接成功的。nn 2.2)多次创建gatt连接对...
Android使用HttpURLConnection进行POST请求,向服务器上传数据
先在清单文件中需要添加权限:<uses-permission android:name="android.permission.INTERNET"/> 开始使用HttpURLConnection进行POST请求,向服务器上传数据: n(1)定位到要获取资源的网址并打开连接:URL url = new URL(String urlPath);nHttpURLConnection httpURLCon
彻底掌握网络通信(十四)HttpURLConnection进行网络请求深度分析二:缓存
彻底掌握网络通信(一)Http协议基础知识 n彻底掌握网络通信(二)Apache的HttpClient基础知识 n彻底掌握网络通信(三)Android源码中HttpClient的在不同版本的使用 n彻底掌握网络通信(四)Android源码中HttpClient的发送框架解析 n彻底掌握网络通信(五)DefaultRequestDirector解析 n彻底掌握网络通信(六)HttpRequestRe...
Android - HttpURLConnection下载网络文件,加载网络图片
说明:rnrn做sdk开发的时候(sdk不采取任何第三方框架),涉及到下载网络文件,和加载网络图片的功能,由于不能用第三方jar包进行,所以只能用基本的HttpURLConnection把文件作为流来处理,进行下载和加载。rnrn1、HttpURLConnection加载图片rnrn代码:rn /**n * 加载图片ImageViewn * @param url 图片网络地址n
HttpURLConnection和AsyncTask异步的网络请求数据加载条目和数据库
npackage com.example.myapplication;nnimport android.content.ContentValues;nimport android.database.Cursor;nimport android.database.sqlite.SQLiteDatabase;nimport android.os.AsyncTask;nimport android.os...
Android使用HttpURLConnection发送网络请求(笔记)
首先发送请求得先拥有权限rnrnandroid:name="android.permission.INTERNET" />rn然后就是发送请求时,要另立线程发送请求,不然会闪退。rnrnGET请求rnrnprivate void getHttps() {n try {n //根据URL地址实例化一个URL对象,用于创建HttpURLConnection对象。n U
Android 中使用HttpUrlConnection实现get请求服务器
这篇文章主要演示:在android中如何向服务器发一个get请求,以及开子线程来更新ui,以及Handler发消息和处理消息的使用。rn1.创建子线程请求数据:rnrnfinal String strWebAddr = et_input.getText().toString();rnrnrnrnnew Thread(new Runnable() {n @Overriden public
安卓网络知识总结(三)--HTTPURLConnection总结
HTTPURLConnection总结nn之前说过安卓网络一般都是http协议的,其实觉得工作原理就是客户端向服务器发一条请求,服务器收到这个请求就返回相应的东西,然后客户端解析就好了,再把解析的数据处理下。安卓有很多网络框架,但是实质上还是HTTPURLConnection为基础的东西,只不过就是他们封装的好一些,或者优化了不少。nnHttpURLConnection的工作原理nnHttp协议工...
Android利用HttpURLConnection发送Http请求上传文件
关于Android或Java的Http get,post请求的例子和做法还是很多的,本人在项目中没有使用第三方的类库,利用了Android原生类库HttpURLConnection做了一次文件上传,代码逻辑不复杂,就是要理解Http协议的过程和耐心+细心的调试:下面是一个实战例子,测试成功:nn如需了解Http文件上传中Http 协议的原理:请参考本人的另外一篇文章:nn从HTTP的multipa...
Android 蓝牙4.0连接几次后出现连接不了,搜索不到服务的情况
最近做手机蓝牙与BLE设备的智能项目。遇到一个问题,记录下来。方便以后。rn出现的情况是:手机蓝牙与蓝牙设备连接几次,交互信息后,无法再次连接与搜索到服务,需重启手机蓝牙或者关闭APP后,再次启动APP,才能再次连接设备。rn上网查找了不少资料。才找资料。非常感谢此博文提供的参考解决方案http://bbs.eeworld.com.cn/thread-438571-1-1.htmlrnrnrn/*
关于Android使用HttpURLConnection传输含有中文JSON数据的报错、乱码问题
//一般在设置http的请求头这里要设置合理nconnection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");n//在获取数据的时候也要加上UTF-8nBufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8"));
Android中版本更新(使用HttpURLConnection网络请求)
版本更新
Android使用HttpClient和HttpsUrlConnection两种方式访问https网站
使用httpclient和httpsurlconnection两种方法访问https网址,同时分为验证证书和不验证证书两种方法
使用HttpURLConnection实现在android客户端和服务器之间传递对象
一般情况下,客户端和服务端的数据交互都是使用json和XML,相比于XML,json更加轻量级,并且省流量,但是,无论我们用json还是用xml,都需要我们先将数据封装成json字符串或者是一个xml字符串然后传输,那么有没有可能我们直接在android客户端上传递一个Object给服务器端呢?答案是肯定的。我们看一个简单的App注册页面,如下图: n n当我们点击注册按钮的时候,将用户的注册信息通
使用HttpURLConnection加载网络图片
**使用HttpURLConnection加载网络图片** n**代码注意点: n1、加载网络图片需要用到Bitmap n2、加载网络图片有时候比较耗时,可以用Handler或AsyncTask来解决 n代码展示(AsyncTask)** n1.//在xml文件中n<Buttonn android:id="@+id/main_btn"n android:layout
android中使用HttpURLConnection实现多线程下载
HttpURLConnection下载HttpURLConnection下载步骤1,将要下载的路径封装成一个url对象(一定是可以下载的路径)n2,通过url获取conn,并设置conn的各种属性,最重要的是setRequestMethod("GET");n3,判断code,如果是200,通过conn获取要下载的文件大小lenn4,在本地创建一个RandomAccessFile文件,并设置长度 ra
Android App开发基础篇—HttpURLConnection基础使用
Android开发—使用HttpUrlConnection进行基本的网络请求操作n    前言:网络请求功能是许多软件开发中必备的功能之一。在Android开发中,实现网络请求功能的方法有许多中,除了可以使用API文档提供的HttpURLconnection类,还有网络上各种各样的开源框架,比如现今比较流行的Volley,OKHttp,Retrofit等。本篇文章起,我们将会一一认识一下当下An
HttpURLConnection超时和IO异常处理
最近同步数据的时候发现了一个问题,我本身后台插入数据后给其他部门后台做同步。说简单一点其实就是调用对方提供的接口,进行HTTP请求调用。然后后面发现问题了。HTTP请求的话,有可能请求超时,中断失败,IO异常其实都有可能,如果是平时打开一个网页还好,打不开的时候,你会关掉,或者他页面给你显示信息。但是同步,不可以这样做,一旦请求失败,必须让数据正确的同步,今天才意识到这个问题的重要性。String
HttpURLConnection基本工作原理
运行截图 n nMainActivity.javapackage csdn.example.com.notification.NetWorkTest;import android.os.Bundle;nimport android.support.v7.app.AppCompatActivity;nimport android.util.Log;nimport android.view.View;
利用HttpURLConnection实现远程下载文件
最近做项目的时候要做一个下载功能,这个下载的文档在公司的其他服务器上也有,所以我开始时我并不想在本地服务器上存储文件,后来试过一次放在本地,本地环境是linux,测试的时候不知道为啥文档名是中文的时候程序总是报错,文档名也编码了,总之就是不知道为什么中文的不行,如果有大神知道请赐教。rn后来还是尝试用HttpURLConnection远程下载文件,存储文件的那台服务器是windows。以下是部分源
URLConnection的连接、超时、关闭用法总结
Java中可以使用HttpURLConnection来请求WEB资源。rn rn1、rnURL请求的类别rnrn分为二类,GET与POST请求。二者的区别在于:rn      a:) get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet,rn      b:) post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。rnrn...
使用HttpURLConnection请求Gson网络解析数据
解析 JSON 数据 使用官方提供的 JSONObject,也可以使用谷歌的开源库 GSON.package com.gaoo.httpclientdemo;import android.os.Bundle;nimport android.os.Handler;nimport android.os.Message;nimport android.support.v7.app.AppCompatAct
Android(或者Java)通过HttpUrlConnection向SpringMVC请求数据(数据绑定)
问题描述    当我们使用SpringMVC作为服务端的框架时,有时不仅仅要应对web前端(jsp、javascript、Jquery等)的访问请求,有时还可能需要响应Android和JavaSE(桌面应用)这些客户端的请求,因此,除了web使用form表单或者ajax作为客户端获取Controller响应之外,纯Java语言向SpringMVC的Controller提供参数和请求结果也是必须要实现
HttpURLConnection的实现(原理基本层)
在java进行网络请求的时候,使用的基本单位请求工具,就是最常用的 HttpURLConnection,有人是这是java标准库提供的基本小部件(whatever)。在进行高性能,高可用性选型的时候,很有必要,对HttpURLConnection最更加底层的了解。rn        首先,在使用层面,无论使用什么网络框架,对于缓存,请求超时配置,请求体数据体的配置,https证书信任,等层面的东西
Android4种网络连接方式HttpClient、HttpURLConnection、OKHttp和Volley优缺点和性能对比
比较的指标:nn1、cpun2、流量n3、电量n4、内存占用 n5、联网时间 n功能点:n1、重试机制 n2、提供的扩展功能 n3、易用性 n4、是否https n5、是否支持reflect api,OkHttp有配套方法 n6、缓存、重试 n7、cookie支持session  id会话支持 n8、弱网性能和稳定性 n9、超时时间,几种超时时间   连接超时,响应
Android 蓝牙4.0 BLE问题总结
最近做蓝牙4.0相关项目的时候遇到了很多的问题,所以在此记录并总结一下。nn问题总结说明nn1、首先使用蓝牙必须先打开设备的蓝牙,android为我们提供了两种打开方式,强制打开和非强制打开,如下:nnnn/**n * 强制打开蓝牙n */nfun openBluetooth(): Boolean = mBluetoothAdapter!!.enable()nn强制打开:这种打开方式在绝大多数手机...
HttpURLConnection+AsyncTask+接口回调实现简易get联网请求封装框架
首先搭建LoadInterFace接口(用于联网状态的各种状态):LoadInterFacernpublic   interface LoadInterFace {rn//开启联网请求rnpublic abstract String onRequestStart();rn//联网请求结束rnpublic abstract void onRequestFinish(Object obj);rn//联
Android使用HttpURLConnection请求网络返回JSON数据并解析
要求:制作一个类似于今日头条的客户端,首页显示10条新闻。思路:使用Android的HttpURLConnection类请求一个URL,返回JSON数据,并使用自带的JSONArray类进行解析。方法:利用HttpURLConnection类请求网络数据(GET):URL url = new URL(urlStr);n HttpURLConnection htt
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 老男孩大数据4.0课程 人工智能工业4.0培训总结