西安歐亞學(xué)院信息工程學(xué)院 宋園方
根據(jù)Gartner市場研究部的調(diào)查結(jié)果,谷歌的Android操作系統(tǒng)目前已成為世界上第三大手機系統(tǒng)。據(jù)Gartner估計,在2010年第二季度,Android手機在全球賣出了1060萬部,相比之下iPhone手機只賣出了870萬部。這樣算起來,Android已占據(jù)了智能手機17%的市場份額,而蘋果只有14%。
Android是開放手機聯(lián)盟基于Linux開發(fā)的開源手機操作系統(tǒng)。它包括操作系統(tǒng)、中間件和電話工作所需的應(yīng)用程序,而且不存在版權(quán)問題。開放手機聯(lián)盟由Google主導(dǎo),包括中國移動、摩托羅拉、高通、HTC和T-Mobile在內(nèi)的30多家技術(shù)和無線應(yīng)用的領(lǐng)軍企業(yè)組成。google通過與開發(fā)商、設(shè)備制造商、運營商和其他有關(guān)各方結(jié)成深層次的合作關(guān)系,希望借此建立標準式、開放式的移動系統(tǒng),在移動產(chǎn)業(yè)內(nèi)形成一個開放式的生態(tài)系統(tǒng)。
Android平臺的研發(fā)隊伍陣容強大,包括Google、HTC(宏達電)、T-Mobile、高通、摩托羅拉、三星、LG以及中國移動在內(nèi)的34家企業(yè)都將基于該平臺開發(fā)手機的新型業(yè)務(wù),應(yīng)用之間的通用性和互聯(lián)性將在最大程度上得到保持?!伴_放手機聯(lián)盟”表示,Android平臺可以促使移動設(shè)備的創(chuàng)新,讓用戶體驗到最優(yōu)越的移動服務(wù),同時,開發(fā)商也將得到一個新的開放級別,更方便的進行協(xié)同合作,從而保障新型移動設(shè)備的研發(fā)速度。
Android輸入法是android平臺中的重要的應(yīng)用,谷歌在發(fā)布android平臺時,中文輸入法只發(fā)布了谷歌拼音,其他中文輸入法需要手機廠商自己開發(fā)。國內(nèi)的輸入法公司也推出了Android平臺的相應(yīng)的輸入法,如搜狗輸入法、漢王的馬蹄蓮手寫輸入法。因為中文輸入法的特殊性,故有多種輸入形式,如拼音、手寫、全鍵盤輸入法、9鍵輸入法、筆畫輸入法、五筆輸入法等。將這些不同輸入方式的輸入法整合到一起,是各個商家的重點研究對象。
在android平臺中,輸入法不再像Windows下簡單的輸入工具,他與應(yīng)用的編輯框有效結(jié)合起來,輸入法的軟鍵盤提示按鈕隨編輯框?qū)傩圆煌l(fā)生提示變化,更方便的提升了用戶的操作體驗。所以,輸入法如何更好的提升用戶體驗,也是我們此次研究的內(nèi)容之一。
今年應(yīng)用android平臺研發(fā)的的智能手機越來越熱門,谷歌的Android手機平臺也引起了越來越多開發(fā)者的興趣,一方面相比iPhone來說,Android采取了完全開放的政策。另一方面中國移動將在Android平臺基礎(chǔ)上推出自主的手機開放平臺OMS,這無疑又增加了Android的吸引力。在巨大的市場潛力面前,一場關(guān)于智能手機的暗戰(zhàn)正在展開。所以本項目的研究切合當前實際,具有很好研究的前景。
在Android的輸入法框架基礎(chǔ)上進行深度開發(fā),搭建手寫輸入法子框架,完善Android平臺輸入法框架。
應(yīng)用程序:以Java為編程語言,使Android從接口到功能,都有層出不窮的變化,其中Activity等同于J2ME的MIDlet,View等同于Displayable,還有Image等同于BitMap。
中間件:操作系統(tǒng)與應(yīng)用程序的溝通橋梁,并用分為兩層:函數(shù)層(Library)和虛擬機(Virtual Machine)。
操作系統(tǒng):控制包括安全(Security),存儲器管理(Memory Managemeat),程序管理(Process Management),網(wǎng)絡(luò)堆棧(Network Stack),驅(qū)動程序模型(Driver Model)等。
1.軟件下載
a.JDK 1.6(目前最新:Java SE 6 Update 27)
b.Android SDK下載器(用來下載Android SDK,目前最新:android-sdk_r12-windows.zip)
c.Eclipse IDE(目前最新:Eclipse Classic 3.7)
2.安裝及配置Java環(huán)境
a.安裝JDK
b.設(shè)置環(huán)境變量
3.安裝Android SDK
Android SDK可以通過SDK下載器自動下載和配置,適合網(wǎng)絡(luò)好的朋友;也可以借助工具下載SDK文件,手工配置,適合下載速度慢的朋友。
4.Eclipse集成開發(fā)環(huán)境(IDE)的搭建
同Android SDK一樣,分為在線安裝和手動安裝兩種方式。
5.Eclipse ADT配置
6.配置Android SDK
這里介紹下新建AVD。所謂AVD,即Android Virtual Devices,Android虛擬設(shè)備,亦即嵌入式開發(fā)中常用的模擬器。
關(guān)鍵代碼:
Paint mTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG)
mTextPaint.setColor(Color.WHITE);
//Define the string.
String displayText = "手寫輸入法";
//Measure the width of the text string.
float textWidth = mTextPaint.measureText(displayText);
手機的硬件世界,是一個十分嚴格的多任務(wù)作業(yè)(multithread)世界。意思是,在任何時候,你的程序都會受到不能抵抗的中斷(interrupt),例如,當你的程序正在制造動畫效果的時候,或正在運算一個game子彈的射擊,突然手機收到來電了,你的程序被退后,切換到接來電的接口。使用者必須得到非常穩(wěn)定的來電中斷并順利在短時間內(nèi)完成,讓使用者可以接聽來電。你的程序,不管正在進行甚么,都要停下來。并且,安全地停下來。
因此,android的app,使用了Activity的設(shè)計,來代表每一個生命的周期。簡單說,你的app是一個Activity。(extends了它的class)
Activity將會遇到各種狀況,包括了:protected void onCreate();
protected void onStart();
protected void onRestart();
protected void onResume();
protected void onPause();
protected void onStop();
protected void onDestroy();從名字便可以知道它的意思,例如當你的app第一次開動的時候,便會運行onCreate了。
在開發(fā)中會涉及到對于組件的字體或文本的字體的修改,可以通過Spannable來進行修改字體:
TextView tv = new TextView(this);
tv.setText("手機字體大小設(shè)置”);
//創(chuàng)建Spannable對象
Spannable span = new Spannable-String(tv.getText());
/*通過setSpan(Object,int start,int end,int flag)對特定的內(nèi)容進行設(shè)置
其中AbsoluteSizeSpan是決定字體大小
*/
span.setSpan(new AbsoluteSizeSpan(11),0,2,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
span.setSpan(new AbsoluteSizeSpan(21),3,6,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
tv.setText(span);
[1]Android手機安裝、解除安裝APK教[OL].http://www.and-machine.com/viewthread.php?tid=74.
[2]昭佑.天翔:Android Emulator變更顯示語系[OL].http://tomkuo139.blogspot.com/2009/07/androidemulator_5723.html.
[3]http://www.android-study.com.