package com.quark.jianzhidaren; import java.util.Map; import android.app.Application; import android.content.Context; import android.graphics.Bitmap; import android.widget.TextView; import com.android.volley.VolleyLog; import com.baidu.location.BDLocation; import com.baidu.location.LocationClient; import com.easemob.EMCallBack; import com.easemob.chatuidemo.DemoHXSDKHelper; import com.easemob.chatuidemo.domain.User; import com.nostra13.universalimageloader.cache.memory.impl.WeakMemoryCache; 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.qingmu.jianzhidaren.R; import com.quark.model.LoginResponse; import com.quark.utils.ConfigDataUtil; import com.quark.utils.Logger; import com.quark.volley.VolleySington; import com.umeng.analytics.MobclickAgent; /** * Created by Administrator on 10/30 0030. */ public class ApplicationControl extends Application { public LocationClient mLocationClient; public static ApplicationControl instance; public static Context applicationContext; // login user name public final String PREF_USERNAME = "username"; /** * 当前用户nickname,为了苹果推送不是userid而是昵称 */ public static String currentUserNick = ""; public static DemoHXSDKHelper hxSDKHelper = new DemoHXSDKHelper(); // 用户登入后不为null public LoginResponse loginResponse;// 全局用户对象 public boolean isLogin() { if (null == loginResponse) { return false; } return true; } @Override public void onCreate() { super.onCreate(); MobclickAgent.updateOnlineConfig(this);// 友盟数据统计 applicationContext = this; instance = this; ConfigDataUtil.getInstance().init(this); VolleySington.getInstance().init(this); Logger.initProperties(this); VolleyLog.DEBUG = false;// get请求会打印用户的密码 // SDKInitializer.initialize(getApplicationContext()); // 图片缓存处理,ImageLoader初始化 DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder() .showImageForEmptyUri(R.drawable.empty_photo) // 设置图片Uri为空或是错误的时候显示的图片 .showImageOnFail(R.drawable.empty_photo) // 设置图片加载或解码过程中发生错误显示的图片 .cacheInMemory(true) // 设置下载的图片是否缓存在内存中 .cacheOnDisc(true) // 设置下载的图片是否缓存在SD卡中 .bitmapConfig(Bitmap.Config.RGB_565) .imageScaleType(ImageScaleType.IN_SAMPLE_INT) // .displayer(new RoundedBitmapDisplayer(20)) // 设置成圆角图片 // .showStubImage(R.drawable.empty_photo) // 设置图片下载期间显示的图片 .build(); ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder( getApplicationContext()) .memoryCache(new WeakMemoryCache()) // // carson add // .memoryCacheSize(2 * 1024 * 1024) // carson add 缓存到内存最大数据 .discCacheSize(50 * 1024 * 1024) // 缓存到文件最大数据 .discCacheFileCount(100) // 缓存一百张图片 .writeDebugLogs().defaultDisplayImageOptions(defaultOptions) .build(); ImageLoader.getInstance().init(config); hxSDKHelper.onInit(applicationContext); } public static ApplicationControl getInstance() { return instance; } @Override public void onLowMemory() { super.onLowMemory(); if (ConfigDataUtil.getInstance() != null) ConfigDataUtil.getInstance().clearCache(this); } public interface ReceiveLocation { void onReceiveLocation(BDLocation location); } // 环信需要 /** * 获取内存中好友user list * * @return Map<String, User> */ public Map<String, User> getContactList() { return hxSDKHelper.getContactList(); } /** * 设置好友user list到内存中 * * @param contactList Map<String, User> */ public void setContactList(Map<String, User> contactList) { hxSDKHelper.setContactList(contactList); } /** * 获取当前登陆用户名 * * @return String */ public String getUserName() { return hxSDKHelper.getHXId(); } /** * 获取密码 * * @return String */ public String getPassword() { return hxSDKHelper.getPassword(); } /** * 设置用户名 * * @param username String */ public void setUserName(String username) { hxSDKHelper.setHXId(username); } /** * 内部的自动登录需要的密码,已经加密存储了 * @param pwd String */ public void setPassword(String pwd) { hxSDKHelper.setPassword(pwd); } /** * 退出登录,清空数据 */ public void logout(final EMCallBack emCallBack) { // 先调用sdk logout,在清理app中自己的数据 if (hxSDKHelper != null) { hxSDKHelper.logout(emCallBack); } } }