AndroidStudio 导入HttpClient最简单的方法

转自:http://www.cnblogs.com/rwind/p/5469054.html

Android开发使用AS是大势所趋的了,毕竟是谷歌的正统血脉,从刚开始的1.0到现在的1.4已经逐渐稳定,修复了很多Bug, 越来越人性化了。但是还是会出现或多或少的问题,今天想用HttpClient下载网络图片,却没有HttpClient以及相关的类,查询了一下发现原来-

在API 23中,Google已经移除了移除了Apache HttpClient相关的类 。谷歌推荐使用HttpUrlConnection,如果要继续使用需要Apache HttpClient,需要在
Eclipse下libs里添加org.apache.http.legacy.jar,
Android studio里在相应的module下的build.gradle中加入即可。	android {
		useLibrary 'org.apache.http.legacy'
		}

 

 

HttpClient虽然已经被Google抛弃,但是有限项目依然依赖这些库,还得用。我把Httpclient的所有库导入项目后,会产生如下错误。

Error:duplicate files during packaging of APK F:\Downloads\MyApplication7\app\build\outputs\apk\app-debug-unaligned.apk

Path in archive: META-INF/DEPENDENCIES

Origin 1: F:\Downloads\MyApplication7\app\libs\httpclient-4.5.2.jar

Origin 2: F:\Downloads\MyApplication7\app\libs\httpcore-4.4.4.jar

经过查找可以在文件中加入以下代码消除这个问题。

 

  1. packagingOptions {  
  2.     exclude 'META-INF/DEPENDENCIES'  
  3.     exclude 'META-INF/NOTICE'  
  4.     exclude 'META-INF/LICENSE'  
  5.     exclude 'META-INF/LICENSE.txt'  
  6.     exclude 'META-INF/NOTICE.txt'  
  7.     exclude 'META-INF/ASL2.0'  
  8.     exclude 'META-INF/notice.txt'  
  9. }  

 

 

如果在build.gradle中看不到android{}部分,可能是gradle的版本过低

Android Studio每次更新版本都会更新Gradle这个插件,但由于长城的问题每次更新都是失败,又是停止在Refreshing Gradle Project ,有时新建项目的时候报 Gradle Project Compile Error 等等相关的问题

解决这些问题办法是

首先打开android studio项目 找到项目目录gradle\wrapper\gradle-wrapper.properties这个文件 

内容如下

#Wed Apr 10 15:27:10 PDT 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.9-all.zip

最重要的就是最下面一句,android studio会联网下载符合当前版本的gradle插件,而这个网址虽然可以访问但速度实在太慢,所以每次更新需要花很长时间或直接超时

下面是我尝试后解决问题的办法就是先通过下载工具下载http://services.gradle.org/distributions/gradle-1.9-all.zip 这个版本的插件,用下载工具会比较快下载后 直接把zip文件,不要解压拷贝到 C:\Users\Administrator\.gradle\wrapper\dists\gradle-1.9-all\3jdgemv0iv8uqohg3kcp2o88r1 目录下

重新关闭android studio 重新打开 或 直接单击android studio工具栏 Sync Project Gradle Files

android studio就是自动更新插件了,不用下载了


  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
Visual Studio C++ 提供了一种名为 HttpClient 的类,用于进行 HTTP 请求和响应。可以使用 HttpClient 类来发送 GET、POST、PUT、DELETE 等请求,并处理返回的响应数据。 以下是使用 Visual Studio C++ 的 HttpClient 发送 GET 请求的简单示例: ```cpp #include <iostream> #include <cpprest/http_client.h> #include <cpprest/filestream.h> using namespace utility; using namespace web; using namespace web::http; using namespace web::http::client; using namespace concurrency::streams; int main() { auto fileStream = std::make_shared<ostream>(); // 创建 HTTP 请求 http_client client(U("http://example.com")); // 发送 GET 请求 client.request(methods::GET).then([=](http_response response) { // 获取响应状态码 std::cout << "Response status code: " << response.status_code() << std::endl; // 读取响应内容 auto bodyStream = response.body(); return bodyStream.read_to_end(fileStream->streambuf()); }).then([=](size_t bytesRead) { std::cout << "Response body: " << bytesRead << " bytes read." << std::endl; // 关闭文件流 return fileStream->close(); }).wait(); return 0; } ``` 在上面的示例中,我们使用了 Casablanca 库(cpprestsdk)提供的 HttpClient 类来发送 GET 请求,并将响应内容保存到文件流中。你可以根据你的需要修改和扩展这个示例来满足你的具体要求。 请注意,为了使用 HttpClient 类,你需要在 Visual Studio 中添加对 cpprestsdk 的引用,并在项目设置中启用相关的编译选项。有关更多详细信息和示例,请参考 cpprestsdk 的文档和示例代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值