《手持設(shè)備軟件開發(fā)》實(shí)驗(yàn)指導(dǎo)__第1頁
《手持設(shè)備軟件開發(fā)》實(shí)驗(yàn)指導(dǎo)__第2頁
《手持設(shè)備軟件開發(fā)》實(shí)驗(yàn)指導(dǎo)__第3頁
《手持設(shè)備軟件開發(fā)》實(shí)驗(yàn)指導(dǎo)__第4頁
《手持設(shè)備軟件開發(fā)》實(shí)驗(yàn)指導(dǎo)__第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、常州大學(xué)信息學(xué)院計(jì)算機(jī)系實(shí)驗(yàn)指導(dǎo)書 高晉樹 編寫信息科學(xué)與工程學(xué)院2012年9月10日1前 言手持設(shè)備軟件開發(fā)課程是信息科學(xué)與工程學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)及其他系相關(guān)專業(yè)的模塊選修課之一,其主要特點(diǎn)就是實(shí)踐性很強(qiáng),因此課堂教學(xué)應(yīng)該與實(shí)踐環(huán)節(jié)緊密結(jié)合。根據(jù)教學(xué)計(jì)劃的安排和教學(xué)大綱的總體要求,以配合課程教學(xué)為主要目標(biāo),并兼顧其他考慮,編制手持設(shè)備軟件開發(fā)實(shí)驗(yàn)指導(dǎo)書,旨在規(guī)范實(shí)驗(yàn)內(nèi)容,嚴(yán)格實(shí)驗(yàn)訓(xùn)練,達(dá)到實(shí)驗(yàn)教學(xué)的目的。本實(shí)驗(yàn)指導(dǎo)書內(nèi)容涵蓋Android應(yīng)用程序開發(fā)所涉及的主要方面,包括集成開發(fā)環(huán)境的搭建,用戶界面和關(guān)鍵組件的使用以及數(shù)據(jù)庫的訪問等各個(gè)方面,實(shí)驗(yàn)項(xiàng)目主要側(cè)重于對(duì)And

2、roid編程的基本應(yīng)用。實(shí)驗(yàn)指導(dǎo)書共列出了六個(gè)實(shí)驗(yàn)項(xiàng)目,其中,實(shí)驗(yàn)一是關(guān)于開發(fā)環(huán)境搭建方面的內(nèi)容,實(shí)驗(yàn)二是關(guān)于Activity組件方面的實(shí)踐,實(shí)驗(yàn)三主要關(guān)于界面設(shè)計(jì)的應(yīng)用,實(shí)驗(yàn)四是組件通信方面的內(nèi)容,實(shí)驗(yàn)五的內(nèi)容與進(jìn)程服務(wù)相關(guān),實(shí)驗(yàn)六主要是數(shù)據(jù)存儲(chǔ)與訪問方面的靈活應(yīng)用,通過這些實(shí)驗(yàn),有助于對(duì)課堂教學(xué)內(nèi)容的理解??傊谐龅牧鶄€(gè)實(shí)驗(yàn),可根據(jù)課程安排的實(shí)際情況進(jìn)行適當(dāng)?shù)恼{(diào)整,適用于計(jì)算機(jī)、自動(dòng)化、通信等專業(yè)。本實(shí)驗(yàn)指導(dǎo)書由信息科學(xué)與工程學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系計(jì)算機(jī)網(wǎng)絡(luò)教研室組織編寫,主要由高晉樹負(fù)責(zé)編寫工作。本實(shí)驗(yàn)指導(dǎo)書由一人編寫完成,限于編者水平,加上時(shí)間倉促,不足之處在所難免,懇請(qǐng)批評(píng)指正。編

3、者2012年9月目 錄實(shí)驗(yàn)一 Android開發(fā)環(huán)境的搭建1實(shí)驗(yàn)二 Activity組件的生命周期11實(shí)驗(yàn)三 界面設(shè)計(jì)16實(shí)驗(yàn)四 Intent的調(diào)用19實(shí)驗(yàn)五 Service的使用22實(shí)驗(yàn)六 數(shù)據(jù)存儲(chǔ)與訪問24第 1 頁常州大學(xué)信息學(xué)院計(jì)算機(jī)系實(shí)驗(yàn)一 Android開發(fā)環(huán)境的搭建一、實(shí)驗(yàn)?zāi)康?. 了解Android SDK的安裝、配置、使用;2. 熟悉ADT組件, 開發(fā)工具eclipse的使用;3. 熟悉Android程序的基本框架。二、實(shí)驗(yàn)內(nèi)容1、搭建及配置Android開發(fā)平臺(tái)(1)安裝JDKJDK下載地址:在Windows2000、XP或Win7系統(tǒng)下,鼠標(biāo)右擊“我的電腦” ->

