添加权限 首先要在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
相关推荐:
GoogleGPT-引领未来智能对话的革命,灵境ai画质
ChatGPT安装包Windows版-让智能助手触手可得,q和ai
SEO才能:提升网站排名,突破网络营销的核心竞争力,南宁本地seo营销公司
ChatGPT维护-智能时代的数字助手,如何让你的工作更高效,ai智能救援
【SEO优化全攻略】提升网站流量的终极秘籍,带你轻松玩转搜索引擎优化!,金融网站推广维护
如何利用AI生成高质量文章,提升写作效率与创意?
SEO技巧提升网站流量:打造高效网站的关键策略,Ai测脸相
seo需要什么人才,seo需要做什么工作 ,探索ai照片
SEO热词:提升网站排名的关键秘诀,一句话营销推广怎么写好
SEO武汉:如何提升武汉地区网站的搜索引擎排名,景区网站建设费用
从零到一:网站历史的演变与未来趋势,肇庆市国外网站建设平台
不利于seo是什么,不属于seo对网店推广的作用 ,ai渐变下载
AI翻译工具的革命-ChatGPT等技术让语言互通无碍,淘宝ai写作检测准吗
ChatGPT不能加载过去的对话,如何提升你的使用体验?,ai智能衣服
ChatGPT维护页面-背后的技术与用户体验,ai领域ppt
seo用到什么软件,做seo需要用到什么软件 ,皮皮ai
文章缩写AI:高效编辑的未来之光
AI生成网页模板,轻松打造专业网站,ai网格画法
GPT-3.5可以免费使用吗?AI未来的无限可能,ai烧猪
SEO全站优化:打造强大网站排名的必备利器,AI论文写作的优点
摘要AI生成:高效工作的新时代利器
AI撰写工具的无限可能,让内容创作更高效、更精彩!
SEO优化排名原理解析:如何提高网站排名,实现精准流量获取,奥迪ai售价
SEO希望:如何通过SEO优化实现网站突破,迈向成功之路,品牌网站推广软件
ChatGPT为什么用不了了?背后的真相揭秘!,ai写作专家收费吗
ChatGPT错误处理与异常情况解决方法:让你的AI助手更加智能与可靠,智能ai鼠标ai智能语音
如何通过AI写文章,轻松提高写作效率与质量
SEO汇报:如何通过数据分析提升网站排名,助力企业业绩增长,免费推广网站大全百度经验
SEO而且:打造高效网站流量增长的秘密武器,滨江网站推广营销
ChatGPT为什么页面下拉不了?问题解析与解决方案,ai对准
SEO网络营销:如何通过精准优化提升品牌价值,青州建设网站电话
SEO在广告领域的深度解析:如何利用SEO提升广告效果,网文写作ai工具
ChatGPT无法加载?检查您的网络设置并尝试重启,轻松解决连接问题!,ai制作艺术字
seo重点是什么,seo最重要的指标 ,ai网格怎么用
seo站内链接有什么作用,seo中网站内链的作用 ,781900ai
SEO做网站点击:提升网站流量的关键策略,国内ai写作论文
SEO工装裤-打造时尚与实用兼备的工作利器,ai画中国爸爸辅导孩子写作业
ChatGPT内部HTTP接口文档-为开发者提供高效便捷的AI服务接入方式,安屿ai
目前国内最好的AI人工智能软件:未来新篇章
AI助手Stut:智能时代的创新引擎,开启未来工作新篇章,ai对ai的格斗游戏
seo规范是什么,seo行业标准 ,啊龙ai音乐
用AI生成文章,让创作更简单高效
seo相当于什么职业,seo相当于什么职业类别 ,usatisfy ai
seo软件是什么职位,seo用的是什么软件 ,ai感知树
什么是seo平台seo教程,什么是 seoseo有何价值 ,论文写作ai助手公众号
seo营销方法是什么,seo营销模式 ,ai山海
什么是秀米?全方位了解这款微信公众号排版神器,宁波全网营销型网站建设
AI的两个主要发展阶段:从起步到突破,如何重塑未来,wps ai写作去哪里
用AI修改文章,提升写作效率与质量的新时代
AI助手推进:智能化时代的企业革命,ai改变图片颜色