这一章,会比较简单,由于目前的进度还没有到需要进行网络接口规划设计,所以没有花时间来架设服务端环境,进行联合调试。但是根据以往项目的经验,只要能够进行普通的HTTP请求,那么内部的网络请求也没有什么问题。所以这里,只是做一个测试。
从应用程序中发起一个HTTP连接,获得一个图片,并使用ImageView标签进行展现。
ImageView iv = new ImageView(context);
iv.setId(12351);
String imageUrl = "http://i.pbase.com/o6/92/229792/1/80199697.uAs58yHk.50pxCross_of_the_Knights_Templar_svg.png"; //标准HTTP地址即可
try {
URL myurl = new URL(imageUrl);
HttpURLConnection conn = (HttpURLConnection) myurl.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(is);
is.close();
iv.setImageBitmap(bitmap);
} catch (Exception e) {
// TODO: handle exception
}
layout.addView(iv);
可以看到发起一个网络请求是十分简单的。
同时,需要在Manifest.xml中加入uses-permission配置,允许进行网络访问。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.studio.crusoe.sample.android" android:versionCode="1"
android:versionName="1.0">
<uses-permission android:name="android.permission.INTERNET" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".ActivityMain" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="2" />
</manifest>
展现效果:
当然,如果进行正规的HTTP网络请求的调用,有更简单的API来使用,如HTTPClient:
1、使用Map来存储参数
Map<String, String> map = new HashMap<String, String>();
map.put(“name”, “wusheng”);
map.put(“password”, “pwd”);
2、使用DefaultHttpClient创建HttpClient实例
DefaultHttpClient httpClient = new DefaultHttpClient();
3、构建HttpPost
HttpPost post = new HttpPost(“http://wu-sheng.iteye.com”);
4、将由Map存储的参数转化为键值参数
List<BasicNameValuePair> postData = new ArrayList<BasicNameValuePair>();
for (Map.Entry<String, String> entry : map.entrySet()) {
postData.add(new BasicNameValuePair(entry.getKey(),
entry.getValue()));
}
5、使用编码构建Post实体
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(
postData, HTTP.UTF_8);
6、设置Post实体
post.setEntity(entity);
7、执行Post方法
HttpResponse response = httpClient.execute(post);
8、获取返回实体
HttpEntity httpEntity = response.getEntity();
9、将H中返回实体转化为输入流
InputStream is = httpEntity.getContent();
10、读取输入流,即返回文本内容
StringBuffer sb = new StringBuffer();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = “”;
while((line=br.readLine())!=null){
sb.append(line);
}
分享到:
相关推荐
在Android开发中,进行HTTP请求是常见的操作,用于与服务器进行数据交互。本文将深入探讨如何在Android中实现简单的HTTP请求,并解决可能出现的乱码问题。 首先,Android平台提供了多种方式来执行HTTP请求,其中最...
首先,"Webconnect"是一个简化Android HTTP请求的框架,它允许开发者通过填写URL地址和HTTP方法(GET、POST等)快速发起网络请求。在描述中提到的"在Webconnect中,填写相关地址和方法名即可",意味着该框架提供了...
1. GET请求:GET是最简单的HTTP请求,用于获取服务器资源。数据通过URL参数传递。例如,使用HttpURLConnection: ```java URL url = new URL("http://example.com?param1=value1¶m2=value2"); ...
Android网络请求,存在多网络的情况下(比如同时开启了移动网络和WiFi),网络请求优先走WiFi,如果想强制切换网络,看代码里面即可
在Android开发中,网络请求是应用与服务器交互的基础,它涉及到数据的获取、发送和处理。为了提高代码的可复用性和可维护性,通常会将网络请求进行封装,以便在多个地方方便地调用。以下是一些关于“Android网络请求...
这意味着我们不能在 Webview 中干涉 JavaScript 发起的 HTTP 请求,而有时候我们确实需要能够截获 Ajax 请求并实现一些功能,如统一的网络请求管理、 Cookie 同步、证书校验、访问控制等。 那么,我们可以转换思路...
在Android应用开发中,网络请求是必不可少的一部分,用于获取服务器数据、更新UI或者进行其他交互。OkHttp是一款高效的网络库,被广泛应用于Android项目中。本篇将详细讲解如何在Android中使用OkHttp进行网络请求,...
Android支持多种方式发起HTTP请求,包括使用`java.net.URL`类、`HttpURLConnection`、Apache HttpClient库以及现在更推荐的`OkHttp`库。由于`java.net.URL`和`HttpURLConnection`在API 23之后被弃用,我们将重点介绍...
在Android开发中,实现Http请求响应是常见的网络通信任务,主要涉及到网络编程和异步处理。本篇文章将详细讲解如何在Android应用中进行Http请求,获取网页源代码,并为后续的网页解析做好准备。 首先,Android系统...
Android原生提供了HttpURLConnection类来处理HTTP请求。下面是一个简单的GET请求示例: ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import ...
在Android应用开发中,发送HTTP请求是常见的网络通信方式,用于获取或提交服务器上的数据。本文将深入探讨如何在Android环境中实现HTTP请求,特别关注POST请求的使用,以"TestHttpPost"为例进行讲解。 首先,...
首先,创建一个`HttpClient`实例,这将是发送HTTP请求的基础: ```java HttpClient httpClient = new DefaultHttpClient(); ``` ## 4. 设置请求参数 创建`HttpGet`对象来表示GET请求,并设置URL: ```java ...
跨域请求是指浏览器安全策略的一种限制,即一个源(Origin)的文档或脚本不能发起对另一个源的HTTP请求。但Android应用不受此限制,因此可以直接向其他域名发送网络请求。在这个案例中,Android应用作为客户端,Java...
1. HttpURLConnection:Android SDK自带的一种网络请求方式,适用于简单的HTTP请求。它可以实现GET、POST等基本请求方法,但配置起来相对繁琐,不适用于复杂的网络请求场景。 2. HttpClient:虽然已被弃用,但在旧...
在Android应用开发中,访问网络资源是常见的需求,如加载网页数据、下载文件或发送HTTP请求等。在Android 4.0及以上版本中,为了保证用户界面的流畅性,网络操作通常不会在主线程中执行,而是通过子线程或者异步任务...
本案例"Android请求WebAPI"将详细讲解如何在Android应用中实现这一功能。WebAPI通常指的是基于HTTP协议的RESTful API,允许客户端(如Android应用)通过HTTP方法(GET、POST、PUT、DELETE等)获取或操作服务器资源。...
本篇将详细探讨Android网络访问的基础知识,包括API选择、请求处理、数据解析以及注意事项。 1. **网络访问API选择**:Android提供了多种方式进行网络访问,如HttpURLConnection、HttpClient(已被弃用)、Volley库...
在Android开发中,进行HTTP请求和文件读写是常见的任务,尤其在与服务器交互和存储本地数据时。本文将详细讲解这两个方面的知识点。 首先,我们来看Android中的HTTP请求。HTTP请求通常用于从服务器获取数据,如JSON...
总的来说,OkHttp 是 Android 平台上高效、可靠的网络请求解决方案,通过充分利用现代网络协议和优化技术,为开发者提供了便捷的网络访问手段。无论是简单的 GET 请求,还是复杂的 POST 数据提交,甚至是文件上传...