Chinaunix首页 | 论坛 | 博客
  • 博客访问: 9636647
  • 博文数量: 1293
  • 博客积分: 13501
  • 博客等级: 上将
  • 技术积分: 17974
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 18:11
文章分类

全部博文(1293)

文章存档

2019年(1)

2018年(1)

2016年(118)

2015年(257)

2014年(128)

2013年(222)

2012年(229)

2011年(337)

分类: Android平台

2015-02-16 23:59:09

    SQLITE数据库的使用是Android单例模式典型的应用场景。

单例模式好处:

    将对象写成static,避免内存频繁实例化,因此对象在静态内存区只有一份。直接使用getInstance()取得对象。

模型类

  1. public class DatabaseHelper extends SQLiteOpenHelper

  2.     private static DatabaseHelper mInstance = null;
  3.  
  4.     /** 单例模式 **/
  5.     static synchronized DatabaseHelper getInstance(Context context)
  6.     {
  7.         if (mInstance == null)
  8.         {
  9.             mInstance = new DatabaseHelper(context);
  10.         }
  11.         return mInstance;
  12.     }


    以静态方式定义的对象,可以在其它类中直接调用。例如,假定一个应用类:

  1. public class Newdate extends Activity

  2.     private DatabaseHelper mDbHelper;
  3.     private void initParam()
  4.     {
  5.         mDbHelper = DatabaseHelper.getInstance(this);
  6.     }


    这里涉及一个JAVA的关键字synchronized ,见Android栏关键字项中对相关文章对它的分析。

阅读(1666) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~