4、屬性 -> 高級(jí) -> 環(huán)境變量(假設(shè)JDK安裝在C盤根目錄下)。系統(tǒng)變量->新建->變量名:JAVA_HOME 變量值:C:jdk1.6.0_21系統(tǒng)變量->新建->變量名:CLASSPATH 變量值:.;%JAVA_HOME%lib系統(tǒng)變量->編輯->變量名:在Path變量最前面加上:%JAVA_HOME%bin;(2)安裝Eclipse Eclipse下載地址:/downloads/,下載后直接解壓縮即可使用。(3)安裝Android SDKAndroid SDK下載地址:(4)安裝ADT

5、插件Android 為Eclipse 定制了一個(gè)插件,即Android Development Tools(ADT),目的是為用戶提供一個(gè)強(qiáng)大的綜合環(huán)境用于開發(fā)Android應(yīng)用程序。ADT擴(kuò)展了Eclipse的功能,可以讓用戶快速地建立Android項(xiàng)目,創(chuàng)建應(yīng)用程序界面,在基于Android框架API的基礎(chǔ)上添加組件,以及用SDK工具集調(diào)試應(yīng)用程序,甚至導(dǎo)出簽名(或未簽名)的APKs以便發(fā)行應(yīng)用程序。 安裝ADT插件有兩種方法,一種方法是手動(dòng)下載ADT插件壓縮包,然后在Eclipse中安裝;另一種方法在Eclipse中輸入插件的下載地址,然后在線安裝。 第一種方法手動(dòng)下載ADT插件的地址是

6、: -> Install New Software,打開Eclipse的插件安裝界面,如圖1.1所示。圖1.1 Eclipse的插件安裝界面點(diǎn)擊“Add”按鈕,在彈出的界面上點(diǎn)擊“Archive”按鈕,添加ADT-20.0.3.zip,并填上名稱“Android Plugin”(名稱可以自定義),界面如圖1.2所示。圖1.2 Add Repository界面 點(diǎn)擊OK后回到Eclipse的插件安裝界面,此時(shí)會(huì)出現(xiàn)ADT插件的安裝選項(xiàng),如圖1.3所示。圖1.3 ADT插件安裝選項(xiàng)選中Developer Tools復(fù)選框,然后點(diǎn)擊 Next按鈕,在ADT插件許可界面選擇I accept th

7、e terms of the license agreements,點(diǎn)擊Finish后開始安裝插件。安裝結(jié)束后會(huì)出現(xiàn)Eclipse重啟提示界面,選擇Yes重新啟動(dòng)Eclipse,使ADT插件生效。第二種方法打開Eclipse,在菜單欄上選擇Help -> Install New Software,打開Eclipse的插件安裝界面,如圖1.1所示。點(diǎn)擊“Add”按鈕,在彈出的界面上Location處輸入地址:圖1.4 Add Repository界面(5)安裝需要的包在Eclipse菜單欄上選擇Window -> Android SDK Manager,進(jìn)入SDK管理界面如圖1.5所

8、示,其中Tools和Android 4.1(API 16)下的全部選上,另外Extras下的Android Support Library必須選上,其余采用默認(rèn)選擇的安裝即可。圖1.5 Android SDK Manager界面點(diǎn)擊“Install 9 packages”,進(jìn)入安裝界面,如圖1.6所示,選中Accept All,然后點(diǎn)擊Install,等待一段時(shí)間后(時(shí)間長短與網(wǎng)速相關(guān)),安裝即可完成。圖1.6 SDK包安裝界面(6)配置安裝好插件后,還需要做些配置才可以使用Eclipse創(chuàng)建Android項(xiàng)目。在菜單欄上依次點(diǎn)擊Window -> Preferences,在彈出的界面左

