private static MyAppMarketApplication myAppMarketApplication;
//得到代表我们的应用程序的类,使用它可以获得当前应用的主题和资源文件以及最常用的上下文
private static int mainTid;
//得到主线程pid
private static Handler handler;
//得到UI线程handler,用来进行Handler消息或者线程池操作
@Override
public void onCreate() {
super.onCreate();
myAppMarketApplication = this;
mainTid = android.os.Process.myTid();
handler=new Handler();
}
public synchronized static Context getApplication(){
return myAppMarketApplication;
}
public static int getMainTid() {
return mainTid;
}
public static Handler getHandler() {
return handler;
}
包装工具类
public class Utils {
public static String[] getStringArray(int tabName){
return MyAppMarketApplication.getApplication().getResources().getStringArray(tabName);
}
//返回资源文件的字符串或者其他路径下资源等
public static Context getContext(){
return MyAppMarketApplication.getApplication();
}
//可以返回Android的Context
/**
* 把Runnable 方法提交到主线程运行,扩展Activity的runOnUiThread
* @param runnable
*/
public static void runOnUiThread(Runnable runnable) {
// 在主线程运行
if(android.os.Process.myTid()==MyAppMarketApplication.getMainTid()){
runnable.run();
}else{
//获取handler,发送到主线程
MyAppMarketApplication.getHandler().post(runnable);
}
}
}