你是否應該閱讀本文?
只要你覺得手機通訊錄快速查找中文聯系人不夠方便,但支持多個字母快速查找,你就可以看看本文。雖然本文是針對諾基亞3220寫的。
目的:
讓通訊錄支持拼音首字母快速查找
幾個概念:
為了下文敘述方便,提出下面幾個概念。
全拼:一個或幾個漢字的拼音組合。
簡拼:一個或幾個漢字全拼的首字母的組合。
第n字母:大部分手機鍵盤2~9號數字鍵上有3個或4個字母,它們是按字母先后順序排列的,每個按鍵上的第1個字母就是該按鍵上所有字母(包括它自己)的第1字母,第2個字母是第2字母,第3個字母是第3字母,如果有第4個字母,那它就是第4字母。例如,2號數字鍵上有A、B、C三個字母,這三個字母的第 1字母都是A,第2字母是B,第3字母是C。
基本原則:
(1)在聯系人姓名前加一個字符串,快速查找時就當手機支持簡拼查找。雖然這樣使聯系人列表看起來不那么整齊。
(2)為了減少重碼,最后一個字(如果是漢字)使用全拼。
操作方法:
(1)取聯系人姓名的簡拼(最后一個字如果是漢字的話就取全拼)。如果聯系人姓名是有英文,直接取英文字母就可以了。為了盡可能減少添加的字符串與英文姓名混淆,大寫的字母都變成相應的小寫字母。例如有聯系人“陳先生”,則取“cxsheng”,“李軍”取“ljun”,“Susan”取“susan”, “櫻花草Sweety”取“yhcsweety”,“Sweety櫻花草”取“sweetyyhcao”。
(2)將上一步得到的字母串中的每個英文字母變成相應的第1字母。這樣處理的原因是,如果簡拼不是第1字母,要連續按幾次鍵才能輸入,比較麻煩,這樣做就可以忽略這個影響。如“cxsheng”變成“awpgdmg”,“ljun”變成“jjtm”。
(3)處理上一步得到的字母串中的連續重復字母串,優先處理最長的連續字母串。第1字母重復n次,就把它變成它的第n字母,如果n>3(連續字母是 p、w時,為n>4),先減去3(或4)的整數倍使n≤3(或n≤4)。之所以這樣處理,是因為快速按同一個鍵多次,會循環輸入下一個字母。例如,將“jjtm”中最長的連續第1字母串“jj”變成“k”,即“jjtm”變成“ktm”;“awwwt”變成“ayt”;“addddd”變成 “ae”。
(4)編輯聯系人姓名,將上一步得到的字符串的前4個字母加到姓名開頭,不足4個的有多少取多少。不一定要取4個,如果你的聯系人很多很多,可以多取。
適用范圍:
本文是針對諾基亞3220手機寫的,它的操作系統是S40。這款手機通訊錄快速查找功能的特點是:快速查找默認的輸入法是全拼與英文混合的,不可以將默認輸入法改為數字。
可以肯定,這種編碼方法不止適用于諾基亞3220。根據上面的基本原則(或者有更適合你的),任何可以輸入多個字符快速查找的手機都是可以的,你可以想出更適合你的操作方法。即使是已經支持簡拼查找的手機,根據基本原則(2),還可以改進以減少重碼。
最后說明:
編程高手,覺得必要的話,可以寫一個電腦程序自動處理。
其實思路很簡單,但是寫出來看起來有點復雜。如果你有沒看懂的地方,那一定是我沒寫清楚。若你能提出意見和建議,我會很感激。
新聞熱點
疑難解答
圖片精選