SQLITE数据库的使用是Android单例模式典型的应用场景。
单例模式好处:
将对象写成static,避免内存频繁实例化,因此对象在静态内存区只有一份。直接使用getInstance()取得对象。
模型类
- public class DatabaseHelper extends SQLiteOpenHelper
- {
- private static DatabaseHelper mInstance = null;
-
- /** 单例模式 **/
- static synchronized DatabaseHelper getInstance(Context context)
- {
- if (mInstance == null)
- {
- mInstance = new DatabaseHelper(context);
- }
- return mInstance;
- }
- }
以静态方式定义的对象,可以在其它类中直接调用。例如,假定一个应用类:
- public class Newdate extends Activity
- {
- private DatabaseHelper mDbHelper;
- private void initParam()
- {
- mDbHelper = DatabaseHelper.getInstance(this);
- }
- }
这里涉及一个JAVA的关键字synchronized ,见Android栏关键字项中对相关文章对它的分析。