9、側(cè)選中"Android"項(xiàng),然后在右側(cè)設(shè)定Android SDK的目錄,在SDK Location中輸入第3步中Android SDK的安裝目錄(假設(shè)SDK安裝在C:Android下),配置界面如圖1.7所示,最后點(diǎn)擊Apply使配置生效。圖1.7 Android配置界面(7)創(chuàng)建AVD(Android Virtual Device)為使Android應(yīng)用程序可以在模擬器上運(yùn)行,必須創(chuàng)建AVD。在Eclipse菜單欄上選擇Window -> AVD Manager,界面如圖1.8所示。圖1.8 AVD管理界面然后點(diǎn)擊右側(cè)的New,彈出界面如圖1.9所示。在其中填入Na

10、me,選擇Target的API,SD Card大小任意,其余保持默認(rèn)值,點(diǎn)擊Create AVD即可完成創(chuàng)建AVD。圖1.9 創(chuàng)建AVD界面創(chuàng)建完AVD后選擇該AVD并點(diǎn)擊“Start”即可運(yùn)行該AVD,AVD的啟動(dòng)過程比較慢,耐心等待,運(yùn)行成功后的界面如圖1.10所示。圖1.10 Android模擬器界面2、創(chuàng)建Hello World程序有兩種方法可以在Eclipse里建立Android工程,一種是在菜單欄上選擇File -> New -> Project,然后在彈出對(duì)話框中選擇Android -> Android Project;另一種是在菜單欄上選擇File ->

11、 New -> Other,然后在彈出對(duì)話框中選擇Android -> Android Project。兩種方法都可以打開Android工程向?qū)В鐖D1.11所示。圖1.11 Android工程向?qū)渲蠵roject Name為HelloWorld,Package Name修改為edu.cczu.helloworld,其余都采用默認(rèn)值。然后一直點(diǎn)擊Next,最后點(diǎn)擊Finish完成工程的創(chuàng)建。HelloWorld工程的基礎(chǔ)文件和目錄結(jié)構(gòu)如圖1.12所示。可以看到Android工程向?qū)б呀?jīng)自動(dòng)創(chuàng)建好了工程所需的基礎(chǔ)文件和目錄結(jié)構(gòu),不需要向HelloWorld工程中添加任何代碼,即可運(yùn)

12、行程序。圖1.12 HelloWorld工程基礎(chǔ)文件和目錄結(jié)構(gòu)在Eclipse菜單欄上選擇Run -> Run或者點(diǎn)擊工具欄按鈕,在彈出的對(duì)話框中選中Android Application,然后點(diǎn)擊OK運(yùn)行程序,耐心等待一段時(shí)間,運(yùn)行結(jié)果如圖1.13所示,到此為止HelloWorld程序就實(shí)現(xiàn)了。圖1.13 HelloWorld運(yùn)行結(jié)果三、思考與練習(xí)1、如何把Android完全從Eclipse中卸載掉?實(shí)驗(yàn)二 Activity組件的生命周期一、實(shí)驗(yàn)?zāi)康?. 了解Activity組件的生命周期;2. 了解Activity組件的運(yùn)行狀態(tài);3. 掌握Activity事件回調(diào)函數(shù)的作用和調(diào)用關(guān)系

13、。二、實(shí)驗(yàn)內(nèi)容  Activity中有7個(gè)與生命周期有關(guān)的函數(shù)。其中onCreate()是Activity第一次啟動(dòng)時(shí)執(zhí)行,主要是初始化一些變量,綁定數(shù)據(jù)或恢復(fù)信息等;onStart()是Activity界面被顯示出來的時(shí)候執(zhí)行;onRestart()是當(dāng)前Activity重新被啟動(dòng)時(shí)調(diào)用; onResume()是當(dāng)該Activity與用戶能進(jìn)行交互時(shí)被執(zhí)行;onPause()是另一個(gè)Activity被啟動(dòng),當(dāng)前的Activity就被暫停了,一般在該函數(shù)中執(zhí)行保存當(dāng)前的數(shù)據(jù)或資源;onStop()表示另一個(gè)Activity被啟動(dòng)完成時(shí),當(dāng)前Activity對(duì)用戶完全不可見時(shí)才調(diào)用;o

