中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

單例模式在android中的應用

發布時間:2020-07-29 08:56:05 來源:網絡 閱讀:681 作者:鄭傳余 欄目:移動開發

項目演示及講解 

愛奇藝  http://www.iqiyi.com/w_19rtfb03pp.html

土豆 http://www.tudou.com/programs/view/M1R6cIW15DY/

項目下載

http://download.csdn.net/detail/u010134178/9052163

什么是單例模式

百度“java 單例”

以下是通過一個簡單的列子來說明它的用戶,別看這簡單的例子,在公司項目里這可是最基本的呀

1、一個圖片池類

public class ImagePool {

	private static Context mContext;

	private static Bitmap mBitmap;

	private static ImagePool mInstance;

	public ImagePool(Context context) {
		mContext = context;
		mBitmap = BitmapFactory.decodeStream(context.getResources()
				.openRawResource(R.drawable.zheng));
	}

	public static ImagePool getInstance(Context context) {
		if (null == mInstance) {
			mInstance = new ImagePool(context);
		}
		return mInstance;
	}

	public static ImagePool getInstance() {
		return mInstance;
	}

	/**
	 * 外部數據接口
	 * 
	 * @return
	 */
	public Bitmap getBitmap() {
		return mBitmap;
	}

	/**
	 * 設置
	 * 
	 * @return
	 */
	public void setBitmap(int id) {
		mBitmap = BitmapFactory.decodeStream(mContext.getResources()
				.openRawResource(id));
	}

}

一個Applaction層的全局變量

public class MyApplication extends Application{

	@Override
	public void onCreate() {
		super.onCreate();
		//init
		ImagePool.getInstance(getApplicationContext());
	}

}

在業務中的基本用法

public class MainActivity extends Activity {  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
  
        final ImageView p_w_picpath = (ImageView) findViewById(R.id.p_w_picpathId);  
        Button change = (Button) findViewById(R.id.changeId);  
        Button start = (Button) findViewById(R.id.startId);  
  
        Drawable drawable = new BitmapDrawable(ImagePool.getInstance()  
                .getBitmap());  
        p_w_picpath.setBackgroundDrawable(drawable);  
  
        change.setOnClickListener(new OnClickListener() {  
            @Override  
            public void onClick(View v) {  
                ImagePool.getInstance().setBitmap(R.drawable.chuan);  
                Drawable drawable = new BitmapDrawable(ImagePool.getInstance()  
                        .getBitmap());  
                p_w_picpath.setBackgroundDrawable(drawable);  
            }  
        });  
  
        start.setOnClickListener(new OnClickListener() {  
            @Override  
            public void onClick(View v) {  
                Intent intent = new Intent(MainActivity.this,  
                        OtherActivity.class);  
                startActivity(intent);  
            }  
        });  
  
    }  
  
}

好了,其實就這么簡單。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

滨海县| 沙雅县| 阳信县| 陕西省| 绿春县| 江门市| 普兰店市| 泾源县| 荣昌县| 舟山市| 乌拉特中旗| 池州市| 林周县| 安平县| 孟津县| 南充市| 巩留县| 克拉玛依市| 通化县| 新建县| 石狮市| 十堰市| 绩溪县| 东港市| 叶城县| 千阳县| 灵川县| 临武县| 潜山县| 涞源县| 忻城县| 龙海市| 武清区| 琼海市| 木兰县| 阆中市| 双城市| 中牟县| 大厂| 肇源县| 儋州市|