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