14、nDestroy()是退出當(dāng)前Activity時(shí)調(diào)用的,另外,如果程序中調(diào)用finish()或者Android系統(tǒng)當(dāng)前資源不夠用時(shí)也會(huì)被調(diào)用。 這7個(gè)生命周期函數(shù)的調(diào)用順序如圖2.1所示。圖2.1 Activity生命周期函數(shù)的調(diào)用順序1、創(chuàng)建Activity生命周期程序在Eclipse中建立Android工程,工程名為LifeCycle,建好后在LifeCycle. java中添加與Activity生命周期有關(guān)的函數(shù):onStart (),onRestart(),onResume(),onPause(),onStop(),onDestroy()。【參考代碼】 Override protect

15、ed void onStart() super.onStart();2、添加日志點(diǎn)向步驟一中建立的LifeCycle. java中相關(guān)的生命周期函數(shù)添加日志點(diǎn),使用Android中的Log類可以實(shí)現(xiàn)添加日志點(diǎn)。android.util.Log常用的方法有5個(gè),分別為:Log.v(),Log.d(),Log.i(),Log.w()以及Log.e()。根據(jù)首字母分別對(duì)應(yīng)VERBOSE,DEBUG,INFO,WARN,ERROR,對(duì)應(yīng)的優(yōu)先級(jí)也是由低到高。說明:(1)Log.v 的輸出顏色是黑色,任何消息都會(huì)輸出,這里的v代表verbose,表示詳細(xì)信息,用法是Log.v("參數(shù)1&quo

16、t;,"參數(shù)2"),參數(shù)1是標(biāo)簽,參數(shù)2是提示信息;(2)Log.d的輸出顏色是藍(lán)色,輸出調(diào)試信息(debug),也會(huì)顯示i、w和e的信息;(3)Log.i的輸出顏色是綠色,一般提示性的消息(information),它不會(huì)輸出Log.v和Log.d的信息,但會(huì)顯示i、w和e的信息;(4)Log.w的輸出顏色是橙色,可以看作為警告信息(warning),同時(shí)它還會(huì)輸出Log.e的信息。(5)Log.e的輸出顏色是紅色,可以想到是錯(cuò)誤信息(error),這里僅顯示紅色的錯(cuò)誤信息。【參考代碼】 Override protected void onStart() super.on

17、Start(); Log.i(“LIFECYCLE”, “(2) onStart()”);3、打開控制臺(tái)LogCat窗口在Eclipse菜單欄上選擇Window -> Show View -> Other,在彈出的窗口中展開Android項(xiàng),然后選中LogCat,點(diǎn)擊OK,如圖2.2所示。圖2.2 Show View中選擇LogCat這樣,LogCat便顯示在Eclipse下方的控制臺(tái)區(qū)域。如圖2.3所示圖2.3 Eclipse中的LogCat為了便于觀察,可以設(shè)置LogCat過濾器,點(diǎn)擊LogCat窗口中Saved Filter部分的綠色加號(hào),打開LogCat信息過濾器設(shè)置窗口,

18、設(shè)置一個(gè)名為LogFilter,過濾條件為“標(biāo)簽名=LIFECYCLE”的過濾器,如圖2.4所示。圖2.4 LogCat過濾器4、觀察并記錄生命周期函數(shù)的調(diào)用情況分別在不同情況下運(yùn)行程序,觀察7個(gè)Activity生命周期函數(shù)的調(diào)用情況,同時(shí)記錄下來。(1)全生命周期 正常啟動(dòng)LifeCycle程序,然后通過模擬器的返回鍵關(guān)閉程序,觀察并記錄控制臺(tái)的輸出。(2)可視生命周期正常啟動(dòng)LifeCycle程序,然后通過“呼出/接聽鍵”啟動(dòng)內(nèi)置的撥號(hào)程序,再通過“返回鍵”退出撥號(hào)程序,重新回到LifeCycle程序,觀察并記錄控制臺(tái)的輸出。(3)活動(dòng)生命周期 正常啟動(dòng)LifeCycle程序,然后通過DD

19、MS工具模擬電話呼叫,再通過“掛斷鍵”掛斷電話后重新回到LifeCycle程序,觀察并記錄控制臺(tái)的輸出。三、思考與練習(xí)1、除了使用log類添加日志點(diǎn)方法之外,還有什么其他方法可以實(shí)現(xiàn)類似的效果?實(shí)驗(yàn)三 界面設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?. 熟悉和掌握界面控件設(shè)計(jì);2. 掌握Android界面布局;3. 掌握控件的事件處理。二、實(shí)驗(yàn)內(nèi)容1、創(chuàng)建工程創(chuàng)建一個(gè)Android工程,工程名稱為Experiment,包名為edu.cczu. experiment,其余默認(rèn),然后一直Next,在New Blank Activity頁面下把Activity Name改為Experiment,最后點(diǎn)擊Finish完成工程創(chuàng)

