欢迎来到天天文库
浏览记录
ID:33929787
大小:204.05 KB
页数:6页
时间:2019-02-28
《【android开发wiki】进阶篇添加搜索功能-adding search functionality(二):数据的存储和检索》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、eoe移动开发者社区http://www.eoe.cn/原文链接:http://docs.eoeandroid.com/training/search/search.html有许多方法来存储你的数据,比如用在线数据库,本地SQLite数据库或者甚至是在一个文本文档中。具体哪种方案最适合你的程序,这取决于你。本节课讲解如何创建一个能提供强大的全文搜索功能的SQLite虚拟表。该表被一个文本文档中的数据所填充,而该文档每一行中都包含一个单字-定义对。创建虚拟表一个虚拟表很像SQLite表,但却是从内存中读写一个对象,而非通过数据库文件。为了建立一个虚拟表,需要为这个表创建一个类:1
2、.publicclassDatabaseTable{2.privatefinalDatabaseOpenHelpermDatabaseOpenHelper;3.4.publicDatabaseTable(Contextcontext){5.mDatabaseOpenHelper=newDatabaseOpenHelper(context);6.}7.}在*DatabaseTable_'中创建一个内部类,并且该内部类须继承'''SQLiteOpenHelper'''。'_SQLiteOpenHelper*类定义了一些抽象方法,而你必须重写他们以便让你的数据库表在需要的时候能够创建
3、和升级。例如如下的代码,声明了一个存有字典应用所需单词的数据表:1.publicclassDatabaseTable{2.3.privatestaticfinalStringTAG="DictionaryDatabase";4.5.//在字典表中包含的字段6.publicstaticfinalStringCOL_WORD="WORD";7.publicstaticfinalStringCOL_DEFINITION="DEFINITION";8.9.privatestaticfinalStringDATABASE_NAME="DICTIONARY";10.privatestati
4、cfinalStringFTS_VIRTUAL_TABLE="FTS";11.privatestaticfinalintDATABASE_VERSION=1;12.13.privatefinalDatabaseOpenHelpermDatabaseOpenHelper;eoe移动开发者社区http://www.eoe.cn/14.15.publicDatabaseTable(Contextcontext){16.mDatabaseOpenHelper=newDatabaseOpenHelper(context);17.}18.19.privatestaticclassDatab
5、aseOpenHelperextendsSQLiteOpenHelper{20.21.privatefinalContextmHelperContext;22.privateSQLiteDatabasemDatabase;23.24.privatestaticfinalStringFTS_TABLE_CREATE=25."CREATEVIRTUALTABLE"+FTS_VIRTUAL_TABLE+26."USINGfts3("+27.COL_WORD+","+28.COL_DEFINITION+")";29.30.DatabaseOpenHelper(Contextcontex
6、t){31.super(context,DATABASE_NAME,null,DATABASE_VERSION);32.mHelperContext=context;33.}34.35.@Override36.publicvoidonCreate(SQLiteDatabasedb){37.mDatabase=db;38.mDatabase.execSQL(FTS_TABLE_CREATE);39.}40.41.@Override42.publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){43.Log.
7、w(TAG,"Upgradingdatabasefromversion"+oldVersion+"to"eoe移动开发者社区http://www.eoe.cn/44.+newVersion+",whichwilldestroyallolddata");45.db.execSQL("DROPTABLEIFEXISTS"+FTS_VIRTUAL_TABLE);46.onCreate(db);47.}48.}49.}填充虚拟表现在这个表需要保存。以下的代码演示了如何读取一个包含了单词和它们的释义的
此文档下载收益归作者所有