原创 杯吹地在eclipse中安装安卓httpclient导入import包

2015-12-2 16:44 1575 13 13 分类: 软件与OS 文集: 学以致用

杯吹地在eclipse中安装安卓httpclient导入import包

wxleasyland@sina.com

2015.12.1

 

这是杯吹的一天。咱比较笨,木有办法。

 

一、HttpClient出错

安卓中使用http,网上很多是用apache的HttpClient,于是拷了代码。

 

       HttpGet myget = new HttpGet("http://www.baidu.com"); 

       HttpClient httpClient = new DefaultHttpClient(); 

       try

       { 

           HttpResponse response = httpClient.execute(myget); //发起GET请求 

           str+="得到StatusLine=" + response.getStatusLine().getStatusCode()+ response.getStatusLine().getReasonPhrase()+"\n"; //获取响应码

           //str+="得到entity = " + EntityUtils.toString(response.getEntity(), "utf-8") ;     //获取服务器响应内容 

       }

       catch (Exception e)

       { 

           //e.printStackTrace(); 

           str+="访问HTTP出错";

       }

 

然后:

import org.apache.http.client.methods.HttpGet;

import org.apache.http.client.HttpClient; 

import org.apache.http.impl.client.DefaultHttpClient;

import org.apache.http.HttpResponse; 

import org.apache.http.HttpStatus; 

//import org.apache.http.util;

 

很简单的程序,结果,全部找不到import包。

我都是最新的SDK包,并且基本上全部下载了,怎么还会没有包?

 

二、用GRADLE创建HttpClient包

搜了一下,说要去apache网站下载包。

网站上找到HttpClient for Android中有说明:

安卓携带HttpClient版本变成了一个分叉。最后GOOGLE决定不再发展他们的分叉,同时拒绝升级到Apache HttpClient的普通版本,引用兼容性考虑作为这个决定的原因。

如果使用安卓API22及以下,使用HttpClient 4.3.5.1

如果使用安卓API23及以上,使用Marek Sebera维护的用于安卓的HttpClient包。

 

好不容易在下载的地方,找到了httpcomponents-client-android-4.3.5.1-src.zip。

 

但是,居然只是个SRC源文件,没有JAR包。怎么办。

里面BUILDING.txt有写:HttpClient for Android utilizes Gradle as a building and packaging tool.  需要gradle软件来建立包。

 

偶滴神,GRADLE是什么东东?网上搜了一下,完全没看懂!国外的技术水平已经完全超过了我能理解的程度。

 

好吧,下载GRADLE看看吧。官网。。。。。嗯,无法访问,墙掉了!

好在,国内镜像http://www.androiddevtools.cn/有这个软件。

下载、安装,按网上说的进行设置。

 

好了,运行gradle -q assemble。

出错。是不是需要key:Please note that when building a release version one must also provide signing key details in gradle.properties file in order to be able to sign the artifacts and successfully build the release.

 

key又是什么鬼?

搜了半天,应该是PGP这个东东。

 

于是下载、安装PGP,还好,可以正常下载。按网上说的建了一个pgp文件。并在gradle.properties文件中加入

signing.keyId=

signing.secretKeyRingFile=

 

继续gradle -q assemble。

出错。说没有bcprov-jdk15on-1.48.jar这个文件。

 

但网站被墙掉了,所以无法下载这个文件。但是gradle中有bcprov-jdk15on-1.51.jar这个文件啊。

 

受不了,继续在网上搜,终于搜到bcprov-jdk15on-1.48.jar这个文件,放在lib\plugins目录中。

继续gradle -q assemble。还是一样的错误。

 

没有办法了,真的身心俱疲。这条路自己真的不知道如何整了。

 

三、自己在SDK中找到HttpClient包

有人说安卓SDK有自带httpclient包。

有人说有commons-httpclient-3.1.jar这个包。

于是试着在安卓SDK的目录中看了一下,在tools\lib目录下,找到了httpclient-4.1.1.jar、httpcore-4.1.jar、httpmime-4.1.jar这几个文件。

是不是这几个可以用?

于是把这几个文件拷入到自己项目的libs目录里面,居然可以了!import语句不会出错了。

 

四、程序在4.0下出错

OK,程序除了org.apache.http.util这个包找不了,其它都可以了。

 

运行程序,发现在2.3下OK正常,但在4.3下面,运行出现抛出异常exception。

 

又搜了一下,网上有人说是有这个情况,并且解决不太好。

 

看来这条路也不通。

 

好吧,杯吹了一天,居然是这个结果。一万头草泥马啊。。。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
13
关闭 站长推荐上一条 /3 下一条