先上效果图:
[img]
[/img]
package com.amaker.http1;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import org.apache.http.protocol.HTTP;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
/**
* HttpURLConnection
* @author zzl
*
*/
public class MainActivity extends Activity {
private TextView tv;
private Button btn_get;
private String resultData = "";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.tv);
btn_get = (Button) findViewById(R.id.button1);
btn_get.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
tv.setText(requestByGet());
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public String requestByGet() throws Exception {
String path = "http://open.ifenghui.cn/mobilecms/interface/mobile.action?code=888032100100&m=get_coolimages&p=1&filter=all";
URL url = new URL(path);
// 使用HttpURLConnection打开连接
HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
// 得到读取的内容(流)
InputStreamReader in = new InputStreamReader(urlConn.getInputStream());
// 为输出创建BufferedReader
BufferedReader buffer = new BufferedReader(in);
String inputLine = null;
// 使用循环来读取获得的数据
while (((inputLine = buffer.readLine()) != null)) {
// 我们在每一行后面加上一个"\n"来换行
resultData += inputLine + "\n";
}
// 关闭InputStreamReader
in.close();
// 关闭http连接
urlConn.disconnect();
return resultData;
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:id="@+id/sv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_x="0px"
android:layout_y="20px">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/tv"
android:text="@string/hello" />
</ScrollView>
<Button
android:text="HttpURLConnection-GET请求"
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.amaker.http1"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="10" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".MainActivity"
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-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>
- 大小: 82.8 KB
分享到:
相关推荐
在Android平台上进行网络编程是开发应用不可或缺的一部分,它允许应用程序与远程服务器进行数据交互,实现如下载、上传、同步等功能。本节将深入探讨Android网络编程的基础知识,主要围绕Java网络编程这一核心概念...
在Android开发中,网络编程是一项基础且重要的技能,特别是在处理数据获取、文件传输等方面。本教程将引导初学者进入Android网络编程的世界,专注于图片下载这一实际应用。我们将使用Tomcat服务器来存储和提供图片,...
2. **网络请求库**:Android SDK提供了HttpURLConnection作为基础的网络请求方式,但实际开发中,开发者更倾向于使用第三方库,如OkHttp和Retrofit,它们提供了更加便捷、高效的网络请求处理能力,支持异步和同步...
### Android网络编程基础知识点 #### 一、网络状态检测 在Android开发中,为了确保应用程序能够根据当前网络环境做出响应,通常需要先检测设备的网络连接状态。这可以通过`ConnectivityManager`类来实现。 1. **...
Android原生API提供了`HttpURLConnection`类来进行网络请求,但通常开发者会选择第三方库,如OkHttp或Volley,以提高性能和简化代码。这个Demo可能使用了其中的一个。 3. **OkHttp**: OkHttp是一个高效的HTTP...
Android网络编程是移动应用开发中的一个重要组成部分,而Http通信则是网络编程中最常用的协议之一。在Android平台上,我们通常会使用HttpURLConnection或者第三方库如Apache HttpClient和OkHttp等进行Http通信。 1....
在Android 4.0(Ice Cream Sandwich)系统中,网络编程是实现应用程序与远程服务器交互的重要部分。本章将深入探讨如何在Android平台上进行网络操作,包括基础的HTTP请求、数据传输、网络状态监听以及更高级的Socket...
总结来说,“Android 4.0 网络编程详解”这篇文档可能详细介绍了Android 4.0版本的网络API使用方法、网络通信的最佳实践、网络编程中常见的问题和解决方案等。献给所有对技术抱有好奇心和热情的软件工程师们,意味着...
在Android平台上进行网络编程,客户端与服务器端的交互是至关重要的。这个主题主要涉及的是如何通过URL方式获取网络数据,实现文件的下载、解压,以及文件的上传功能,同时涵盖了对SD卡文件的浏览。这里我们将深入...
同时,这也是一个很好的学习和实践机会,有助于提升你的Android网络编程技能。在实际开发中,你还需要考虑错误处理、安全性(如SSL/TLS)、性能优化等方面的问题,以确保应用的稳定性和用户体验。
但是,基于标题“Android4.0网络编程详解.pdf”,我们可以详细探讨Android 4.0版本中的网络编程相关知识点。 Android 4.0,代号为“冰激凌三明治”,是Google在2011年发布的一个重要的Android操作系统版本,它整合...
《Android.4.0网络编程详解》是王家林撰写的一本专著,主要针对Android平台上的网络编程技术进行了深入的探讨。这本书对于开发者来说,是掌握Android应用中网络功能实现的重要参考资料。以下是对该书内容的详细解读...
总的来说,Android网络编程涉及多个方面,包括但不限于使用`HttpURLConnection`进行HTTP通信、处理权限、发送GET和POST请求、以及管理会话状态。理解并熟练运用这些技术,开发者可以构建能够与服务器进行交互的...
对于更高级的网络编程,如HTTP、HTTPS协议,Android提供了HttpURLConnection、HttpClient(已被弃用)、OkHttp等库。这些库可以帮助我们更容易地处理HTTP请求和响应,例如GET、POST、PUT、DELETE等操作。但是,如果...
在Android开发中,`HttpGet`是一个关键的概念,用于从服务器获取资源。...通过实践这个项目,你可以深化对Android网络编程的理解,同时熟悉`HttpClient`的使用,这对于构建需要网络交互的应用非常有帮助。
在Android平台上进行网络编程是开发移动应用不可或缺的一部分。"Android网络编程之通讯源代码"着重于展示如何在Android应用中实现实时的数据交换,这对于构建功能丰富的应用如社交媒体、在线购物、实时聊天等至关...
在Android应用开发中,与服务器进行数据交互是常见的需求,HttpURLConnection是Android SDK提供的一种轻量级、低级别的网络通信接口。本主题将深入探讨如何使用HttpURLConnection进行Android与服务器的简单交互,...
在Android平台上进行网络编程是开发应用不可或缺的一部分,无论是获取服务器数据、实时通信还是文件传输,都需要用到网络技术。本文将深入探讨Android中基于Socket和HTTP的网络编程,包括它们的概念、实现方式以及...
`HttpURLConnection`相比旧版的`HttpClient`更加轻量级,更符合现代网络编程的需求。通过`openConnection()`方法,我们可以建立到服务器的连接,然后设置请求方法(GET、POST等)、添加请求头、写入请求体,最后通过...