package com.jmheart.base; import java.util.ArrayList; import java.util.Properties; import android.app.Activity; import android.app.Application; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.graphics.Bitmap; import android.os.Handler; import com.jmheart.R; import com.jmheart.abnormal.CrashHandler; import com.jmheart.net.ApiHttpClient; import com.jmheart.tools.DataCleanManager; import com.loopj.android.http.AsyncHttpClient; import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import com.nostra13.universalimageloader.core.assist.QueueProcessingType; import com.nostra13.universalimageloader.core.display.SimpleBitmapDisplayer; public class BaseApplication extends Application { public static final String TAG = "BaseApplication"; /** * ����ģʽ */ public static boolean islog=true; /** * �������� */ public static String HOST="http://wx.zgcainiao.com"; /** * �ӿڵ�ַ */ public static String API_URL="http://wx.zgcainiao.com/index.php/shop/"; /* * ͼƬ���� */ public static DisplayImageOptions options ; public static ImageLoader imageLoader; /** * FuBaoApplicationʵ�� ����ģʽ */ private static BaseApplication INSTANCE; public static void setInstance(BaseApplication i) { INSTANCE = i; } public static BaseApplication getInstance() { return INSTANCE; } public ArrayList<Activity> activities = new ArrayList<Activity>(); /** * �˳����е�Activity */ public void exitSystem() { for (Activity activity : activities) { activity.finish(); } // ��Ӧ��ȫ���ˣ��ڳ����б����������ִ��applicatin.onCreate() System.exit(0); } @Override public void onCreate() { // TODO Auto-generated method stub super.onCreate(); setInstance(this); appinitImageLoader(getApplicationContext()); CrashHandler handler = new CrashHandler(); handler.init(getApplicationContext()); Thread.setDefaultUncaughtExceptionHandler(handler); // ��ʼ���������� AsyncHttpClient client = new AsyncHttpClient(); ApiHttpClient.setHttpClient(client); } /** * ��ȡ��ǰӦ�õİ汾�� * * @param context * @return */ public String getVersionCode(Context context) { try { PackageManager packageManager = getPackageManager(); // getPackageName()���㵱ǰ��İ�����0�����ǻ�ȡ�汾��Ϣ PackageInfo packInfo = packageManager.getPackageInfo( getPackageName(), 0); String version = packInfo.versionName; return version; } catch (Exception e) { e.printStackTrace(); return null; } } /** * @param context * ͼƬ���� */ public static void appinitImageLoader(Context context) { // This configuration tuning is custom. You can tune every option, you may tune some of them, // or you can create default configuration by // ImageLoaderConfiguration.createDefault(this); // method. ImageLoaderConfiguration.Builder config = new ImageLoaderConfiguration.Builder(context); config.threadPriority(Thread.NORM_PRIORITY - 2); config.denyCacheImageMultipleSizesInMemory(); config.diskCacheFileNameGenerator(new Md5FileNameGenerator()); config.diskCacheSize(50 * 1024 * 1024); // 50 MiB config.tasksProcessingOrder(QueueProcessingType.LIFO); config.writeDebugLogs(); // Remove for release app // Initialize ImageLoader with configuration. imageLoader=ImageLoader.getInstance();imageLoader.init(config.build()); initImage(); } public static void initImage() { options = new DisplayImageOptions.Builder() .showImageForEmptyUri(R.drawable.ic_error) // empty URIʱ��ʾ��ͼƬ .showImageOnFail(R.drawable.ic_error) // ����ͼƬ�ļ� ��ʾͼƬ .resetViewBeforeLoading(false) // default .delayBeforeLoading(1000) .cacheInMemory(false) // default ���������ڴ� .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2)// default .bitmapConfig(Bitmap.Config.ARGB_8888) .displayer(new SimpleBitmapDisplayer()) // default �������ö���������Բ�ǻ��߽��� .handler(new Handler()) // default .build(); } }