`

下载网路图片到SD卡上新建文件夹当中

阅读更多
1.DownloadImages.java文件
package cn.com;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
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.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Environment;

public class DownloadImages extends Activity {
        //这下面3个参数用于网络连接服务器端,获取图片流数据
	private final static String HOST = "127.0.0.1";
	private final static int PORT = 8080;
	private final static String HOST_IP = "http://" + HOST + ":" + PORT;
	// 图片接口路径
	private static String imageURL = HOST_IP+"************";
	private int bitmapIndex = 0;
	private File dFile1;
	private static Bitmap[] bitmapFactory = new Bitmap[6];
	private FileOutputStream outs1;
	private int index = 84;
	private String fileDirectory = "";

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		getSdCardPath();
                imageGet();
	}
        //创建一个SD卡上的文件夹
	public void getSdCardPath() {
		File sdcardDir = Environment.getExternalStorageDirectory();
		String path = sdcardDir.getParent() + sdcardDir.getName();
		fileDirectory = path + java.io.File.separator + "Demo";
		createFile();
	}
	
	public void createFile() {
		try {
			// 1.判断是否存在sdcard
			if (Environment.MEDIA_MOUNTED.equals(Environment
					.getExternalStorageState())) {
				//目录
				System.out.println("_______create Directory________");
	             File path = new File(fileDirectory);
				if (!path.exists()) {
					// 2.创建目录,可以在应用启动的时候创建
					path.mkdirs();
				}
				//文件
				/*File f = new File(fileDirectory + "/notes.txt");
				if (!f.exists()) {
					// 3.创建文件
					f.createNewFile();
				}*/
			    
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
        //可以通过自己构建服务器端文件,传递一定参数进行图片流下载
	public void imageGet() {
		try {
			DefaultHttpClient httpclient = new DefaultHttpClient();
			HttpResponse response;
			HttpPost httpost = new HttpPost(imageURL);
			List<NameValuePair> nvps = new ArrayList<NameValuePair>();
			nvps.add(new BasicNameValuePair("type", "image"));
			nvps.add(new BasicNameValuePair("id", String.valueOf(19)));
			nvps.add(new BasicNameValuePair("fileId", String
					.valueOf(bitmapIndex + 1)));
			httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
			// This is always a final response
			response = httpclient.execute(httpost);
			HttpEntity entity = response.getEntity();
			InputStream is = entity.getContent();
			System.out.println("______"
					+ Environment.getExternalStorageDirectory());
			dFile1 = new File(fileDirectory, (index++) + ".jpg");
			outs1 = new FileOutputStream(dFile1);
			byte buf[] = new byte[1024];
			int numread = 0;
			do {
				// Start reading data from the URL stream
				numread = is.read(buf);
				if (numread < 0) {
					System.out.println("the end !!!!");
					break;
				}
				outs1.write(buf, 0, numread);

			} while (true);
                        //保存在一个位图数组当中,方面后续使用
			bitmapFactory[bitmapIndex++] = BitmapFactory.decodeFile(dFile1
					.getPath());

			if (bitmapIndex == 6) {
				System.out.println("_________download over__________");
				is.close();
				outs1.close();
			} else {
				imageGet();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

2.当然在配置文件当中,我们需要添加如下:
<!-- 访问网路权限-->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 读写SD卡权限-->
	<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
	<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

分享到:
评论

相关推荐

    新建文件夹 (3).rar_在线_数据分析_新文建件夹3

    【标题】"新建文件夹 (3).rar" 是一个压缩包文件,可能包含了与数据分析相关的代码或资源。从标题中的“在线”一词可以推测,这些代码或资源可能用于处理在线数据流或构建网络应用程序。"新文建件夹3"可能是对文件夹...

    小精豆网络相册V3.0网络图片存储系统源码(高仿淘小宝)

    简意:只要拥有小精豆网络相册系统,就能轻松成为企业级网络图片存储服务商! 界面预览 特点:功能强大,用户体验度高 逻辑目录管理,图片目录随意变更,不影响网店宝贝描述,管理便捷清晰; 无限级文件夹目录...

    android SD卡文件浏览器

    同时,提供下载功能,将网络资源保存到SD卡,需要用到`java.net.URL`和`java.io.InputStream`等网络编程接口。 三、创建简单的SD卡文件浏览器 3.1 UI设计 使用Android Studio和XML布局文件,构建文件列表界面和...

    第三届“教学中的互联网搜索”优秀教案评比龙芯电脑教材第20课下载图片归类.pdf

    【教学中的互联网搜索】主题涉及的是在小学信息技术课程中教授学生如何下载和管理网络上的图片。这节课的目标是让学生掌握搜索引擎的使用,学会新建文件夹并命名,以及如何保存网页中的图片。具体教学内容分为以下几...

    手机SD存储卡文件浏览 Android 源程序

    本项目名为"手机SD存储卡文件浏览 - Android 源程序",提供了一个完整的、可运行的解决方案,允许用户在Android设备上查看和管理SD卡上的文件。 1. **Android 文件系统概述** Android系统采用Linux内核,因此其...

    ME525网络设置方法

    - 在SD卡中新建文件夹“notifications”,并将自定义的通知铃声放入其中。 - 设置路径:设置 → 声音 → 通知铃声。 3. **闹钟铃声**: - 在SD卡中新建文件夹“alarms”,并将自定义的闹钟铃声放入其中。 - ...

    在根目录建立一个文件夹和在文件夹中建立win的启动文

    `.txt`文件通常用于存储纯文本信息,而`.url`文件是Internet快捷方式,用于指向网页或其他网络资源。在本例中,`代码中国.txt`可能包含了关于如何创建和使用启动文件的指导,而`代码中国.url`可能是链接到相关网站的...

    局域网建立共享文件夹千里瞬传详细教程参照.pdf

    在IT领域,局域网(LAN)共享文件夹是一种常见的数据传输和协作方式,尤其适合于小型企业或家庭网络环境。下面将详细讲解如何在局域网中建立共享文件夹并实现快速传输。 首先,确保计算机上的服务器服务已经启动。...

    基于Interbus网卡的KUKA机器人网络配置.docx

    在线配置机器人的子站需要-right-click 存储卡选择格式化,将板卡中存储的网络配置信息删除,然后点击对控制器板卡进行复位。接着右击按钮选择读取,如果通讯正常则软件的拓扑图会依次显示网络中能够正常通讯的模块...

    Windows分权限共享文件操作指南

    可以使用"共享文件夹管理"工具,或直接在文件夹上右键点击选择"属性",在"共享"选项卡中设置共享权限。如果需要用户可以编辑内容,应勾选"更改"权限。 8. **给不同电脑设置共享访问** 以电脑1为例,要让用户u001能...

    可视E家手机客户端(WINCE5版)安装使用说明 当前版本为精简存储卡版 ....doc

    - 使用读卡器连接电脑,将安装文件复制到存储卡中。 - 插回存储卡,重启手机系统。 #### 二、安装与运行程序 - **安装步骤**: - 在手机上找到已复制的安装文件“中国电信可视E家WINCE5版.cab”。 - 双击进行...

    ucentre s2520扫描设置.pdf

    新建文件夹的步骤如下: 1. 新建一个文件夹,例如命名为“saomiao”。 2. 右键点击文件夹,选择“属性”。 3. 在“共享”选项卡中,选择“everyone”,然后点击“添加”。 4. 将权限级别改为“读取/写入”,然后...

    马自达悦联系统离线地图升级更新工具

    1. **准备SD卡**:马自达悦联系统的地图数据通常存储在SD卡上。首先,你需要将车载SD卡取出,确保卡内没有重要数据,因为升级过程中可能需要格式化SD卡。 2. **下载更新文件**:访问马自达官方或授权的第三方网站,...

    服务器图片服务器图片服务器图片

    压缩包子文件的文件名称列表中只有一个“新建文件夹”,这也无法提供具体的技术信息。在没有更详细的数据情况下,我无法生成相关的IT知识内容。 通常,关于服务器图片或服务器相关的知识点可能包括但不限于以下内容...

    任务管理器中添加打开进程所在文件夹

    其中,“进程”选项卡显示了所有正在运行的进程,包括它们的CPU、内存、硬盘和网络资源的使用情况。 添加“打开进程所在文件夹”的功能,是为了方便用户在遇到未知或可疑的进程时,能快速定位到该进程的执行文件,...

    详细的 Oracle VirtualBox 虚拟机系统安装.zip

    1. 网络连接方式:在虚拟机设置的“网络”选项卡,可以选择NAT、桥接网卡或内部网络等模式。NAT模式默认提供网络访问,桥接网卡则使虚拟机直接连接到物理网络。 2. 配置IP地址:根据网络模式,可能需要手动配置...

    Windows 8系统中“库”常见问题.docx

    不过,U盘或其他可移动媒体(如CD或DVD)上的文件夹只有在设备连接时才能被包含,而网络文件夹需要被编制索引或设置为脱机可用才能加入库。 6. **无法包含位置提示** 如果收到“无法包含位置,因为没有为该位置...

    怎样给文件夹和文件资料加密码来保护我们的个人信息呢?借鉴.pdf

    在日常生活中,我们经常会将各种重要的文件和资料存储在电脑上。然而,由于许多电脑是家庭成员共同使用的,这就导致了一个问题:如何确保自己的私人文件不被他人轻易查看?针对这一需求,本文将详细介绍几种给文件夹...

    《ES文件管理器》-轻松实现i71S盒子局域网共享.docx

    1. 打开ES文件管理器,找到存储壁纸图片的位置。 2. 选中图片,使用遥控器调出菜单,选择“设置壁纸”。 3. 屏幕上会出现一个小框,使用鼠标调整框的大小,直至铺满整个屏幕。 4. 调整好后,点击“保存”。 #### 四...

Global site tag (gtag.js) - Google Analytics