Android之实战篇(三)
先给出我们用到的工具类
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;
- }
- }
显示各种对话框的工具类: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();
- }
- }
Android之实战篇(三)的更多相关文章
- (转载)Android项目实战(三十二):圆角对话框Dialog
Android项目实战(三十二):圆角对话框Dialog 前言: 项目中多处用到对话框,用系统对话框太难看,就自己写一个自定义对话框. 对话框包括:1.圆角 2.app图标 , 提示文本,关闭对话 ...
- Android 逆向实战篇(加密数据包破解)
1. 实战背景由于工作需要,要爬取某款App的数据,App的具体名称此处不便透露,避免他们发现并修改加密逻辑我就得重新破解了. 爬取这款App时发现,抓包抓到的数据是加密过的,如图1所示(原数据较长, ...
- Android项目实战(三十二):圆角对话框Dialog
前言: 项目中多处用到对话框,用系统对话框太难看,就自己写一个自定义对话框. 对话框包括:1.圆角 2.app图标 , 提示文本,关闭对话框的"确定"按钮 难点:1.对话框边框圆角 ...
- Android项目实战(三十四):蓝牙4.0 BLE 多设备连接
最近项目有个需求,手机设备连接多个蓝牙4.0 设备 并获取这些设备的数据. 查询了很多资料终于实现,现进行总结. ------------------------------------------- ...
- Android项目实战(三十九):Android集成Unity3D项目(图文详解)
需求: Unity3D 一般用于做游戏 而且是跨平台的.原本设计是Android 应用端A(原生开发)进行一些业务处理,最后由A 打开Android 应用端B(Unity3D 游戏开发)进行游戏操作. ...
- Android项目实战(三十八):2017最新 将AndroidLibrary提交到JCenter仓库(图文教程)
我们经常使用github上的开源项目,使用步骤也很简单 比如: compile 'acffo.xqx.xwaveviewlib:maven:1.0.0' 这里就学习一下如何将自己的类库做出这种可以供他 ...
- Android项目实战(三十七):Activity管理及BaseActivity的实现
Ps:7-10月 完成公司两个app项目上架.漏掉的总结 开始慢慢补上. 一.写一个Activity的管理类 1.单例模式,以栈(先进后出)的形式存储Activity对象 public class A ...
- Android项目实战(三十五):多渠道打包
多渠道打包: 可以理解为:同时发布多个渠道的apk.分别上架不同的应用商店.这些apk带有各自渠道的标签,用于统计分析各个商店的下载次数等数据. 实现步骤 一.添加友盟渠道标签 添加位置:app目录下 ...
- Android项目实战(三十三):AS下获取获取依赖三方的jar文件、aar 转 jar
使用 Android studio 开发项目中,有几种引用三方代码的方式:jar 包 ,类库 ,gradle.build 的compile依赖. 大家会发现github上不少的项目只提供compile ...
随机推荐
- ADPCM编码和解码
原文:http://www.znmcu.cn/znx_51_alltest_shell_fj_adpcm1.html ADPCM音频解码,其实放在这里有些不太合适. 在编写ZN-X开发板整板测试程序的 ...
- centos7.2自带的php5.4升级为5.6
参考:http://jingyan.baidu.com/article/380abd0a1f176c1d91192c4b.html 今天在新购的阿里云上部署个phpmyadmin,结果显示了个如下信息 ...
- Windows进程间通信(中)
二.文件映射 文件映射(Memory-Mapped Files)能使进程把文件内容当作进程地址区间一块内存那样来对待.因此,进程不必使用文件I/O操作,只需简单的指针操作就可读取和修改文件的内容. W ...
- SQL IO监控
DBCC DROPCLEANBUFFERS --清空缓存 SET STATISTICS IO { ON | OFF } SET STATISTICS TIME { ON | OFF }
- DOM操作-动态创建网页元素
动态创建新的DOM元素,是JavaScript操作网页对象模型的重要手段之一 代码: <!DOCTYPE html> <html> <head> <title ...
- hdu_2147_kiki's game(博弈)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2147 题意:给你一个矩阵,从右上走到左下,每次只能向左或向下或向斜下走一格,先走到最后一格的会输,问k ...
- insertRule()与addRule()创建规则
要向现有的样式表中添加新规则,需要使用insertRule()方法.这个方法接受两个参数:规则文本和表示在那里插入规则的索引.下面是一个例子: sheet.insertRule("body ...
- build path contains duplicate entry:'src' for project 'XXX'
解决了,原因是编译器配置不正确,原工程使用adk8/android2.3,我用的是最新的4.0,改了下编译环境就好了.
- mouse的各种事件
IE测试对象为IE9,不全 mousemove(元素内部移动) 鼠标在元素内部移动时触发,只要鼠标移动,即使只是又移动了一个像素,也会触发,这就意味着短时间内会触发多次事件 支持情况: js onmo ...
- js操作select和option
1.动态创建select function createSelect(){ var mySelect = document.createElement_x("select"); m ...