20、建。2、添加相關(guān)控件打開res -> layout下的activity_experiment.xml布局文件,分別添加TextView、EditText、Button、RadioGroup、Spinner控件。其中RadioGroup中加入兩個(gè)RadioButton控件,分別為“男”和“女”,默認(rèn)選擇“男”;Spinner控件中要加入三個(gè)子選項(xiàng),分別為“常州”、“蘇州”和“無錫”,“常州”為默認(rèn)選項(xiàng)。界面效果如圖3.1所示。圖3.1 控件界面3、界面布局分別使用不同的界面布局設(shè)計(jì)圖3.1的控件界面,并對(duì)比各種布局實(shí)現(xiàn)的復(fù)雜程度和對(duì)不同屏幕尺寸的適應(yīng)能力。使用的界面布局包括:線性布局、框架

21、布局、表格布局、相對(duì)布局、絕對(duì)布局和網(wǎng)格布局。4、添加菜單修改原有工程中的選項(xiàng)菜單,將“Settings”改為“設(shè)置”,效果如圖3.2所示。圖3.2 選項(xiàng)菜單為“設(shè)置”菜單項(xiàng)添加兩個(gè)子菜單項(xiàng),分別是“城市設(shè)置”和“參數(shù)設(shè)置”,效果如圖3.3所示。圖3.3 子菜單5、操作欄將步驟4中的選項(xiàng)菜單“設(shè)置”添加到操作欄,效果如圖3.4所示。圖3.4 操作欄6、界面事件為步驟2中的“關(guān)閉”按鈕添加事件,當(dāng)點(diǎn)擊“關(guān)閉”按鈕時(shí)則退出程序。為步驟2中的“添加”、“刪除”、“更新”和“查詢”這4個(gè)Button控件分別添加事件,當(dāng)編號(hào)輸入框?yàn)榭諘r(shí),按下任何一個(gè)Button都會(huì)給出提示信息:編號(hào)不能為空,效果如圖3

22、.5所示。圖3.5 Button事件【參考代碼】 Button.OnClickListener buttonListener = new Button.OnClickListener()public void onClick(View v) Toast.makeText(v.getContext(), "編號(hào)不能為空!", Toast.LENGTH_LONG).show();添加按鍵事件,圖3.1的“編號(hào)”中只能輸入數(shù)字,無法輸入其他字符,當(dāng)輸入其他字符要給出相應(yīng)提示,“身高”和“體重”中只能輸入數(shù)字和字符“.”,無法輸入其他字符,當(dāng)輸入其他字符要給出相應(yīng)提示。實(shí)驗(yàn)四 In

23、tent的調(diào)用一、實(shí)驗(yàn)?zāi)康?. 了解Intent的組成; 2. 掌握使用Intent啟動(dòng)Activity的方法;3. 掌握獲取Activity返回值的方法。二、實(shí)驗(yàn)內(nèi)容在實(shí)驗(yàn)三的Experiment工程基礎(chǔ)上,添加若干Activity,利用Intent實(shí)現(xiàn)Activity組件之間的相互調(diào)用。本實(shí)驗(yàn)中涉及的相關(guān)數(shù)據(jù)項(xiàng)可以自行設(shè)計(jì),也可參考“4、附錄”中給出的數(shù)據(jù)。1、建立信息列表Activity 在res -> layout下添加list_experiment.xml布局文件,在src下的experiment包內(nèi)創(chuàng)建Infolist.java文件,對(duì)應(yīng)list_experiment.xml

24、布局文件,列表中的數(shù)據(jù)顯示實(shí)驗(yàn)三中圖3.1的前兩項(xiàng),具體內(nèi)容可以隨意。另外添加相應(yīng)的ListView子項(xiàng)的點(diǎn)擊事件,獲取點(diǎn)擊某個(gè)子項(xiàng)時(shí)對(duì)應(yīng)的編號(hào)。界面效果如下圖4.1所示。圖4.1 列表界面然后實(shí)現(xiàn)如下功能:當(dāng)點(diǎn)擊圖3.1中的查詢按鈕時(shí),將會(huì)啟動(dòng)信息列表Activity,而點(diǎn)擊圖4.1中的返回按鈕則會(huì)回到圖3.1的界面。2、建立詳細(xì)信息Activity在res -> layout下添加detail_experiment.xml布局文件,使用TextView和Button控件,文字大小都為20dp。在src下的experiment包內(nèi)創(chuàng)建Detail.java文件,對(duì)應(yīng)detail_exp

