先给出我们用到的工具类
1.发送请求的工具类
本实例采用HttpClient与服务器通信,用到了一个工具类对Httpclient进行封装:定义了两个方法来发送请求
getRequest:发送GET请求
postRequest :发送POST请求
HttpUtil.java(注意IP地址换成自己的IP地址,这个BASE_URL = "http://losthost:8080/auction/,要不然,你就)
package com.infy.auction.client.util;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import android.util.Log;
public class HttpUtil {
private static final String TAG="HttpUtil";
//创建HttpCilent对象
public static HttpClient httpClient = new DefaultHttpClient();
public static final String BASE_URL = "http://losthost:8080/auction/";
//发送url的请求,服务器响应字符串
public static String getRequest(String url) throws Exception{
//创建一个HttpGet对象
HttpGet get = new HttpGet(url);
//发送GET请求
HttpResponse httpResponse = httpClient.execute(get);
Log.i(TAG, "getReq ==getStatusCode--->" +httpResponse.getStatusLine().getStatusCode());
//如果服务器成功地返回响应
if(httpResponse.getStatusLine().getStatusCode() == 200){
//获取响应的字符串
String result = EntityUtils.toString(httpResponse.getEntity());
Log.i(TAG, "getReq ==result--->" +result);
return result;
}
return "";
}
//发送Post请求
public static String postRequest(String url,Map<String, String> rawParams) throws Exception{
Log.i(TAG, "postRequest--->begin");
//创建HttpPost对象
HttpPost post = new HttpPost(url);
//如果传递的参数个数比较多,可以对传递的参数进行封装
List<NameValuePair> params = new ArrayList<NameValuePair>();
for(String key:rawParams.keySet()){
//封装请求的参数
params.add(new BasicNameValuePair(key, rawParams.get(key)));
}
//设置请求的参数
post.setEntity(new UrlEncodedFormEntity(params,"utf-8"));
//发送Post请求
HttpResponse httpResponse = httpClient.execute(post);
//如果服务器成功地返回响应
Log.i(TAG, "HttpL---->" +httpResponse.getStatusLine().getStatusCode());
if(httpResponse.getStatusLine().getStatusCode() == 200){
//获取响应的字符串
String result = EntityUtils.toString(httpResponse.getEntity());
Log.i(TAG, "response-->" +result);
return result;
}
return null;
}
}
2. 显示各种对话框的工具类:Dialog.xml
package com.infy.auction.client.util;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.view.View;
public class DialogUtil {
//定义一个显示消息的对话框
public static void showDialog(final Context ctx , String msg, boolean closeSelf) {
// TODO Auto-generated method stub
//创建一个AlertDialog.Builder对象
AlertDialog.Builder builder = new AlertDialog.Builder(ctx).setMessage(msg).setCancelable(false);
if(closeSelf){
builder.setPositiveButton("确定", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
//结束当前Activity
((Activity)ctx).finish();
}
});
}else{
builder.setPositiveButton("确定", null);
}
builder.create().show();
}
//定义一个显示指定组件的对话框
public static void showDialog(Context ctx,View view){
AlertDialog.Builder builder = new AlertDialog.Builder(ctx).setView(view).setCancelable(false).setPositiveButton("确定", null);
builder.create().show();
}
}
分享到:
相关推荐
NULL 博文链接:https://tianfeng701.iteye.com/blog/1555504
为此,“职场大菠菜”携手"指尖疯教育"重磅推出《安卓开发实战免费微课》系列!91集微课,足以让您从咿呀学语的菜鸟成功晋级内功深厚的高手。 微课也要有力量,免费也要有匠心!从PPT课件的高颜值梳妆,到产品制作...
指尖疯:巅疯上的大学识,小移动 相信术业要专攻,相信小而美理念,所以专注ANDROID产业链 相信教育优生活,相信互联网思维,所以专注在线教育生态圈 相信疯狂成就未来,相信学习造就快乐,所以我们是在线教育的...
指尖疯Android4.4视频第1集课件:ANDROID简介及开发环境 持续更新中,敬请关注,谢谢!
不过Service可真为Android任劳任怨且从不邀功的劳模!只干活不显摆,只付出不求回报的幕后英雄。如果你设计出的APP受到了用户的褒奖和称赞,这些称赞多是集中在用户界面和Activity上面,从来没有眷顾过Service,因为...
广播,这个诞生于1906年的科技产品,持续...Android通过广播机制,能够让订阅者接受到想听到的广播,并进行进一步的处理和操作。如果你想在虚拟的android世界中创建属于你自己的电台广播,那么就赶紧点击本集视频观看吧
上集给大家带来了android的面子activity的介绍,不知各位看官掌握怎样了,这集隆重登场的Fragment其实和Activity有着千丝万缕的联系。Fragment让界面的创建更加灵活和多变,且复用性得到进一步的提升。疯兄认为,一...
指尖疯:巅疯上的大学识,小移动 相信术业要专攻,相信小而美理念,所以专注ANDROID产业链 相信教育优生活,相信互联网思维,所以专注在线教育生态圈 相信疯狂成就未来,相信学习造就快乐,所以我们是在线教育的...
SQLite是专属于android的一个非常轻量级的数据库,之所以加上非常,是因为表面上是数据库,背后还是以文件方式存储的,没办法,目前手机功能再强大相对PC也很有限,疯兄自然希望有朝一日能够在手机上运行mySQL甚至...
指尖疯Android4.4视频第2集课件:视图与布局 持续更新,敬请关注,谢谢!
这是指尖笔尖检测Android Demo,可实时检测指尖笔尖,支持跟踪检测,检测效果相当好
本集给众位疯子们带来的是选项菜单和上下文菜单。提到菜单,疯兄就忍不住流哈喇子,中华美食,博大精深,这不舌尖上的中国第二部正在火热上映中。Android系统中的这些菜单莫非也是点菜用的?如果你这样想的话,疯兄...
一款简单趣味性强的安卓小应用,根据指尖的脉搏跳动测出您的健康及长相状况
为此,“职场大菠菜”携手"指尖疯教育"重磅推出《安卓开发实战免费微课》系列!91集微课,足以让您从咿呀学语的菜鸟成功晋级内功深厚的高手。 微课也要有力量,免费也要有匠心!从PPT课件的高颜值梳妆,到产品制作...
疯兄相信,每个app在开发之初,都需要考虑如何存储信息和数据的问题,这些信息和数据各种各种/五花八门,不同的信息使用不同的存储方式听起来可能更靠谱一些。而SharedPreference就是为了存储轻量级数据而生的,轻量...
为此,“职场大菠菜”携手"指尖疯教育"重磅推出《安卓开发实战免费微课》系列!91集微课,足以让您从咿呀学语的菜鸟成功晋级内功深厚的高手。 微课也要有力量,免费也要有匠心!从PPT课件的高颜值梳妆,到产品制作...
这段旅程是android开发学习之旅的核心。本集疯兄给大家带来的是activity,activity不要单纯从字面意义理解为活动,activity可以理解为你的app程序的门面或者面子工程,也就是用户看到的、摸到的、听到的无不都是...
基于Android平台的“指尖上的百草园”APP设计与实现.pdf