package coolbuy360.service; import java.util.LinkedList; import java.util.List; import org.apache.http.HttpVersion; import org.apache.http.client.HttpClient; import org.apache.http.conn.ClientConnectionManager; import org.apache.http.conn.scheme.PlainSocketFactory; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.scheme.SchemeRegistry; import org.apache.http.conn.ssl.SSLSocketFactory; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.apache.http.params.HttpProtocolParams; import org.apache.http.protocol.HTTP; import android.app.Activity; import android.app.NotificationManager; import android.content.Context; import android.util.Log; import android.widget.Toast; import com.baidu.mapapi.BMapManager; import com.baidu.mapapi.MKGeneralListener; import com.baidu.mapapi.map.MKEvent; import coolbuy360.log.CrashHandler; import coolbuy360.logic.AppConfig; import coolbuy360.logic.NoticeStateConfig; import coolbuy360.logic.User; import com.baidu.frontia.FrontiaApplication; public class searchApp extends FrontiaApplication { /* public class searchApp extends Application { */ private static searchApp mInstance = null; //����΢����Ȩkey public static final String CONSUMER_KEY = "4240941240";// �滻Ϊ�����ߵ�appkey������"1646212860"; public static final String REDIRECT_URL = "http://www.sina.com.cn"; public static final String ACCESS_TOKEN = "2.00opZdgDEYYAdE012f1f81fdxenZqB"; //ͼƬ��·��app.wcjk100.com/app/drugimg/real/hight/200_200|1280_800 // /low/200_200|1280_800 public static final String Drug_Img_Path_H_S ="http://app.wcjk100.com/app/drugimg/high/200_200/"; public static final String Drug_Img_Path_H_B ="http://app.wcjk100.com/app/drugimg/high/1280_800/"; public static final String Drug_Img_Path_L_S ="http://app.wcjk100.com/app/drugimg/low/200_200/"; public static final String Drug_Img_Path_L_B ="http://app.wcjk100.com/app/drugimg/low/1280_800/"; public static final String Promotion_Img_Path_H ="http://app.wcjk100.com/app/promotionimg/high/960_360/"; public static final String Promotion_Img_Path_L ="http://app.wcjk100.com/app/promotionimg/low/960_360/"; public static final String News_Img_Path_H ="http://app.wcjk100.com/app/subjectimg/high/960_360/"; public static final String News_Img_Path_L ="http://app.wcjk100.com/app/subjectimg/low/960_360/"; public static final String News_Img_Path_L_S ="http://app.wcjk100.com/app/subjectimg/low/300_300/"; /*���Ե�ַ*/ /*public static final String Promotion_Img_Path_H ="http://192.168.1.150/promotionimg/high/960_360/"; public static final String Promotion_Img_Path_L ="http://192.168.1.150/promotionimg/low/960_360/";*/ public static String autoischeck="false";//�ж��Ƿ����Զ��Ż� public static String Img_Quality="low";//�ж�������ͼƬ������ public static int Net_Type=0; // ��ȨKey // �����ַ��http://developer.baidu.com/map/android-mobile-apply-key.htm // �ٶ�MapAPI�Ĺ����� public BMapManager mBMapManager = null; // ��ȨKey��ȷ����֤ͨ�� public boolean m_bKeyRight = true; private HttpClient httpClient; public static LocationProvider mLocationProvider = null; @Override public void onCreate() { //super.onCreate(); mInstance = this; mLocationProvider = new LocationProvider(this); mLocationProvider.startLocation(); initEngineManager(this); // ������־���ɷ��� /*Intent logServiceIntent = new Intent(getApplicationContext(), LogService.class); startService(logServiceIntent);*/ Log.v("searchHealthAPP", "onCreate"); httpClient = this.createHttpClient(); // ��ʼ���û������ļ� initUserConfig(); //��ʼ��AppConfig initAppConfig(); //��ʼ��֪ͨ״̬ initNoticeStateConfig(); // ��ʼ��httpClient //Log.i("chenlinwei", this.getFilesDir() + ""); //�뽫���̵� Application ��̳� FrontiaApplication �࣬�� onCreate �����м���: super.onCreate()���������� super.onCreate();// // �����쳣�������� CrashHandler crashHandler = CrashHandler.getInstance(); crashHandler.init(getApplicationContext()); } // �����¼���������������ͨ�������������Ȩ��֤����� public static class MyGeneralListener implements MKGeneralListener { @Override public void onGetNetworkState(int iError) { if (iError == MKEvent.ERROR_NETWORK_CONNECT) { Toast.makeText(searchApp.getInstance().getApplicationContext(), "���������������", Toast.LENGTH_LONG).show(); } else if (iError == MKEvent.ERROR_NETWORK_DATA) { Toast.makeText(searchApp.getInstance().getApplicationContext(), "������ȷ�ļ���������", Toast.LENGTH_LONG).show(); } // ... } @Override public void onGetPermissionState(int iError) { //����ֵ��ʾkey��֤δͨ�� if (iError != 0) { //��ȨKey���� /*Toast.makeText(searchApp.getInstance().getApplicationContext(), "����������ȷ����ȨKey,������������������Ƿ�������error: "+iError, Toast.LENGTH_LONG).show();*/ searchApp.getInstance().m_bKeyRight = false; } else{ searchApp.getInstance().m_bKeyRight = true; /*Toast.makeText(searchApp.getInstance().getApplicationContext(), "key��֤�ɹ�", Toast.LENGTH_LONG).show();*/ } } } @Override // ��������app���˳�֮ǰ����mapadpi��destroy()�����������ظ���ʼ��������ʱ������ public void onTerminate() { // TODO Auto-generated method stub if (mBMapManager != null) { mBMapManager.destroy(); mBMapManager = null; } if(mLocationProvider !=null){ mLocationProvider.stopListener(); } super.onTerminate(); } /** * ��ʼ���û������ļ� */ public void initUserConfig() { // Toast.makeText(getBaseContext(), "�Զ���¼", 1).show(); User.initialization(getBaseContext()); } public void initAppConfig() { AppConfig appconfig=new AppConfig(getBaseContext()); autoischeck=appconfig.getValue("Is_2G3G_AutoLoadImage"); Img_Quality=appconfig.getValue("Img_Quality");//ͼƬ�������� Net_Type=Util.getConnectedType(getBaseContext()); } public void initNoticeStateConfig() { NoticeStateConfig noticestateconfig = new NoticeStateConfig( getBaseContext()); } @Override public void onLowMemory() { super.onLowMemory(); this.shutdownHttpClient(); } // �ر����ӹ��������ͷ���Դ private void shutdownHttpClient() { if (httpClient != null && httpClient.getConnectionManager() != null) { httpClient.getConnectionManager().shutdown(); } } // ����HttpClientʵ�� private HttpClient createHttpClient() { HttpParams params = new BasicHttpParams(); HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1); HttpProtocolParams.setContentCharset(params, HTTP.DEFAULT_CONTENT_CHARSET); HttpProtocolParams.setUseExpectContinue(params, true); HttpConnectionParams.setConnectionTimeout(params, 20 * 1000); HttpConnectionParams.setSoTimeout(params, 20 * 1000); HttpConnectionParams.setSocketBufferSize(params, 8192); SchemeRegistry schReg = new SchemeRegistry(); schReg.register(new Scheme("http", PlainSocketFactory .getSocketFactory(), 80)); schReg.register(new Scheme("https", SSLSocketFactory.getSocketFactory(), 443)); ClientConnectionManager connMgr = new ThreadSafeClientConnManager( params, schReg); return new DefaultHttpClient(connMgr, params); } // �����ṩHttpClientʵ�� public HttpClient getHttpClient() { return httpClient; } // �����˳��ķ��� private List<Activity> activityList = new LinkedList<Activity>(); // ����ģʽ�л�ȡΨһ��MyApplicationʵ�� public static searchApp getInstance() { if (mInstance == null) { mInstance = new searchApp(); } return mInstance; } // ���Activity�������� public void addActivity(Activity activity) { activityList.add(activity); } public void exitObject(String className) { for (Activity activity : activityList) { // if(activity.getClass().equals()) if (activity.getClass().getName().equals(className)) { activity.finish(); } } } public void exit() { // �˳�ʱ���֪ͨ�� NotificationManager nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); nm.cancelAll(); // ��������Activity��finish for (Activity activity : activityList) { activity.finish(); } if (mBMapManager != null) { mBMapManager.destroy(); mBMapManager = null; } if(mLocationProvider !=null){ mLocationProvider.stopListener(); } System.exit(0); } public void initEngineManager(Context context) { if (mBMapManager == null) { mBMapManager = new BMapManager(context); } if (!mBMapManager.init(new MyGeneralListener())) { Toast.makeText(searchApp.getInstance().getApplicationContext(), "BMapManager ��ʼ������!", Toast.LENGTH_LONG).show(); } } }