25、eriment.xml布局文件,界面效果如下圖4.2所示,其中點(diǎn)擊“返回”按鈕將會(huì)回到圖4.1的列表界面。圖4.2 詳細(xì)信息界面3、建立快捷菜單在步驟1中建立的信息列表Activity上添加快捷菜單,其包括三個(gè)菜單項(xiàng),分別為“詳細(xì)信息”、“刪除信息”和“更新信息”,界面效果如下圖4.3所示。圖4.3 快捷菜單界面然后添加菜單選擇事件:當(dāng)點(diǎn)擊圖4.1中的“詳細(xì)信息”菜單時(shí),將會(huì)啟動(dòng)詳細(xì)信息Activity,此時(shí)界面上應(yīng)該顯示出對(duì)應(yīng)編號(hào)的所有字段信息;當(dāng)點(diǎn)擊圖4.1中的“刪除信息”菜單時(shí),將會(huì)刪除對(duì)應(yīng)編號(hào)的相關(guān)信息;當(dāng)點(diǎn)擊圖4.1中的“更新信息”菜單時(shí),將會(huì)回到實(shí)驗(yàn)三中的圖3.1的界面,此時(shí)界面上

26、應(yīng)該顯示出對(duì)應(yīng)的編號(hào)、姓名以及其他已有的信息。4、附錄本實(shí)驗(yàn)中涉及的數(shù)據(jù)可以自行隨意設(shè)置,也可參考表4.1中的數(shù)據(jù)。表4.1本實(shí)驗(yàn)涉及的數(shù)據(jù)編號(hào)姓名性別城市身高(cm)體重(kg)1001趙明男常州17572 1002李曉男蘇州173861003王麗女無錫16348三、思考與練習(xí)1、當(dāng)點(diǎn)擊圖3.1界面上的“關(guān)閉”按鈕時(shí)如何實(shí)現(xiàn)退出整個(gè)程序?實(shí)驗(yàn)五 Service的使用一、實(shí)驗(yàn)?zāi)康?. 了解Service的原理和用途;2. 掌握本地服務(wù)的管理方法;3. 掌握遠(yuǎn)程服務(wù)的綁定和調(diào)用方法。二、實(shí)驗(yàn)內(nèi)容在實(shí)驗(yàn)四的基礎(chǔ)上,通過調(diào)用后臺(tái)服務(wù)實(shí)現(xiàn)計(jì)算BMI指數(shù)的功能。1、BMI指數(shù)簡介BMI指數(shù)(身體質(zhì)量指數(shù)

27、,簡稱體質(zhì)指數(shù),又稱體重指數(shù),英文為Body Mass Index,簡稱BMI),是用體重公斤數(shù)除以身高米數(shù)平方得出的數(shù)字,是目前國際上常用的衡量人體胖瘦程度以及是否健康的一個(gè)標(biāo)準(zhǔn)。BMI指數(shù)的定義:BMI指數(shù) = 體重(kg)÷ 身高(m)2。例如,某人體重70kg,身高1.75m,則某人的BMI指數(shù)為:70 ÷(1.75 × 1.75)= 22.86。目前,國際上通用BMI指數(shù)來衡量肥胖。中國肥胖問題工作組根據(jù)20世紀(jì)90年代中國人群有關(guān)數(shù)據(jù)的匯總分析報(bào)告,首次提出了適合中國成人的肥胖標(biāo)準(zhǔn):體重指數(shù)大于等于24為超重,大于等于28為肥胖。具體的中國成年人肥胖標(biāo)

