李 順
沈陽廣播電視大學(xué) (沈陽 110003)
在Android 平臺(tái)下用Java編寫一個(gè)拼寫檢查工具,幫助人們來檢查文件中的拼寫錯(cuò)誤。用戶將文件導(dǎo)入該工具即可,在該工具中進(jìn)行拼寫檢查,將錯(cuò)誤標(biāo)出并給出相應(yīng)的可能正確的拼寫建議,方便用戶檢查文件是否有拼寫錯(cuò)誤。
在Windows操作系統(tǒng)下搭建Android平臺(tái),在搭建好的Android平臺(tái)上模擬實(shí)現(xiàn)與Word類似的拼寫檢查工具。開發(fā)語言選用Java,采用Eclipse、ADT、SDK等工具進(jìn)行開發(fā)。涉及到的數(shù)據(jù)庫使用了占用空間較小的Sqlite數(shù)據(jù)庫。
為用戶提供一個(gè)拼寫檢查工具,在翻譯結(jié)果提交過程中,進(jìn)行全面精確的拼寫校對(duì)分析(解析),通過一系列試探(模式匹配)來標(biāo)記錯(cuò)誤,拼寫校對(duì)一些英文資料。所涉及到的關(guān)鍵問題及關(guān)鍵技術(shù)如下。
將文件導(dǎo)入工具的時(shí)候,系統(tǒng)默認(rèn)是到模擬器的內(nèi)存中去尋找而不是到實(shí)體機(jī)中的路徑去尋找,這樣就需要將文件提前放到模擬器中!放在模擬器中的位置也有不同,在raw文件夾中,任何文件的大小不允許超過1M,所以如果文件過大就需要放在模擬的SD卡中,SD是沒有大小要求的!
當(dāng)處理完文檔后需要保存的時(shí)候,文件的保存位置需要注意,raw是模擬器啟動(dòng)時(shí)讀取的文件,之后的操作中不會(huì)再使用,所以保存時(shí)不能將修改后的文檔保存在raw文件夾當(dāng)中,于是要保存的文件也只能放在SD卡中。
很多的內(nèi)容都是要放在SD卡中的,導(dǎo)入需要在SD卡中讀取源文件,保存又會(huì)將修改后的文件保存在SD卡中,于是SD卡的建立是必需的。SD卡的建立有2種方法。
自定義一個(gè)大小,由系統(tǒng)來完成該模擬器虛擬SD卡的創(chuàng)建,創(chuàng)建完成后,啟動(dòng)該模擬器,打開eclipse的DDMS——>File-Explorer看到如下的目錄結(jié)構(gòu)這就是創(chuàng)建的SD卡文件夾了。
通過Android的Tools來創(chuàng)建SD卡并導(dǎo)入進(jìn)來:
(1)打開dos,轉(zhuǎn)換到你的sdk安裝包的tools目錄下,例如:目錄如下:C:Androidandroid sdk ools;
(2)創(chuàng)建SD卡,在命令行中輸入:mksdcard 1024M C:androidsdcard.img ;
(3)在eclipse里面創(chuàng)建模擬器,并以該sd卡來創(chuàng)建;
(4)創(chuàng)建完成之后,啟動(dòng)該模擬器,可以在Android SDK and AVD Manager里面指定模擬器并啟動(dòng);
(5)同樣打 開 eclipse的 DDMS— —>File-Explorer。
分別針對(duì)語音匹配算法(Metaphone)和字串相似性算法(Levenshtein)做詳細(xì)的分析。結(jié)合兩種算法形成本工具所應(yīng)用的拼寫檢查算法。
1.3.1 語音匹配算法
語音匹配算法(Metaphone)是根據(jù)發(fā)音的特點(diǎn)來檢索單詞的算法。
字串相似性算法(Levenshtein)就是根據(jù)錯(cuò)誤單詞與詞庫中單詞的相似程度,來給出拼寫建議的算法。
在具體實(shí)驗(yàn)過程中,基于兩種算法的比較,發(fā)現(xiàn)語音匹配算法的過程過于繁瑣,時(shí)間復(fù)雜度太大,檢查需要時(shí)間很長甚至?xí)霈F(xiàn)死機(jī)狀況,所以本工具選擇使用的是字符串相似性算法。
詞典的存儲(chǔ),用數(shù)據(jù)庫存儲(chǔ)。選用了SQLite,它是一款輕型的數(shù)據(jù)庫,它占用資源非常的低,在嵌入式設(shè)備中,只需要幾百K的內(nèi)存就夠了。首先要找到一個(gè)詞庫的txt文檔,然后用一段程序來將txt文檔中的單詞一次寫入到Sqlite數(shù)據(jù)庫中,如果數(shù)據(jù)較大的話,會(huì)需要一段較長的時(shí)間;該工具將數(shù)據(jù)庫放到了SD卡中,因?yàn)樵谫Y源中的文件是不允許超過1M,超過1M會(huì)直接影響程序的運(yùn)行,而詞庫中存放的單詞量巨大,所以不能放在資源Raw文件中,這樣就擺脫了對(duì)文件大小的限制。
Android平臺(tái)是目前很有潛力的一種嵌入式平臺(tái),由于他的廣泛應(yīng)用,針對(duì)在平板電腦上處理引文文檔的問題,開發(fā)了一款基于Android平臺(tái)的拼寫檢查工具,可以幫助用戶找到并修改一些英文單詞的拼寫錯(cuò)誤,方便人們對(duì)引文文檔的處理。
[1]楊豐盛.Android應(yīng)用開發(fā)揭秘[M].北京:機(jī)械工業(yè)出版社出版,2010.
[2]李偉夢(mèng).Android 4編程入門經(jīng)典——開發(fā)智能手機(jī)與平板電腦應(yīng)用(移動(dòng)與嵌入式開發(fā)技術(shù))[M].北京:清華大學(xué)出版社,2012.
[3]Todd D.Morton.嵌入式微控制器(英文影印版)[M].北京:科學(xué)出版社出版,2002.
[4](美)策希納,(美)格林.Android 4游戲編程入門經(jīng)典(移動(dòng)與嵌入式開發(fā)技術(shù))[M].北京:清華大學(xué)出版社,2012.
[5](美)艾佛瑞.Android多媒體開發(fā)高級(jí)編程——為智能手機(jī)和平板電腦開發(fā)圖形、音樂、視頻和富媒體應(yīng)用(移動(dòng)與嵌入式開發(fā)技術(shù))[M].北京:清華大學(xué)出版社,2012.