Android 通过开源框架实现加载网络图片并下载到SD卡通知系统相册显示,(并实现分享图片功能)

首先看下本 demo实现的功能

1:实现网络图片的加载显示
2:点击图片底部弹出popupwindow
3:点击分享 实现单个图片分享到:微信,朋友圈,QQ,QQ控件(调用系统)
4:点击下载 实现图片的下载 ,并通知系统相册进行更新

调用开源框架:ImageLoader  (实现图片的加载) 使用githup共享的开源代码实现系统分享的改写
githup 上的连接记不太清了 等下会放出源码  就一个工具类的代码。有兴趣的可以去研究研究

项目里注释写的挺详细的 ,不说废话了直接上代码 :


imageloader配置  
package com.example.downloaddemo;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

import android.app.Application;
import android.app.Service;
import android.content.Context;
import android.graphics.Bitmap.CompressFormat;
import android.os.Vibrator;

import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.cache.memory.impl.UsingFreqLimitedMemoryCache;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;
import com.nostra13.universalimageloader.utils.StorageUtils;

/**
 * Application
 */
public class LocationApplication extends Application {
	public static ImageLoader imageLoader;

	@Override
	public void onCreate() {
		super.onCreate();
		File cacheDir = StorageUtils.getOwnCacheDirectory(
				getApplicationContext(), "imageloader/hire/Cache");
		imageLoader = ImageLoader.getInstance();
		ImageLoaderConfiguration config3 = new ImageLoaderConfiguration.Builder(
				getApplicationContext())
				.memoryCacheExtraOptions(480, 800)
				// max width, max height即每个缓存文件最大长 .discCacheExtraOptions(480,
				// 800, CompressFormat.JPEG, 75, null) // Can slow ImageLoader,
				// use it carefully (Better don't use it)/设置缓存详细信息不要设置
				.threadPoolSize(3)
				// 线程池内加载的数 .threadPriority(Thread.NORM_PRIORITY - 2)
				.denyCacheImageMultipleSizesInMemory()
				.memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024))
				// You can pass your own memory cache
				// implementation//你可通过自己的内存缓存实 .memoryCacheSize(2 * 1024 *
				// 1024)
				.discCacheSize(50 * 1024 * 1024)
				.discCacheFileNameGenerator(new Md5FileNameGenerator())
				// 将保存的url名称用MD5加密
				.tasksProcessingOrder(QueueProcessingType.FIFO)
				.discCacheFileCount(100) // 缓存文件数量
				.discCache(new UnlimitedDiscCache(cacheDir))// 文件储存路径
				.defaultDisplayImageOptions(DisplayImageOptions.createSimple())
				.imageDownloader(
						new BaseImageDownloader(getApplicationContext(),
								5 * 1000, 30 * 1000)) // connectTimeout (5 s),
														// readTimeout (30
														// s)超时时间
				.writeDebugLogs() // Remove for release app
				.build();
		// Initialize ImageLoader with configuration.
		imageLoader.init(config3);
	}
}

封装好的分享工具类:

pack
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值