28、準(zhǔn)如下。Ø 體重偏瘦:BMI<18.5Ø 健康體重:18.5BMI<24Ø 超重:24BMI<28Ø 肥胖:BMI28Ø 最理想的BMI指數(shù)是22但是,BMI指數(shù)只能作為評(píng)估個(gè)人體重和健康狀況的多項(xiàng)標(biāo)準(zhǔn)之一。因?yàn)锽MI指數(shù)沒有把一個(gè)人的脂肪比例計(jì)算在內(nèi),所以一個(gè)BMI指數(shù)超重的人,實(shí)際上可能并非肥胖。例如,一個(gè)練健身的人,由于體重有很重比例的肌肉,他的BMI指數(shù)會(huì)超過30。如果他的身體的脂肪比例很低,那就不需要減重。2、實(shí)現(xiàn)本地進(jìn)程服務(wù)建立本地服務(wù),通過本地服務(wù)計(jì)算BMI指數(shù),當(dāng)在實(shí)驗(yàn)三中的圖3.1的界面上輸入編號(hào)、身高和體重

29、數(shù)據(jù)后,點(diǎn)擊“添加”按鈕后調(diào)用本地服務(wù)計(jì)算BMI指數(shù),然后根據(jù)計(jì)算得出的BMI指數(shù),分別給出對(duì)應(yīng)的提示信息。例如,計(jì)算得出某人的BMI指數(shù)是20,則給出提示信息“健康體重”。同時(shí)在實(shí)驗(yàn)四中的圖4.2的詳細(xì)信息界面中增加一項(xiàng)“體質(zhì)狀況”,根據(jù)計(jì)算得出的BMI指數(shù)給出相應(yīng)的體質(zhì)狀況,界面效果如下圖5.1所示。圖5.1 增加“體質(zhì)狀況”后的詳細(xì)信息界面3、實(shí)現(xiàn)跨進(jìn)程服務(wù)建立遠(yuǎn)程服務(wù),通過遠(yuǎn)程服務(wù)實(shí)現(xiàn)與步驟2同樣的功能。實(shí)驗(yàn)六 數(shù)據(jù)存儲(chǔ)與訪問一、實(shí)驗(yàn)?zāi)康?. 掌握SharedPreferences的使用方法;2. 掌握各種文件存儲(chǔ)的區(qū)別與適用情況;3. 了解SQLite數(shù)據(jù)庫的特點(diǎn)和體系結(jié)構(gòu);4. 掌

30、握SQLite數(shù)據(jù)庫的建立和操作方法;5. 理解ContentProvider的用途和原理;6. 掌握ContentProvider的創(chuàng)建與使用方法。二、實(shí)驗(yàn)內(nèi)容在實(shí)驗(yàn)五的基礎(chǔ)上實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)與訪問功能。本實(shí)驗(yàn)中涉及的相關(guān)數(shù)據(jù)項(xiàng)可以自行設(shè)計(jì),也可參考“7、附錄”中給出的數(shù)據(jù)。1、簡單存儲(chǔ)簡單存儲(chǔ)指的是Android系統(tǒng)提供的SharedPreferences數(shù)據(jù)保存方式,將數(shù)據(jù)以最簡單的方式進(jìn)行永久性保存。應(yīng)用程序在使用過程中會(huì)被用戶或系統(tǒng)關(guān)閉,如果能夠在程序關(guān)閉前保存用戶輸入的數(shù)據(jù),就可以在程序再次啟動(dòng)程序時(shí)恢復(fù)這些數(shù)據(jù),進(jìn)而提升用戶體驗(yàn)。使用SharedPreferences方式在程序關(guān)閉時(shí)

31、保存用戶在實(shí)驗(yàn)三中圖3.1的界面上輸入的數(shù)據(jù),并在程序重新啟動(dòng)時(shí)自動(dòng)恢復(fù)這些數(shù)據(jù)。2、建立參數(shù)設(shè)置Activity在res -> layout下添加parameter_experiment.xml布局文件,在src下的experiment包內(nèi)創(chuàng)建Parameter.java文件,對(duì)應(yīng)parameter_experiment.xml布局文件。parameter_experiment.xml布局文件中包括1個(gè)RadioGroup(其中包括2個(gè)RadioButton,默認(rèn)選中第一個(gè))和2個(gè)Button控件,具體內(nèi)容如圖5.1所示。圖5.1 參數(shù)設(shè)置界面當(dāng)點(diǎn)擊實(shí)驗(yàn)三中圖3.4的“參數(shù)設(shè)置”選項(xiàng)時(shí)

