package com.linju.android_property.base; import com.nostra13.universalimageloader.core.ImageLoader; import android.app.Application; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; /** * 重写application类 一些初始化的操作在该类中做 整合RoboGuice ImageLoader * @author LT * 未完成:异常信息邮件发送 推送等 */ public abstract class BaseApplication extends Application { public static BaseApplication baseApplication; // 应用名 public static String mAppName; // 应用下载文件存储路径:"/" + mAppName + "/appdownload" public static String mAppDownloads; // 应用缓存数据路径:Environment.getExternalStorageDirectory().getPath() + "/" + // mAppName + "/config/ public static String mSdcardCache; // 应用图片缓存数据路径:Environment.getExternalStorageDirectory().getPath() + "/" + // mAppName + "/config/ + ""imageCache/ public static String mSdcardImageCache; //拍照后的图像文件夹 public static String mSdcardImageCamera; // 当前应用版本号 public static int mVersionCode; // 当前应用版本名称 public static String mVersionName; // 语言 中文为zh,英文为en,日文为ko public static String language; // 应用preference名 public static String PREFERENCE_NAME; // 数据库 public static String DATABASE_NAME; // debuge public static boolean debuggable = true; // 加载网络图片库 public static ImageLoader imageloader; @Override public void onCreate() { super.onCreate(); // 获取加载图片的实例 // imageloader = imageloader.getInstance(); baseApplication = this; initDB(); initEnv(); initLocalVersion(); initImageLoad(); } // 获取上下文 public static Context getContext() { return baseApplication; } // 初始化本地版本信息 public void initLocalVersion() { PackageInfo info; try { // 该方法获取的AndroidManifest.xml中的android:versionCode="1" // android:versionName="1.0" info = this.getPackageManager().getPackageInfo( this.getPackageName(), PackageManager.GET_CONFIGURATIONS); mVersionCode = info.versionCode; // 版本code mVersionName = info.versionName; // 版本名 } catch (Exception e) { e.printStackTrace(); } } // 初始化数据库 public abstract void initDB(); // 初始化一些其他的操作 比如系统语言 文件夹的创建 public abstract void initEnv(); // 加载图片的一些配置 初始化在继承该类后再执行appapplication 实现在方法主要是设置自定义的缓存目录 public abstract void initImageLoad(); }