`
wu.sheng
  • 浏览: 67026 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android HTTP请求访问

阅读更多

     这一章,会比较简单,由于目前的进度还没有到需要进行网络接口规划设计,所以没有花时间来架设服务端环境,进行联合调试。但是根据以往项目的经验,只要能够进行普通的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);
}

1
0
分享到:
评论

相关推荐

    简单的android http请求

    在Android开发中,进行HTTP请求是常见的操作,用于与服务器进行数据交互。本文将深入探讨如何在Android中实现简单的HTTP请求,并解决可能出现的乱码问题。 首先,Android平台提供了多种方式来执行HTTP请求,其中最...

    android http请求框架

    首先,"Webconnect"是一个简化Android HTTP请求的框架,它允许开发者通过填写URL地址和HTTP方法(GET、POST等)快速发起网络请求。在描述中提到的"在Webconnect中,填写相关地址和方法名即可",意味着该框架提供了...

    Android 网络请求的那些事Demo

    1. GET请求:GET是最简单的HTTP请求,用于获取服务器资源。数据通过URL参数传递。例如,使用HttpURLConnection: ```java URL url = new URL("http://example.com?param1=value1&param2=value2"); ...

    Android网络请求指定WiFi或者4G

    Android网络请求,存在多网络的情况下(比如同时开启了移动网络和WiFi),网络请求优先走WiFi,如果想强制切换网络,看代码里面即可

    android 网络请求封装

    在Android开发中,网络请求是应用与服务器交互的基础,它涉及到数据的获取、发送和处理。为了提高代码的可复用性和可维护性,通常会将网络请求进行封装,以便在多个地方方便地调用。以下是一些关于“Android网络请求...

    实例详解Android Webview拦截ajax请求

    这意味着我们不能在 Webview 中干涉 JavaScript 发起的 HTTP 请求,而有时候我们确实需要能够截获 Ajax 请求并实现一些功能,如统一的网络请求管理、 Cookie 同步、证书校验、访问控制等。 那么,我们可以转换思路...

    Android网络请求OkHttp的使用demo代码

    在Android应用开发中,网络请求是必不可少的一部分,用于获取服务器数据、更新UI或者进行其他交互。OkHttp是一款高效的网络库,被广泛应用于Android项目中。本篇将详细讲解如何在Android中使用OkHttp进行网络请求,...

    android客户端GET请求服务端

    Android支持多种方式发起HTTP请求,包括使用`java.net.URL`类、`HttpURLConnection`、Apache HttpClient库以及现在更推荐的`OkHttp`库。由于`java.net.URL`和`HttpURLConnection`在API 23之后被弃用,我们将重点介绍...

    Android 实现Http请求响应

    在Android开发中,实现Http请求响应是常见的网络通信任务,主要涉及到网络编程和异步处理。本篇文章将详细讲解如何在Android应用中进行Http请求,获取网页源代码,并为后续的网页解析做好准备。 首先,Android系统...

    Android Studio发起GET网络请求

    Android原生提供了HttpURLConnection类来处理HTTP请求。下面是一个简单的GET请求示例: ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import ...

    Android 发送http请求

    在Android应用开发中,发送HTTP请求是常见的网络通信方式,用于获取或提交服务器上的数据。本文将深入探讨如何在Android环境中实现HTTP请求,特别关注POST请求的使用,以"TestHttpPost"为例进行讲解。 首先,...

    Http(get)请求数据Android Studio使用HttpClient

    首先,创建一个`HttpClient`实例,这将是发送HTTP请求的基础: ```java HttpClient httpClient = new DefaultHttpClient(); ``` ## 4. 设置请求参数 创建`HttpGet`对象来表示GET请求,并设置URL: ```java ...

    Android跨域请求获取Java后端数据,登录界面例子

    跨域请求是指浏览器安全策略的一种限制,即一个源(Origin)的文档或脚本不能发起对另一个源的HTTP请求。但Android应用不受此限制,因此可以直接向其他域名发送网络请求。在这个案例中,Android应用作为客户端,Java...

    Android网络请求框架

    1. HttpURLConnection:Android SDK自带的一种网络请求方式,适用于简单的HTTP请求。它可以实现GET、POST等基本请求方法,但配置起来相对繁琐,不适用于复杂的网络请求场景。 2. HttpClient:虽然已被弃用,但在旧...

    线程实现的Android访问网络资源

    在Android应用开发中,访问网络资源是常见的需求,如加载网页数据、下载文件或发送HTTP请求等。在Android 4.0及以上版本中,为了保证用户界面的流畅性,网络操作通常不会在主线程中执行,而是通过子线程或者异步任务...

    Android 请求 WebAPI的案例

    本案例"Android请求WebAPI"将详细讲解如何在Android应用中实现这一功能。WebAPI通常指的是基于HTTP协议的RESTful API,允许客户端(如Android应用)通过HTTP方法(GET、POST、PUT、DELETE等)获取或操作服务器资源。...

    Android实现网络访问

    本篇将详细探讨Android网络访问的基础知识,包括API选择、请求处理、数据解析以及注意事项。 1. **网络访问API选择**:Android提供了多种方式进行网络访问,如HttpURLConnection、HttpClient(已被弃用)、Volley库...

    Android中http请求及文件读写操作方法

    在Android开发中,进行HTTP请求和文件读写是常见的任务,尤其在与服务器交互和存储本地数据时。本文将详细讲解这两个方面的知识点。 首先,我们来看Android中的HTTP请求。HTTP请求通常用于从服务器获取数据,如JSON...

    android okhttp网络请求框架

    总的来说,OkHttp 是 Android 平台上高效、可靠的网络请求解决方案,通过充分利用现代网络协议和优化技术,为开发者提供了便捷的网络访问手段。无论是简单的 GET 请求,还是复杂的 POST 数据提交,甚至是文件上传...

Global site tag (gtag.js) - Google Analytics