32、,則進(jìn)入圖5.1的參數(shù)設(shè)置界面。點(diǎn)擊圖5.1的“確定”按鈕則采用選擇的存儲(chǔ)方式保存數(shù)據(jù),點(diǎn)擊“取消”按鈕則保持上次的存儲(chǔ)方式不變,之后都退回到實(shí)驗(yàn)三中圖3.1的界面。3、文件存儲(chǔ)通過在圖5.1的參數(shù)設(shè)置界面選擇“內(nèi)部存儲(chǔ)”或“外部存儲(chǔ)”選項(xiàng),當(dāng)程序關(guān)閉時(shí)以INI文件的形式,將用戶在實(shí)驗(yàn)三中圖3.1的界面上輸入的數(shù)據(jù)保存在內(nèi)部或外部存儲(chǔ)器上。4、建立城市設(shè)置Activity在res -> layout下添加city_experiment.xml布局文件,在src下的experiment包內(nèi)創(chuàng)建City.java文件,對(duì)應(yīng)city_experiment.xml布局文件。city_experi

33、ment.xml布局文件包括1個(gè)TextView、1個(gè)EditText、1個(gè)ListView和4個(gè)Button控件,具體的界面效果如圖5.2所示。圖5.2 城市設(shè)置界面當(dāng)點(diǎn)擊實(shí)驗(yàn)三中圖3.4的“城市設(shè)置”選項(xiàng)時(shí),則進(jìn)入圖5.2的城市設(shè)置界面。5、數(shù)據(jù)庫存儲(chǔ)分別使用sqlite3工具和Android代碼的方式建立SQLite數(shù)據(jù)庫,數(shù)據(jù)庫名稱為experiment.db,并建立基本信息表(BaseInfo)和城市信息表(CityInfo),基本信息表如表5.1所示,城市信息表如表5.2所示。表5.1 基本信息表(BaseInfo)字段名數(shù)據(jù)類型說明備注base_id int編號(hào)主鍵nametex

34、t姓名sex text性別city text城市heightfloat身高單位:cmweightfloat體重單位:kghealthtext體質(zhì)狀況表5.2 城市信息表(CityInfo)字段名數(shù)據(jù)類型說明備注city_id int編號(hào)主鍵(自增長)citytext城市在完成建立數(shù)據(jù)庫的工作后,編程實(shí)現(xiàn)基本的數(shù)據(jù)庫操作功能,包括數(shù)據(jù)的添加、刪除、更新和查詢。(1)基本信息表的操作點(diǎn)擊實(shí)驗(yàn)三中圖3.1的“添加”按鈕,則把相關(guān)數(shù)據(jù)加入表中,添加成功應(yīng)當(dāng)給出“添加成功”的提示信息。如果編號(hào)項(xiàng)沒有輸入,也要給出相應(yīng)提示信息。添加數(shù)據(jù)的同時(shí)要調(diào)用實(shí)驗(yàn)五中設(shè)計(jì)的服務(wù)計(jì)算BMI指數(shù),根據(jù)計(jì)算出的指數(shù)給出五個(gè)等級(jí)的體質(zhì)狀況,分別為:偏瘦、正常、超重、肥胖和未知(沒有輸入身高或體重?cái)?shù)據(jù)),具體BMI指數(shù)數(shù)值范圍參見實(shí)驗(yàn)五中“1、BMI指數(shù)簡介”中相關(guān)內(nèi)容。點(diǎn)擊實(shí)驗(yàn)三中圖3.1的“刪除”按鈕,則把表中對(duì)應(yīng)編號(hào)的相關(guān)數(shù)據(jù)刪除,刪除成功應(yīng)當(dāng)給出“刪除成功”的提示信息。如果編號(hào)項(xiàng)沒有輸入,也要給出相應(yīng)提示信息。點(diǎn)擊實(shí)驗(yàn)三中圖3.1的“更新”按鈕,則對(duì)表中對(duì)應(yīng)編號(hào)的相關(guān)數(shù)據(jù)進(jìn)行修改更新,更新成功應(yīng)當(dāng)給出“更新成功”的提示信息。如果編號(hào)項(xiàng)沒有輸入,也要給出相應(yīng)提示信息。另外,如果修改了身高或體重?cái)?shù)據(jù),相應(yīng)的體質(zhì)狀況也要進(jìn)行修改。點(diǎn)擊實(shí)驗(yàn)三中圖3.1的“查詢”按鈕,則分為下列兩

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論