Android项目工具类之Application


    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);
        }
    }
}

你可能感兴趣的:(Android开发)