摘 要:基于Linux系統(tǒng)內(nèi)核的Android(安卓)操作系統(tǒng)將嵌入式Linux成功推向了消費(fèi)類電子市場,成為三大移動智能終端操作系統(tǒng)之一。但電池緩慢的發(fā)展速度成為了制約其發(fā)展的瓶頸,文章詳細(xì)介紹了Android系統(tǒng)的電源管理系統(tǒng)的設(shè)計(jì)方法,在應(yīng)用層面討論如何在應(yīng)用層編寫策略,通過合理的管理手機(jī)上各種設(shè)備,達(dá)到節(jié)電,延長續(xù)航時(shí)間的目的。文章設(shè)計(jì)的電源管理系統(tǒng)具有重大前景和意義。
關(guān)鍵詞:Android;嵌入式;電源管理
1 引言
隨著Linux操作系統(tǒng)的出現(xiàn),Linux在各個(gè)領(lǐng)域中的應(yīng)用日益廣泛,贏得了人們的青睞并且占據(jù)了一定的市場份額。在谷歌發(fā)布基于Linux系統(tǒng)內(nèi)核的Android(安卓)操作系統(tǒng)之后,將嵌入式Linux成功推向了消費(fèi)類電子市場,成為三大移動智能終端操作系統(tǒng)之一。
消費(fèi)類電子產(chǎn)品,特別是掌上PDA,智能手機(jī)等,其發(fā)展飛快,但電池緩慢的發(fā)展速度成為了制約其發(fā)展的瓶頸,人們在追求性能的過程中更注重設(shè)備的外型變的更加靈巧,與此同時(shí)便減小了電池的體積,從而影響了設(shè)備的續(xù)航能力,降低了用戶體驗(yàn)度,因此,從各個(gè)方面降低設(shè)備的功耗,延長續(xù)航能力,是提高用戶體驗(yàn)度的一個(gè)重要方面,面對Android操作系統(tǒng)的飛速發(fā)展和巨大市場份額,研究在Android操作系統(tǒng)下的電源管理是有重大前景和意義的,本文將從Android操作系統(tǒng)的構(gòu)架進(jìn)行分析,在應(yīng)用層面討論如何在應(yīng)用層編寫策略,通過合理的管理手機(jī)上各種設(shè)備,達(dá)到節(jié)電,延長續(xù)航時(shí)間的目的。
2 Android開發(fā)環(huán)境搭建
2.1 JAVA開發(fā)環(huán)境的構(gòu)建
本設(shè)計(jì)采用JAVA語言來開發(fā)Android應(yīng)用。要想使用Java語言開發(fā)程序,必須先要搭建Java開發(fā)環(huán)境。JAVA開發(fā)環(huán)境的構(gòu)建主要包含以下兩步:JDK的下載與安裝;Java開發(fā)工具Eclipse的下載與安裝[1]。
2.2 Android開發(fā)環(huán)境搭建
在搭建好Java開發(fā)環(huán)境后,接下來就是在安卓官方的開發(fā)網(wǎng)站下載開發(fā)組件構(gòu)建Android開發(fā)環(huán)境,具體包含:下載安裝Android SDK Tools;下載安裝Android Development Tools;注冊開發(fā)所需環(huán)境變量;安裝Android模擬器。
3 Android電源管理軟件總體結(jié)構(gòu)設(shè)計(jì)
Android電源管理軟件總體結(jié)構(gòu)設(shè)計(jì)如圖1所示。
圖中主要包含以下幾個(gè)模塊:顯示模塊,負(fù)責(zé)根據(jù)內(nèi)容的需要設(shè)計(jì)相應(yīng)的顯示界面;電池讀取模塊,專門負(fù)責(zé)讀取電池信息;手機(jī)設(shè)備控制模塊,專門負(fù)責(zé)讀取并根據(jù)用戶操作更改手機(jī)設(shè)備狀態(tài);進(jìn)程管理模塊,專門負(fù)責(zé)管理用戶進(jìn)程;后臺服務(wù)模塊,專門負(fù)責(zé)在主程序退出后承擔(dān)程序主要功能[2]。
4 軟件各個(gè)模塊功能的實(shí)現(xiàn)
4.1 創(chuàng)建一個(gè)Activity
4.4 手機(jī)設(shè)備控制功能實(shí)現(xiàn)
所有實(shí)現(xiàn)手機(jī)設(shè)備開關(guān)功能的按鈕均為ImageButton,通過為每一個(gè)ImageButton對象綁定監(jiān)聽器(OnClickListener)來監(jiān)聽按鈕是否按下,并且通過設(shè)備的狀態(tài)來調(diào)用每個(gè)ImageButton對象的setImageResource()方法來更換其顯示的圖片從而通過不同的圖片來指示設(shè)備當(dāng)前的狀態(tài),并且通過監(jiān)聽后調(diào)用監(jiān)聽器的onClick()方法在其中編寫代碼實(shí)現(xiàn)對設(shè)備的操作,本程序設(shè)備狀態(tài)轉(zhuǎn)換如表4所示[4]。
4.5 進(jìn)程管理功能的實(shí)現(xiàn)
進(jìn)程管理通過BatteryActivity里的一個(gè)按鈕切換至進(jìn)程管理界面。首先需要構(gòu)造一個(gè)TaskManagerActivity的布局文件,該文件中包含了一個(gè)ListView控件,采用哈希表來存儲向系統(tǒng)取得的進(jìn)程名和進(jìn)程所占用內(nèi)存大小,并且利用ListActivity所提供的簡單適配構(gòu)造函數(shù)(SimpleAdapter)構(gòu)造ListView,在調(diào)用該方法時(shí),創(chuàng)建一個(gè)布局文件,這個(gè)布局文件是為了顯示哈希表中兩個(gè)鍵值對,即進(jìn)程名和進(jìn)程所占內(nèi)存大小,因此采用簡單的線性布局即可,程序所用到的服務(wù)及對象相關(guān)信息如表5所示[5]。
5 軟件調(diào)試、測試
在軟件功能基本完成后,進(jìn)行了在多個(gè)機(jī)器上的測試(如圖2所示),測試軟件運(yùn)行在不同版本Android操作系統(tǒng)上和不同分辨率的機(jī)型上的時(shí)候有什么樣的表現(xiàn),經(jīng)過測試發(fā)現(xiàn),軟件對與2.2版本以上的操作系統(tǒng)支持良好,但不能支持任何模擬器,原因是模擬器不能模擬相關(guān)的一些功能,導(dǎo)致運(yùn)行在模擬器上程序會崩潰,但在真機(jī)上運(yùn)行良好沒有出現(xiàn)問題,測試輸出結(jié)果如圖3所示。
6 結(jié)束語
本文詳細(xì)介紹了Android系統(tǒng)的電源管理系統(tǒng)的設(shè)計(jì)方法,在應(yīng)用層面討論如何在應(yīng)用層編寫策略,通過合理的管理手機(jī)上各種設(shè)備,達(dá)到節(jié)電,延長續(xù)航時(shí)間的目的。本文設(shè)計(jì)的電源管理系統(tǒng)具有重大前景和意義的。
參考文獻(xiàn)
[1](美)Y·Daniel.Liang.Java語言程序設(shè)計(jì)基礎(chǔ)篇 [M].北京:機(jī)械工業(yè)出版社,2012.
[2]陳昱,江藍(lán)帆.基于Google Android平臺的應(yīng)用程序開發(fā)和研究[J],福建電腦,2008[11]:156-157.
[3]卜愛國,李杰,王超.嵌入式動態(tài)電源管理技術(shù)研究 [R].南京:東南大學(xué).2011-3-16.
[4]佚名.How to disable Mobile Data on Android [EB/OL].[2010-9-4].http://stackoverflow.com/questions/3644144/how-to-disable-mobile-data-on-android.
[5]余志龍,陳昱勛,鄭名杰,等.Android SDK開發(fā)范例大全 [M].北京:人民郵電出版社,2011.
作者簡介:范瑋(1963,9-),女,四川,本科,實(shí)驗(yàn)師,主要從事電子技術(shù)及實(shí)驗(yàn)管理。