開始寫程序的時候做好一些裝備工作

1,創建MyApplication繼承Application

package com.examplexiaomo.xiaomo;

import android.R.anim;
import android.app.Application;
import android.content.Context;
import android.os.Handler;

public class MyApplication extends Application {

	//

	private static Context mMainContext;
	private static Handler mMainHandler;
	private static long mMainThread;

	@Override
	public void onCreate() {
		mMainContext = getApplicationContext();// 上下文
		mMainHandler = new Handler();//主線程的handler
		mMainThread = android.os.Process.myTid();// 主線程的ID號
		super.onCreate();

	}

	/**
	 * @return the mMainContext
	 */
	public static Context getMainContext() {
		return mMainContext;
	}

	/**
	 * @param mMainContext the mMainContext to set
	 */
	public static void setMainContext(Context mMainContext) {
		MyApplication.mMainContext = mMainContext;
	}

	/**
	 * @return the mMainHandler
	 */
	public static Handler getMainHandler() {
		return mMainHandler;
	}

	/**
	 * @param mMainHandler the mMainHandler to set
	 */
	public static void setMainHandler(Handler mMainHandler) {
		MyApplication.mMainHandler = mMainHandler;
	}

	/**
	 * @return the mMainThread
	 */
	public static long getMainThread() {
		return mMainThread;
	}

	/**
	 * @param mMainThread the mMainThread to set
	 */
	public static void setMainThread(long mMainThread) {
		MyApplication.mMainThread = mMainThread;
	}

}

2,然後做好一個UIUtiles的工具類:

package com.examplexiaomo.xiaomo.utils;

import com.examplexiaomo.xiaomo.MyApplication;

import android.R.anim;
import android.content.Context;
import android.content.res.Resources;
import android.os.Handler;

public class UIUtils {
	
	/**
	 * 獲取上下文*/
	public   static   Context    getMainContext(){
		return    MyApplication.getMainContext();
	}
	
	/**
	 * 獲取資源*/
	public   static   Resources    getResources(){
		return   getMainContext().getResources();
	}
	
	/**
	 * 獲取*/
	public   static   String     getString(int resId){
		return  getResources().getString(resId);
	}
	
	public   static   String[]   getStringArray(int  resId){
		return   getResources().getStringArray(resId);
	}
	
	public   static   int   getColor( int  resId  ){
		return   getResources().getColor(resId);
	}
	
	/**
	 * 獲取主線程的Handler*/
	public   static  Handler    getMainHandler(){
		return    MyApplication.getMainHandler();
	}
	
	/**
	 * 獲取主線程ID號*/
	public   static  long   getMainThread(){
		return    MyApplication.getMainThread();
	}
	
	/**
	 * 安全的刷新UI操作*/
	public   static   void   postTaskSaftly(Runnable    task){
		 long    currentThread=      android.os.Process.myTid();//當前線程
		 
		 long    mainThread= getMainThread();//主線程
		 
		 if (mainThread==currentThread) {
			task.run();
			 
		}else {
			getMainHandler().post(task);
		}
		 
	}
	  /** 
     * 根據手機的分辨率從 dp 的單位 轉成爲 px(像素) 
     */  
    public static int dip2px(float dpValue) {  
        final float scale = getResources().getDisplayMetrics().density;  
        return (int) (dpValue * scale + 0.5f);  
    }  
  
    /** 
     * 根據手機的分辨率從 px(像素) 的單位 轉成爲 dp 
     */  
    public static int px2dip(float pxValue) {  
        final float scale = getResources().getDisplayMetrics().density;  
        return (int) (pxValue / scale + 0.5f);  
    }  
	
	
	
	
	

}





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章