文档章节

安卓请求网络Get和Post请求方式

绝版公子
 绝版公子
发布于 2014/04/13 10:12
字数 350
阅读 146
收藏 7
点赞 0
评论 0

package com.jzlg.asyncexam;


import java.util.ArrayList;

import java.util.List;

import java.util.Map;

import java.util.Set;


import org.apache.http.HttpResponse;

import org.apache.http.client.HttpClient;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.client.utils.URLEncodedUtils;

import org.apache.http.impl.client.DefaultHttpClient;

import org.apache.http.message.BasicNameValuePair;

import org.apache.http.util.EntityUtils;


public class InternetHelper {


// 发送请求

public String requestUrl(String url, Map<String, Object> map) {

// 抓换参数

try {

//转换参数

String params = cdtParams(map);

//创建请求客户端

HttpClient httpClient = new DefaultHttpClient();

//创建get请求

HttpGet doGet = new HttpGet(url + "?" + params);

//发送请求,并返回 response

HttpResponse response = httpClient.execute(doGet);

if (response != null) {

//获取并转换相应的结果

return EntityUtils.toString(response.getEntity());

}

} catch (Exception ex) {


ex.printStackTrace();

}

return null;

}


// 转换参数

private String cdtParams(Map<String, Object> map) {

// 处理参数

List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();

Set<String> keys = map.keySet();

for (String key : keys) {

params.add(new BasicNameValuePair(key, map.get(key).toString()));

}

// 将参数转换

return URLEncodedUtils.format(params, "UTF-8");

}

}

//Post请求


package com.jzlg.inter;


import java.util.ArrayList;

import java.util.List;

import java.util.Map;

import java.util.Set;


import org.apache.http.HttpResponse;

import org.apache.http.client.HttpClient;

import org.apache.http.client.entity.UrlEncodedFormEntity;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.client.utils.URLEncodedUtils;

import org.apache.http.impl.client.DefaultHttpClient;

import org.apache.http.impl.conn.DefaultClientConnection;

import org.apache.http.message.BasicNameValuePair;

import org.apache.http.util.EntityUtils;


public class internetHeper {

//发送请求如果发送的参数带有参数一般使用Post请求

public String request(String url,Map<String, Object> map)

{

try {

List<BasicNameValuePair> parem=this.Parem(map);

//创建客户端

HttpClient httpClient=new DefaultHttpClient();

//创建请求方式

HttpPost httpPost=new HttpPost(url);

httpPost.setEntity(new UrlEncodedFormEntity(parem,"UTF-8"));

//获得响应

HttpResponse response=httpClient.execute(httpPost);

if(response!=null)

{

return EntityUtils.toString(response.getEntity());

}

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

//转换参数

public List<BasicNameValuePair> Parem(Map<String , Object> map)

{

List<BasicNameValuePair> list=new ArrayList<BasicNameValuePair>();

Set<String> keys=map.keySet();

for(String key:keys)

{

list.add(new BasicNameValuePair(key,map.get(key).toString()));

}

//将参数转换

return list;

}


}


© 著作权归作者所有

共有 人打赏支持
绝版公子
粉丝 0
博文 2
码字总数 461
作品 0
黄冈
程序员
说说在 Android 中如何发送 HTTP 请求

客户端会向服务器发出一条 HTTP 请求,服务器收到请求后会返回一些数据给客户端,然后客户端再对这些数据进行解析与处理。 1 HttpURLConnection 可以使用 HttpURLConnection(官方推荐) 来发...

deniro ⋅ 06/09 ⋅ 0

Design Patterns in Android:责任链模式

前言 非常抱歉,本系列博客长达半年没更新了,今日偶得灵感,更新一波《设计模式Android篇:责任链模式》。点击此处查看《Design Patterns in Android》系列其他文章。 本文原创作者MichaelX。...

MichaelX ⋅ 05/14 ⋅ 0

[译] 在 Android P 中使用默认的 TLS 来保护你的用户

原文地址:Protecting users with TLS by default in Android P 原文作者:Chad Brubaker 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m… 译者:hanliuxin5 校对者:andro...

Android_开发者 ⋅ 昨天 ⋅ 0

Android技能树 — Rxjava取消订阅小结(1):自带方式

前言: Android技能树系列: Android基础知识 Android技能树 — 动画小结 Android技能树 — View小结 Android技能树 — Activity小结 Android技能树 — View事件体系小结 Android技能树 — ...

青蛙要fly ⋅ 05/29 ⋅ 0

Android RxJava: 这是一份全面的 操作符 使用汇总 (含详细实例讲解)

前言 ,由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 开发者的欢迎。 如果还不了解RxJava,请看文章:Android:这是一篇 清晰 & 易懂的Rxjava 入门教程 如此受欢迎的原...

Carson_Ho ⋅ 05/31 ⋅ 0

Android界面跳转时候的生命周期

今天在开发的时候碰到一个坑。关于两个界面跳转的时候,生命周期顺序的问题。 场景模拟:比如我们有两个Activity。第一个界面展示排行榜,第二个界面是游戏(H5游戏)。我们玩游戏玩完一局以后...

tianshuai4317618 ⋅ 04/18 ⋅ 0

Android 中判断网络连接和GPS是否可用及HTTPCLIENT使用

大家知道Google支持和发布的Android移动操作系统,主要是为了使其迅速占领移动互联网的市场份额,所谓移动互联网当然也是互联网了,凡是涉及互联网的任何软件任何程序都少不了联网模块的开发...

xztelecomlcs ⋅ 2017/03/14 ⋅ 0

Android Volley框架的几种post提交请求方式

首先简单描述一下Google的Android开发团队在2013年推出的一个网络通信框架Volley.它的设计目标是进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如下载文件等,Volley的...

gaolu ⋅ 2014/08/08 ⋅ 1

Activity启动模式的理解

一、理解 Tasks and Back Stack(任务和后台堆栈) 一个 App 对应一个 Task,该app 内的所有 activity 被安排在一个后台堆栈里。 多窗口模式下:一个windows下可能由多个 Task,系统为每个窗...

Agnes2017 ⋅ 05/04 ⋅ 0

Android框架搭建(1):界面和数据的分离

采用MVP构架,让activity只做ui的变化,数据的展示,让presenter做数据的处理,数据的传递,让Model做数据的网络获取。 这样就可以将原本全部存在Activity的成百上千行代码分离出来,增加代码...

tmyzh ⋅ 03/13 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

知乎Java数据结构

作者:匿名用户 链接:https://www.zhihu.com/question/35947829/answer/66113038 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 感觉知乎上嘲讽题主简...

颖伙虫 ⋅ 今天 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

Linux系统日志

linux 系统日志 /var/log/messages /etc/logrotate.conf 日志切割配置文件 https://my.oschina.net/u/2000675/blog/908189 logrotate 使用详解 dmesg 命令 /var/log/dmesg 日志 last命令,调......

Linux学习笔记 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部