阅读更多
package com.maidong.utils;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;import java.net.URLDecoder;import java.net.URLEncoder;import java.util.ArrayList;import java.util.List;import java.util.Map;import org.apache.http.HttpEntity;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.HttpPost;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.protocol.HTTP;import android.app.Activity;import android.content.Context;import android.net.ConnectivityManager;import android.net.NetworkInfo;public class InternetUtils {private static final String USER_AGENT = "User-Agent";public static String httpPost(String url, List nameValuePairs) throws ClientProtocolException, IOException {HttpClient httpclient = new DefaultHttpClient();HttpPost httpPost = new HttpPost(url);// List nameValuePairs = new ArrayList(2);// Your DATA// nameValuePairs.add(new BasicNameValuePair("id", "12345"));// nameValuePairs.add(new BasicNameValuePair("stringdata",// "eoeAndroid.com is Cool!"));httpPost.setHeader(USER_AGENT, "Mozilla/4.5");HttpEntity httpEntity = null;try {httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8));httpEntity = httpclient.execute(httpPost).getEntity();} finally {//httpPost.abort();}return retrieveHttpEntity(httpEntity);}public static InputStream download(URL url) throws IOException {URLConnection conn = url.openConnection();InputStream is = conn.getInputStream();return is;}public static byte[] downloadFileData(String surl) throws IOException {URL url = new URL(surl);URLConnection conn = url.openConnection();// 获取长度int length = (int) conn.getContentLength();InputStream is = conn.getInputStream();byte[] imgData = null;if (length != -1) {imgData = new byte[length];byte[] temp = new byte[512];int readLen = 0;int destPos = 0;while ((readLen = is.read(temp)) > 0) {System.arraycopy(temp, 0, imgData, destPos, readLen);destPos += readLen;}}return imgData;}public static InputStream download(String url) throws IOException {return download(new URL(url));}public static String httpPost(String url) throws ClientProtocolException, IOException {return httpPost(url, new ArrayList());}private static String retrieveHttpEntity(HttpEntity httpEntity) throws UnsupportedEncodingException, IllegalStateException,IOException {StringBuffer stringBuffer = new StringBuffer();InputStreamReader is = new InputStreamReader(httpEntity.getContent(), HTTP.UTF_8);BufferedReader bufferedReader = new BufferedReader(is);String line;while ((line = bufferedReader.readLine()) != null) {stringBuffer.append(line);}return stringBuffer.toString();}public static String uploadFile(String actionUrl, String newName, InputStream fStream) {String end = "\r\n";String twoHyphens = "--";String boundary = java.util.UUID.randomUUID().toString();DataOutputStream ds = null;try {URL url = new URL(actionUrl);HttpURLConnection con = (HttpURLConnection) url.openConnection();/* 允许Input、Output,不使用Cache */con.setDoInput(true);con.setDoOutput(true);con.setUseCaches(false);/* 设定传送的method=POST */con.setRequestMethod("POST");/* setRequestProperty */con.setRequestProperty("Connection", "Keep-Alive");con.setRequestProperty("Charset", "UTF-8");con.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);/* 设定DataOutputStream */ds = new DataOutputStream(con.getOutputStream());ds.writeBytes(twoHyphens + boundary + end);ds.writeBytes("Content-Disposition: form-data; " + "name=\"Filedata\";filename=\"" + newName + "\"" + end);ds.writeBytes(end);/* 取得文件的FileInputStream */// FileInputStream fStream = new FileInputStream(uploadFile);/* 设定每次写入1024bytes */int bufferSize = 1024;byte[] buffer = new byte[bufferSize];int length = -1;/* 从文件读取数据到缓冲区 */while ((length = fStream.read(buffer)) != -1) {/* 将数据写入DataOutputStream中 */ds.write(buffer, 0, length);}ds.writeBytes(end);ds.writeBytes(twoHyphens + boundary + twoHyphens + end);ds.flush();/* 取得Response内容 */InputStream is = con.getInputStream();int ch;StringBuffer b = new StringBuffer();while ((ch = is.read()) != -1) {b.append((char) ch);}/* 将Response显示于Dialog */// showDialog(b.toString().trim());return b.toString().trim();/* 关闭DataOutputStream */} catch (Exception e) {// showDialog("" + e);} finally {AppUtils.close(ds);AppUtils.close(fStream);}return null;}/** *  * @param s * @return null if the given string is null. * @throws UnsupportedEncodingException */public static String decode(String s, String enc) throws UnsupportedEncodingException {return s == null ? null : URLDecoder.decode(s, enc);}public static String encode(String s, String enc) throws UnsupportedEncodingException {return URLEncoder.encode((s == null ? "" : s), enc);}/** *  * 判断网络状态是否可用 *  * @return true: 网络可用 ; false: 网络不可用 */public static boolean isNetworkConnected(Activity activity) {ConnectivityManager conManager = (ConnectivityManager) activity.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo networkInfo = conManager.getActiveNetworkInfo();if (networkInfo != null) { // 这个判断一定要,要不然会出错return networkInfo.isAvailable();}return false;}}

更多相关文章

  1. 【android】监听网络变化连续多个广播的问题解决
  2. Android读取SD卡下面所有的TXT文件名 listView显示出来
  3. android异步取数据
  4. Android数据存储路径位置
  5. android中Json数据保存方式
  6. Android 读取本地txt文件和写入txt文件到本地
  7. android > SDcard读写文件
  8. [置顶] Android加载数据过程中的菊花显示
  9. Android开发学习笔记整理(16)-网络请求

随机推荐

  1. warning: Ignoring InnerClasses attribu
  2. 应届毕业生第一个项目——我博摄像头
  3. Ubuntu 10.04编译Android(安卓)2.2 源代
  4. httpclient测试代码
  5. Glide 下载多张图片
  6. Android文件操作放到listview中
  7. 83 Android(安卓)Handler ProgressBar 进
  8. Android-FilePicker 选择照片
  9. Android(安卓)使用 keytool 查看签名方法
  10. Android(安卓)浏览器中启动自定义应用