发布于 2016-04-21 02:08:05 | 131 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

Android移动端操作系统

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。


Android HTTP请求和接收响应实例完整的Manifest文件如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助
添加权限
首先要在manifest中加上访问网络的权限:
 
<manifest ... > 
<uses-permission android:name="android.permission.INTERNET" /> 
... 
</manifest> 

完整的Manifest文件如下:
 
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.httpdemo1" 
android:versionCode="1" 
android:versionName="1.0" > 
<uses-sdk 
android:minSdkVersion="8" 
android:targetSdkVersion="17" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<application 
android:allowBackup="true" 
android:icon="@drawable/ic_launcher" 
android:label="@string/app_name" 
android:theme="@style/AppTheme" > 
<activity 
android:name="com.example.httpdemo1.HttpDemo1Activity" 
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> 
</manifest> 

布局代码如下:
 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".HttpDemo1Activity" > 
<TextView 
android:id="@+id/myWebTitle" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="" /> 
<Button 
android:id="@+id/requestBtn" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_alignParentBottom="true" 
android:text="Send Request" /> 
<WebView 
android:id="@+id/webview" 
android:layout_width="fill_parent" 
android:layout_height="match_parent" 
android:layout_above="@id/requestBtn" 
android:layout_below="@id/myWebTitle" /> 
</RelativeLayout> 
activity_http_demo1.xml 

主要的代码:
 
package com.example.httpdemo1; 
import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import org.apache.http.HttpEntity; 
import org.apache.http.HttpResponse; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.methods.HttpGet; 
import org.apache.http.impl.client.DefaultHttpClient; 
import android.os.Bundle; 
import android.app.Activity; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.webkit.WebView; 
import android.widget.Button; 
public class HttpDemo1Activity extends Activity 
{ 
private Button mSendReqBtn = null;// 发送请求的按钮 
private WebView mWebView = null;// 用于显示结果,用载入html字符串的方式显示响应结果,而不是使用WebView自己的方式加载URL 
// 响应 
private HttpResponse mHttpResponse = null; 
// 实体 
private HttpEntity mHttpEntity = null; 
@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_http_demo1); 
mSendReqBtn = (Button) findViewById(R.id.requestBtn); 
mSendReqBtn.setOnClickListener(mSendClickListener); 
mWebView = (WebView) findViewById(R.id.webview); 
} 
private OnClickListener mSendClickListener = new OnClickListener() 
{ 
@Override 
public void onClick(View v) 
{ 
// 生成一个请求对象 
HttpGet httpGet = new HttpGet("http://www.baidu.com/"); 
// 生成一个Http客户端对象 
HttpClient httpClient = new DefaultHttpClient(); 
// 下面使用Http客户端发送请求,并获取响应内容 
InputStream inputStream = null; 
try 
{ 
// 发送请求并获得响应对象 
mHttpResponse = httpClient.execute(httpGet); 
// 获得响应的消息实体 
mHttpEntity = mHttpResponse.getEntity(); 
// 获取一个输入流 
inputStream = mHttpEntity.getContent(); 
BufferedReader bufferedReader = new BufferedReader( 
new InputStreamReader(inputStream)); 
String result = ""; 
String line = ""; 
while (null != (line = bufferedReader.readLine())) 
{ 
result += line; 
} 
// 将结果打印出来,可以在LogCat查看 
System.out.println(result); 
// 将内容载入WebView显示 
mWebView.getSettings().setDefaultTextEncodingName("UTF-8"); 
// 直接使用mWebView.loadData(result, "text/html", "utf-8");会显示找不到网页 
// 换成下面的方式可以正常显示(但是比较宽,拖动可见百度logo) 
mWebView.loadDataWithBaseURL(null, result, "text/html", 
"utf-8", null); 
// 直接载入URL也可以显示页面(但是此例子主要是为了验证响应返回的字符串是否正确,所以不用下面这行代码) 
// mWebView.loadUrl("http://www.baidu.com/"); 
} 
catch (Exception e) 
{ 
e.printStackTrace(); 
} 
finally 
{ 
try 
{ 
inputStream.close(); 
} 
catch (IOException e) 
{ 
e.printStackTrace(); 
} 
} 
} 
}; 
} 

程序运行结果如下:
 
参考资料
Android开发视频教程HTTP操作。——http://www.marsdroid.org
Android Reference: package org.apache.http:
http://developer.android.com/reference/org/apache/http/package-summary.html

最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务