项目演示及讲解
爱奇艺 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);
}
});
}
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。