数据储存之SQLite(单例模式).docx
上传人:qw****27 上传时间:2024-09-11 格式:DOCX 页数:8 大小:47KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

数据储存之SQLite(单例模式).docx

数据储存之SQLite(单例模式).docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

HYPERLINK"http://blog.csdn.net/qq435757399/article/details/8017657"数据储存之SQLite(单例模式)1.SQLite数据库简介在某些情况下,文件不是有效的如果多线程数据访问是相关的如果应用程序处理可能变化的复杂数据结构等等因此,Android带来了内置SQLite数据库支持数据库对于创建它们的包套件是私有的数据库不应该用来存贮文件提示:在SDK中的samples/NotePad下可以找到关于如何使用数据库的例子SQLite是一个轻量级的软件库实现了一个完全适应严峻环境的数据库原子量性坚固性独立性耐久性体积大小只用几千字节一些SQL的指令只是部分支持,例如:ALTER、TABLE参阅http://www.sqlite.org获取更多信息2.单例模式简介单例模式(singleton)顾名思义,就是只有一个实例。HYPERLINK"http://baike.baidu.com/albums/1859857/1859857/0/0.html"\l"0$08b68e521a11d5170cf3e3ea"\o"查看图片"\t"_blank"作为对象的创建模式[GOF95],单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。单例模式在Java中的使用,Java中单例模式实例:Java中的单例模式在java中,可以使用以下这种方式使用单例模式创建类的实例:publicclassMyBean{privatestaticMyBeaninstance=null;//构造方法权限为privateprivateMyBean(){//dosomething}//在程序中可以直接使用MyBean.getInstance()获得MyBean的实例publicstaticsynchronizedMyBeangetInstance(){if(instance==null){instance=newMyBean();}returninstance;}}3.SQLite继承SQLiteOpenHelper类单例模式的实现:publicclassDBHelperextendsSQLiteOpenHelper{privatefinalstaticStringDB_NAME="my_info";privatefinalstaticintVERSION=1;privatestaticDBHelperinstance=null;publicstaticDBHelpergetInstance(Contextcontext){if(instance==null){instance=newDBHelper(context);}returninstance;}privateDBHelper(Contextcontext){super(context,DB_NAME,null,VERSION);}........}4.建表语句在onCreate()方法中的实现:@OverridepublicvoidonCreate(SQLiteDatabasedb){//TODOAuto-generatedmethodstub//建表语句直接使用db.execSQL(Stringsql)方法执行SQL建表语句StringcreateTable="createtableuser(idintegerprimarykey,nametext,ageinteger);";db.execSQL(createTable);}5.SQLite增删改查的实现publicstaticvoidinsertInfo(Contextcontext,Infoinfo){SQLiteDatabasedb=DBHelper.getInstance(context).getWritableDatabase();ContentValuesvalues=newContentValues();values.put("name",info.getName());values.put("age",info.getAge());db.insert("user",null,values);db.close();}//删除信息publicstaticvoiddeleteInfo(Contextcontext,intid){SQLiteDatabasedb=DBHelper.getInstance(context).getWritableDatab