這里我們建立表1為BiHua,同時構(gòu)建兩個字段,字段1為“input”來存放輸入的,字段2為“value”為匹配出來的值,這里不難實現(xiàn)比如我們輸入“111211”就可以匹配出兩個這樣筆畫的字,分別是“彗”和“慧”,而1筆就可以輸入好的字有“一不在有來大地到要可而于下過事”,這里我們可以把常用字優(yōu)先排到前面。 2.五筆輸入法 這里我們建立表名為CN,這里常規(guī)的字、詞組、五筆都可以使用同一張表,這樣對應(yīng)查找更方便些,平時使用王碼的打字員輸入“ep”可以匹配出“愛”字,輸入“jqb”匹配出“昂”字。這里ep就是input字段,而昂就是value字段在表CN中,依次類推。 3.英文輸入法 這個就更簡單了,把常用的單詞表全部放入到數(shù)據(jù)庫中,輸入a自動匹配apple、arm這樣的單詞,類似autocomplete是把,其實就是包含關(guān)系的,這里找個詞典直接導(dǎo)入即可。 4.聯(lián)想輸入法 平時一個字一個字的輸入老慢,同樣我們不用很負(fù)責(zé)的算法,直接加入類似“zhongguo”對應(yīng)“中國”這樣的詞組就OK了,經(jīng)過Android123的初步測試SQLite數(shù)據(jù)庫在Android上還是蠻快的,但是還是不推薦這樣制作輸入法,至少商用產(chǎn)品不能這樣開發(fā)的。 5. 9宮格輸入法 平時不用G1附帶的QWERTY鍵盤打字時可以嘗試下新的9宮格輸入法,比如在傳統(tǒng)手機鍵盤上,我們可以發(fā)現(xiàn)1鍵對應(yīng)的是符號,2鍵上刻有 a b c這三個字母,而9鍵上刻有 w x y z 這個四個字母,正常不用遍歷算法一樣可以直接記錄下按鍵順序,比如輸入“ding”這個拼音就是3464,而輸入“chen”就是2436,最后再使用方法4中的直接查翻譯過來就是中文字了,呵呵是不是很簡單呢? 三、選字設(shè)計 這里我們充分發(fā)揮Android平臺的觸摸優(yōu)勢,通過Gallery控件可以直接實現(xiàn)觸摸滾動,每個字我們可以當(dāng)作一個TextView對待,因為都是派生于View類我們直接使用listener來攔截按下事件,就達(dá)到了觸摸選字,如果是QWERTY布局的話按鍵排列比較緊密,可以使用Android平臺提供的View類的長按listener來獲取長按事件,顯示一個放大的按下按鈕信息,這點可以參考iPhone手機的輸入法。
|