import java.io.IOException;
import java.io.UnsupportedEncodingException; import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONObject; import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.util.Log; import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.JsonHttpResponseHandler; public class NetWorkUtil {
private static String result;
/**
*
* 方法说明:判断是否开启网络
*
* @param mContext
* @return
*/
public static boolean isNetwork(Context mContext){
ConnectivityManager manager=(ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info=manager.getActiveNetworkInfo();
if(info==null||!info.isAvailable()){
return false;
}
return true;
}
/**
*
* 方法说明:访问网络接口,接到json数据
*
* @param mContext
* @param url
* @param jsonparams
* @return
*/
public static void getJsonData(Context mContext,String url,String jsonparams,final LoadJson loadjson){
AsyncHttpClient client=new AsyncHttpClient();
StringEntity entity;
try {
entity = new StringEntity(jsonparams, "utf-8");
client.post(mContext, url, entity, "application/json",new JsonHttpResponseHandler(){
@Override
public void onSuccess(int statusCode, JSONObject response) {
// TODO Auto-generated method stub
super.onSuccess(statusCode, response);
result=response.toString();
loadjson.getJson(response.toString());
Log.d("TAG", "请求数据成功");
}
@Override
public void onStart() {
// TODO Auto-generated method stub
super.onStart();
Log.d("TAG", "开始请求数据");
}
@Override
public void onFinish() {
// TODO Auto-generated method stub
super.onFinish();
Log.d("TAG", "请求数据结束");
}
@Override
public void onRetry() {
// TODO Auto-generated method stub
super.onRetry();
Log.d("TAG", "重试");
}
@Override
public void onFailure(Throwable e, JSONArray errorResponse) {
// TODO Auto-generated method stub
super.onFailure(e, errorResponse);
Log.d("TAG", "失败");
}
});
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// public static
/**
* HttpClient访问网络接口 (暂时)
* @param url
* @param jsonparams
* @return
* @param
* @throws
* @return
*/
public static String getHttpClientJsonData(String url,String jsonparams){ HttpPost httpPost = new HttpPost(url);
StringEntity entity;
try {
entity = new StringEntity(jsonparams, HTTP.UTF_8);
entity.setContentType("application/json");
httpPost.setEntity(entity);
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(httpPost);
if(response.getStatusLine().getStatusCode()==HttpStatus.SC_OK){
HttpEntity resEntity=response.getEntity();
result=EntityUtils.toString(resEntity, "utf-8");
}else{ }
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} return result ;
} /**
* 通过地址获取Bitmap (暂时)
* @param imageUrl
* @return
* @param
* @throws
* @return
*/
public static Bitmap loadImageFromUrl(String imageUrl){
Bitmap result = null;
HttpGet req = new HttpGet(imageUrl);
HttpParams connParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(connParams, 5 * 1000);
HttpConnectionParams.setSoTimeout(connParams, 5 * 1000);
HttpClient client = new DefaultHttpClient(connParams); try {
HttpResponse resp = client.execute(req);
if(resp.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
HttpEntity respEntity = resp.getEntity();
result = BitmapFactory.decodeStream(respEntity.getContent());
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result; }
public interface LoadJson{
void getJson(String data);
}
}

NetWorkUtil的更多相关文章

  1. Android NetWorkUtil

    package com.android.hcframe.netdisc.util; import java.io.BufferedReader; import java.io.InputStreamR ...

  2. 用Java代码实现拦截区域网数据包

    起因: 吃饭的时间在想如果区域网内都是通过路由器上网,那如何实现拦截整个区域网的数据包,从而实现某种窥探欲. 思路:      正常是通过电脑网卡预先设置或分配的IP+网关对路由器进行通讯,比如访问百 ...

  3. C#开发微信门户及应用(35)--微信支付之企业付款封装操作

    在前面几篇随笔,都是介绍微信支付及红包相关的内容,其实支付部分的内容还有很多,例如企业付款.公众号支付或刷卡支付.摇一摇红包.代金券等方面的内容,这些都是微信接口支持的内容,本篇继续微信支付这一主题, ...

  4. C#开发微信门户及应用(33)--微信现金红包的封装及使用

    我在上篇随笔<C#开发微信门户及应用(32)--微信支付接入和API封装使用>介绍为微信支付的API封装及使用,其中介绍了如何配置好支付环境,并对扫码支付的两种方式如何在C#开发中使用进行 ...

  5. ZooKeeper 笔记(6) 分布式锁

    目前分布式锁,比较成熟.主流的方案有基于redis及基于zookeeper的二种方案. 大体来讲,基于redis的分布式锁核心指令为SETNX,即如果目标key存在,写入缓存失败返回0,反之如果目标k ...

  6. Android okHttp网络请求之缓存控制Cache-Control

    前言: 前面的学习基本上已经可以完成开发需求了,但是在项目中有时会遇到对请求做个缓存,当没网络的时候优先加载本地缓存,基于这个需求我们来学习一直okHttp的Cache-Control. okHttp ...

  7. Winform混合式开发框架访问Web API接口的处理

    在我的混合式开发框架里面,集成了WebAPI的访问,这种访问方式不仅可以实现简便的数据交换,而且可以在多种平台上进行接入,如Winform程序.Web网站.移动端APP等多种接入方式,Web API的 ...

  8. Android判断网路是否畅通加权限

    权限 <uses-permission android:name="android.permission.INTERNET"/> <uses-permission ...

  9. AsyncTask 异步处理

    1 package com.ch.day8_asynctaskdemo; 2 3 import java.util.ArrayList; 4 5 import com.ch.myutils.NetWo ...

随机推荐

  1. spark完全分布式集群搭建

    最近学习Spark,因此想把相关内容记录下来,方便他人参考,也方便自己回忆吧 spark开发环境的介绍资料很多,大同小异,很多不能一次配置成功,我以自己的实际操作过程为准,详细记录下来. 1.基本运行 ...

  2. Django——静态文件配置

    本文目的 最近用django开发项目,发现django的静态文件(js,css和img等)配置比较麻烦,开发环境和生产环境的配置还不一样,这里记录一下,作为备忘.我当前使用的版本是django v1. ...

  3. rsync问题-connection refused(111)、Unknown module

    1.Connection refused (111) 启动服务:rsync --daemon --config=/etc/rsyncd.conf 2.@ERROR: Unknown module 's ...

  4. DB2日期与时间

    摘选自:http://www.cnblogs.com/wanghonghu/archive/2012/05/25/2518604.html 1.db2可以通过SYSIBM.SYSDUMMY1.SYSI ...

  5. 树莓派之OLED12864视频播放—BadApple

    代码地址如下:http://www.demodashi.com/demo/13218.html 概述 本篇教程讲述了使用树莓派驱动OLED12864液晶屏,并在液晶屏上播放动画和视频. 硬件平台 树莓 ...

  6. java学习路线-Java技术人员之路从0基础到高级

    满满的  全是干货 java基础: 尚学堂 马士兵   个人推荐 历经5年锤练--史上最适合刚開始学习的人入门的Java基础视频   很具体   适合 时间多的看 传智播客java基础班 马士兵线程 ...

  7. unity, windows: Unhandled Exception: System.UnauthorizedAccessException: Access to the path "XXX\Temp\Assembly-CSharp.dll.mdb" is denied

    的windows上使用unity,修改过脚本或inspector中的数值后运行编辑器报错: Unhandled Exception: System.UnauthorizedAccessExceptio ...

  8. Atitit. 二进制数据ascii表示法,与base64编码解码api 设计标准化总结java php c#.net

    Atitit. 二进制数据ascii表示法,与base64编码解码api 设计标准化总结java php c#.net 1. Base64编码,1 1.1. 子模式 urlsafe Or  url u ...

  9. hdu 4597 Play Game(记忆化搜索)

    题目链接:hdu 4597 Play Game 题目大意:给出两堆牌,仅仅能从最上和最下取,然后两个人轮流取,都依照自己最优的策略.问说第一个人对多的分值. 解题思路:记忆化搜索,状态出来就很水,dp ...

  10. 606. Construct String from Binary Tree 【easy】

    606. Construct String from Binary Tree [easy] You need to construct a string consists of parenthesis ...