`

Android从服务器端下载数据

阅读更多
package com.seiosoft.mobileec.commons;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

import android.util.Log;

/**
 * 从服务器端下载数据
 * 
 * @author yuanshouhui
 * 
 */
public class HttpDownload {

	public static String getJSONData(String url)
		throws ClientProtocolException, IOException {
		String result = "";
		HttpGet httpGet = new HttpGet(url);
		HttpClient httpClient = new DefaultHttpClient();
		HttpResponse httpResponse = null;

		try {
			httpResponse = httpClient.execute(httpGet);
			HttpEntity httpEntity = httpResponse.getEntity();
			if (httpEntity != null) {
				InputStream inputStream = httpEntity.getContent();
				result = convertStreamToString(inputStream);

			}
		} catch (ClientProtocolException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			throw e;
		} finally {
			httpClient.getConnectionManager().shutdown();
			httpResponse = null;
		}
		return result;

	}

	public static String convertStreamToString(InputStream is) {
		BufferedReader reader = null;
		try {
			reader = new BufferedReader(new InputStreamReader(is, "UTF-8"),// 防止模拟器上的乱码
					512 * 1024);
		} catch (UnsupportedEncodingException e1) {

			e1.printStackTrace();
		}
		StringBuilder sb = new StringBuilder();

		String line = null;
		try {
			while ((line = reader.readLine()) != null) {
				sb.append(line + "\n");
			}
		} catch (IOException e) {
			Log.e("DataProvier convertStreamToString", e.getLocalizedMessage(),
					e);
		} finally {
			try {
				is.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return sb.toString();
	}

}

private static String json;
public void shareJson(int template_id, int Size, int Type, double maxValue,
			String oName) {
		// Start Insert 从服务端获取图片, 放入sd卡中

		String url = Commons.URL_EC_IMAGE_GET + "?template_id=" + template_id
				+ "&Size=" + Size + "&type=" + Type + "&ImageVersion="
				+ String.valueOf(maxValue);
		String fileName_old = oName + "_" + oType + "_" + oSize + "_"
				+ template_id + "_" + maxValue + ".png";
		String filePath_old = ALBUM_PATH + fileName_old;
		Log.i("url", url);
		try {
			json = HttpDownload.getJSONData(url);//***
			JSONObject root;
			try {
				root = new JSONObject(json.toString());
				String items = root.getString("ImageUrl");// 获取服务端json中数据
				Integer count = Integer.parseInt(root.getString("Count"));
				if (count == 0) {
					mBitmap = BitmapFactory.decodeFile(filePath_old);
				} else {
					Log.i("======= :", "" + items);
					String img_url = items;
					String fileName = img_url.substring(
							img_url.lastIndexOf('/') + 1, img_url.length());// 提取下载图片的文件名
					mBitmap = Commons.getBitmap(img_url);
					DeleteFile(filePath_old);
					saveFile(mBitmap, fileName);
				}
			} catch (JSONException e) {
				e.printStackTrace();
			}
		} catch (ClientProtocolException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

 

分享到:
评论

相关推荐

    android客户端从服务器端获取json数据并解析的实现代码

    首先客户端从服务器端获取json数据 1、利用HttpUrlConnection 代码如下:/** * 从指定的URL中获取数组 * @param urlPath * @return * @throws Exception */ public static String readParse(String urlPath) ...

    Android与服务器端数据交互

    "Android 与服务器端数据交互基于 SOAP 协议" Android 与服务器端数据交互是移动应用程序开发的重要组成部分。在 Android 中,我们可以使用多种方式与服务器端进行数据交互,例如使用 HttpClient 通过 HTTP 协议...

    Android客户端和服务器端数据交互Demo01.zip

    这个"Android客户端和服务器端数据交互Demo01.zip"应该包含一个示例项目,展示了如何在Android平台上进行这种交互。下面,我们将深入探讨这个主题,并基于"参考博客.txt"和"Android客户端和服务器端数据交互Demo01...

    Android服务器端交互服务器端源码

    本资源提供的"Android服务器端交互服务器端源码"是一个针对Android应用与服务器进行通信的示例,可以帮助开发者更好地理解和实现这一过程。 首先,我们需要理解服务器端交互的基本概念。在Android应用中,服务器端...

    Android服务器端与客户端的数据交互

    综上所述,Android服务器端与客户端的数据交互是一个复杂而关键的过程,涉及到网络协议、数据格式、安全性、错误处理等多个方面,理解并熟练掌握这些知识点对于开发高效、安全的Android应用至关重要。

    Android 客户端与服务器端进行数据交互Demo(包含服务器端和客户端)

    这个Demo涵盖了从客户端到服务器端的基本数据发送和接收,以及验证过程。下面将详细解释这个Demo涉及到的知识点。 1. **Android网络请求库**: Android原生API进行网络操作较为繁琐,所以通常会使用第三方库,如`...

    Android与服务器端交互

    在这个示例中,我们关注的是Android如何从服务器端下载图片,这是移动应用中常见的功能,例如社交应用中的头像加载、电商应用的商品图片展示等。 首先,我们需要理解网络请求的基本原理。在Android中,可以使用...

    Android与服务器端数据交互[整理].pdf

    Android 与服务器端数据交互 Android 与服务器端数据交互是移动应用开发中的一项重要技术,Android 客户端需要通过某种方式与服务器端进行数据交互,来获取或发送数据。HTTP 协议和WebService 是两种常见的数据...

    基于webservice的Android与服务器端数据交互

    基于webservice的Android与服务器端数据交互。

    Android实现从服务器端数据库读数据JSON解析

    从数据库中访问数据库以JSON格式返回数据,在Android手机端将返回的数据 以JSON的格式解析出来。 本文件中的mysql.sql是我测试是的数据库,在测试的时候先将这个文件 导入到本机的mysql数据库中的(至于怎样导入...

    Android订餐系统包括服务器端

    《构建完整的Android订餐系统:从客户端到服务器端详解》 在移动互联网时代,订餐系统已经成为日常生活的一部分,尤其在Android平台上,用户基数庞大,因此开发一个高效、易用的Android订餐系统至关重要。本系统...

    JSON从服务器下载数据到Android客户端

    JSON从服务器下载数据到Android客户端 包括web端和Android手机端 注意修改ip和mySQL用户名 密码 详情见 http://blog.csdn.net/u011109881/article/details/40110613

    Android客户端与服务器端的json数据交互(内含大量知识点)

    在Android应用开发中,客户端与服务器端的数据交互是不可或缺的一部分,JSON作为一种轻量级的数据交换格式,被广泛用于Android和服务器之间的通信。本教程将详细阐述Android客户端如何使用JSON进行数据交互,包括...

    android客户端从服务器端获取json数据并解析

    在Android开发中,从服务器端获取JSON数据并进行解析是一项常见的任务,这涉及到网络通信、数据格式处理以及数据解析等多个方面。以下是对这一过程的详细解释: ### 一、从服务器端获取JSON数据 #### 1. 使用...

    android从服务器端下载图片并保存在本地sdcard里并在界面滚动显示出来

    在Android开发中,从服务器端下载图片并保存到本地SD卡是常见的需求,尤其是在构建一个包含大量图片的应用,如新闻阅读、社交应用或者电商应用。这个过程涉及到网络请求、文件操作以及UI显示等多个方面。以下将详细...

    android socket 服务器端

    在标题"android socket 服务器端"中,我们可以理解到这个话题是关于如何在Android设备上构建一个Socket服务器,以便其他客户端(可能是Android应用或者其他设备上的应用)可以连接并进行数据交换。在描述中提到"java...

    android 客户端 和 服务器端

    在Android应用开发中,客户端与服务器端的交互是不可或缺的一部分,这使得用户能够获取和发送数据,实现功能如登录注册、数据同步等。本话题主要关注Android客户端与服务器端通过GET和POST方法进行数据传输的基本...

    Android服务器端交互Android端代码

    总的来说,Android服务器端交互涉及到网络编程、数据解析、异步处理等多个方面,理解并掌握这些技术是构建功能完备的Android应用不可或缺的部分。通过阅读和分析"TestAndroid"中的代码,开发者可以进一步了解实际...

    Android客户端与服务器端通信Demo

    在Android应用开发中,客户端与服务器端的通信是不可或缺的一部分,它使得移动设备能够获取、发送数据,实现功能如登录注册、数据同步、文件上传下载等。本Demo着重展示了这一核心概念,通过实例来帮助开发者理解和...

    基于PHP的Android应用服务器端管理系统|Json数据通信

    【标题】基于PHP的Android应用服务器端管理系统是用于管理和控制Android应用程序的重要工具,它通过Json数据格式实现与Android客户端的高效通信。这个系统的核心在于利用PHP作为后端语言,构建一个能够处理Android...

Global site tag (gtag.js) - Google Analytics