package com.michael.doubanonline; import java.io.File; import android.app.Application; import android.graphics.Bitmap.CompressFormat; import android.os.Environment; import com.loopj.android.http.PersistentCookieStore; import com.michael.doubanonline.util.L; import com.michael.doubanonline.util.VersionUtil; import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiscCache; import com.nostra13.universalimageloader.cache.memory.impl.WeakMemoryCache; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import com.nostra13.universalimageloader.core.download.URLConnectionImageDownloader; import com.nostra13.universalimageloader.utils.StorageUtils; /** * 整个应用程序的配置 * * @author Michael * */ public class MyApplication extends Application { /** 服务器异常提醒的内容 */ public static String SERVER_ERROR = "服务器异常"; /** 服务器正常的状态码 */ public static int SUCCESS = 200; /** IP地址 */ public static String IP = "https://api.douban.com/v2/"; /** apikey */ public static String apikey = "0e4b060dd9b8b2382ae112298d2a16a8"; /** context */ public static MyApplication applicationContext; /** 应用程序是否在运行 */ public boolean APP_RUNNING = false; /** Cookie */ public static PersistentCookieStore myCookieStore; /** 图片下载器 */ public static ImageLoader imageLoader; /** 当前Apk的版本号 */ public static int VERSION_CODE = 0; /** 下载的图片保存的路径*/ public static final String ImageSavePath = Environment.getExternalStorageDirectory().getPath()+"/豆瓣Online/"; /** 全局实例*/ private static MyApplication instance; public static MyApplication getInstance() { return instance; } /** * 由于百度Api库的原因,这个方法会被调用两次 * * */ @Override public void onCreate() { super.onCreate(); applicationContext = this; instance = this; APP_RUNNING = true; VERSION_CODE = VersionUtil.getVersionCode(); myCookieStore = new PersistentCookieStore(MyApplication.applicationContext); iniImageLoader(); L.isDebug = true;//是否开启日志调试。发布的时候需要关闭 } public static ImageLoader getImageLoader() { return imageLoader; } /** * http://seniorzhai.github.io/2014/10/14/UIL%E5%9B%BE%E7%89%87%E5%BC%82%E6%AD%A5%E5%8A%A0%E8%BD%BD%E5%BA%93%E7%9A%84%E4%BD%BF%E7%94%A8/ * */ private void iniImageLoader() { File cacheDir = StorageUtils.getOwnCacheDirectory(getApplicationContext(),"doubanonlineimageloader/Cache"); ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()) .memoryCache(new WeakMemoryCache()) .denyCacheImageMultipleSizesInMemory() .offOutOfMemoryHandling() .discCacheExtraOptions(720, 480, CompressFormat.JPEG, 75) .discCache(new UnlimitedDiscCache(cacheDir)) .imageDownloader(new URLConnectionImageDownloader(120 * 1000, 120 * 1000)) .enableLogging() .build(); ImageLoader.getInstance().init(config); imageLoader = ImageLoader.getInstance(); } }