安卓課程設(shè)計(jì)報(bào)告文獻(xiàn)_第1頁(yè)
安卓課程設(shè)計(jì)報(bào)告文獻(xiàn)_第2頁(yè)
安卓課程設(shè)計(jì)報(bào)告文獻(xiàn)_第3頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、安卓課程設(shè)計(jì)報(bào)告集團(tuán)文件發(fā)布號(hào):(9816-UATWW-MWUB-WUNN-INNUL-Android平臺(tái)軟件開(kāi)發(fā)課程設(shè)計(jì)報(bào)告題 目基于安卓的計(jì)算標(biāo)準(zhǔn)體重的應(yīng)用程序?qū)I(yè)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)生姓名學(xué) 號(hào)二0一六年六月五日 TOC o 1-5 h z 目錄1背景介紹12需求分析13設(shè)計(jì)目的24技術(shù)介紹24. 1 Android Studio一開(kāi)發(fā)軟件24. 2 java+Android 類庫(kù)+xml22. 1 java22. 2 xml25設(shè)計(jì)思路2功能分析22模塊劃分23程序流程圖36程序?qū)崿F(xiàn)及代碼分析31用戶登錄界面36. 2輸入和提交信息程序界面86. 3顯示計(jì)算結(jié)果程序界面107總結(jié)12參考

2、文獻(xiàn)13基于安卓的計(jì)算標(biāo)準(zhǔn)體重的應(yīng)用程序周超南京信息工程大學(xué)濱江學(xué)院計(jì)算機(jī)系,江蘇南京210044 摘要:本報(bào)告主要闡述的是根據(jù)身高計(jì)算標(biāo)準(zhǔn)體重的應(yīng)用程序。本應(yīng)用 程序是以安卓技術(shù)、Java開(kāi)發(fā)語(yǔ)和android studio開(kāi)發(fā)平臺(tái)為背景來(lái)進(jìn) 行設(shè)計(jì)的。本應(yīng)用程序包含了用戶登錄功能、背景音樂(lè)播放功能和計(jì)算 標(biāo)準(zhǔn)體重功能。關(guān)鍵詞:Java; android studio:安卓;1背景介紹隨著移動(dòng)通信與Internet向移動(dòng)終端的普及,網(wǎng)絡(luò)和用戶對(duì)移動(dòng)終 端的要求越來(lái)越高,而Symbian, WindowsMobile, PalmOS等手機(jī)平臺(tái)過(guò) 于封閉,不能很好的滿足用戶的需求,因此市場(chǎng)迫切需

3、要一個(gè)開(kāi)發(fā)性很 強(qiáng)的平臺(tái)。經(jīng)過(guò)多年的發(fā)展,第三代數(shù)字通信(3G)技術(shù)活動(dòng)了廣泛的 接受,它為移動(dòng)終端用戶帶來(lái)了更快的數(shù)據(jù)傳輸速率。隨著3G網(wǎng)絡(luò)的使 用,移動(dòng)終端不再僅是通訊網(wǎng)絡(luò)的終端,還將成為互聯(lián)網(wǎng)的終端。因 此,移動(dòng)終端的應(yīng)用軟件和需要的服務(wù)將會(huì)有很大的發(fā)展空間。Google 為此于2007年11月推出了一個(gè)專為移動(dòng)設(shè)備設(shè)計(jì)的軟件平臺(tái)一一 AndroidoAndroid是一套真正意義上的開(kāi)發(fā)性的移動(dòng)設(shè)備綜合平臺(tái),它包括操 作系統(tǒng)、中間件和一些關(guān)鍵的平臺(tái)應(yīng)用。Android是由Linux+Java構(gòu)成 的開(kāi)源軟件,允許所有廠商和個(gè)人在其基礎(chǔ)上進(jìn)行開(kāi)發(fā)。Android平臺(tái)的開(kāi)放性等特點(diǎn)既能促進(jìn)技

4、術(shù)(包括平臺(tái)本身)的創(chuàng)新,又有助于降低開(kāi)發(fā)成本,還可以是運(yùn)營(yíng)商能非常方便地制定自己的特色化的產(chǎn)品。因此,它具有很大的市場(chǎng)發(fā)展?jié)摿Α?需求分析如今,伴隨著GoogleAndroid操作系統(tǒng)的盛行,基于AndroidSDK的 系統(tǒng)開(kāi)發(fā)和基于Android應(yīng)用的開(kāi)發(fā)等已倍受大家關(guān)注。Android應(yīng)用面 向的是普通個(gè)體用戶,這些用戶往往會(huì)更加關(guān)注用戶體驗(yàn),因此Android 應(yīng)用增加多媒體功能十分必要。就目前的手機(jī)發(fā)展趨勢(shì)來(lái)看,手機(jī)已經(jīng) 不再是單一的通訊工具,更多的手機(jī)用戶希望在工作、學(xué)習(xí)之余通過(guò)方 便靈巧可隨身攜帶的儀器休閑娛樂(lè)。而且近年來(lái),由于人們生活水平的提高,越來(lái)越多的人開(kāi)始關(guān)注人 體健康,

5、而體重也成為了人們關(guān)注的重點(diǎn),尤其是女性。因此為了迎合 眾多用戶的需求并適應(yīng)現(xiàn)在的手機(jī)的規(guī)模,我設(shè)計(jì)了一個(gè)計(jì)算標(biāo)準(zhǔn)體重 的應(yīng)用程序。3設(shè)計(jì)目的本設(shè)計(jì)是在學(xué)習(xí)Android平臺(tái)軟件開(kāi)發(fā)的課程的基礎(chǔ)上進(jìn)行的一次 綜合實(shí)踐。通過(guò)本課程設(shè)計(jì),讓學(xué)生們鞏固下有關(guān)Android平臺(tái)軟件開(kāi) 發(fā)的知識(shí),也考查學(xué)生們的學(xué)習(xí)情況。4技術(shù)簡(jiǎn)介4. 1 Android Studio一開(kāi)發(fā)軟件Android Studio是一個(gè)Android開(kāi)發(fā)環(huán)境,基于.類似, Android Studio提供了集成的Android開(kāi)發(fā)工具用于開(kāi)發(fā)和調(diào)試。4, 2 java+Android 類庫(kù)+xml開(kāi)發(fā)語(yǔ)言2. 1 javajav

6、a是在計(jì)算機(jī)史上影響深遠(yuǎn)的編程語(yǔ)言,它是一門(mén)編程語(yǔ)言,不 僅吸收了語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了 C+里難以理解的、等概念,因此 Java語(yǔ)言具有功能強(qiáng)大和簡(jiǎn)單易用兩個(gè)特征。Java語(yǔ)言作為靜態(tài)面向?qū)?象編程語(yǔ)言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的 思維方式進(jìn)行復(fù)雜的編程1 oJava具有簡(jiǎn)單性、面向?qū)ο?、平臺(tái)獨(dú)立與可移植性、動(dòng)態(tài) 性等特點(diǎn)。Java可以編寫(xiě)、和應(yīng)用程序等。2. 1 xml可擴(kuò)展標(biāo)記語(yǔ)言XML (extensible Markup Language)是一種簡(jiǎn)單靈 活的文本格式的可擴(kuò)展標(biāo)記語(yǔ)言,起源于SGML (Standard Generalized Markup L

7、anguage),是SGML的一個(gè)子集合,也就是SGML的一個(gè)筒化版 本,非常適合于在Web上或者其它多種數(shù)據(jù)源間進(jìn)行數(shù)據(jù)的交換。5設(shè)計(jì)思路功能分析該設(shè)計(jì)實(shí)現(xiàn)了一個(gè)可計(jì)算輸出標(biāo)準(zhǔn)體重功能的應(yīng)用程序。根據(jù)世界 衛(wèi)生組織推薦的計(jì)算標(biāo)準(zhǔn)體重的方法為:男性標(biāo)準(zhǔn)體重二(身高-80) *0.7;女性標(biāo)準(zhǔn)體重二(身高-70) *0.6。因此需要輸入的信息有性 別、身高。用戶在登錄界面里,輸入用戶名和密碼后,點(diǎn)擊“登錄”按鈕,便 可進(jìn)入計(jì)算標(biāo)準(zhǔn)體重功能的應(yīng)用程序。然后,在該程序中輸入對(duì)應(yīng)的信息后,點(diǎn)擊“提交”按鈕,接著,會(huì)跳轉(zhuǎn)到結(jié)果界面,顯示計(jì)算結(jié)果。我還在登錄界面中設(shè)計(jì)了背景音樂(lè)播放功能,點(diǎn)擊“開(kāi)啟背景音

8、樂(lè)”按鈕,就會(huì)播放音樂(lè);只有點(diǎn)擊“關(guān)閉播放音樂(lè)”按鈕,音樂(lè)才會(huì) 停止,否則會(huì)一直播放。模塊劃分我設(shè)計(jì)了三個(gè)模塊,即三個(gè)Activity,分別為用戶登錄 (activity_Login) 輸入和提交信息(activity_main)和顯示計(jì)算結(jié) 果 (activity_result)。用戶登錄(activity_Login)模塊:一個(gè)圖片控件(ImageView) 用于加載圖片,兩個(gè)文本框(TextView)分別是用戶名和密碼,兩個(gè)編 輯框(EditText)用于輸入用戶名和密碼,三個(gè)按鈕(Button)分別為 “登錄”、“開(kāi)啟背景音樂(lè)”和“關(guān)閉播放音樂(lè)”,以及一些標(biāo)題文 本。(2)輸入和提交信

9、息(activity_main)模塊:一個(gè)圖片控件(ImageView)用于加載圖片一個(gè)RadioGroup組件,三個(gè)編輯框 (EditText)分別是性別、身高和cm,兩個(gè)單選框(RadioButton)分別 是“男”和“女”,一個(gè)“提交”按鈕(Button),以及一些標(biāo)題文 本。(3)顯示計(jì)算結(jié)果(activity_result)模塊:一個(gè)圖片控件(ImageView)用于加載圖片,三個(gè)文本框(TextView),以及一些標(biāo)題 文本。3程序流程圖根據(jù)以上的分析,可畫(huà)出相應(yīng)的程序流程圖,如圖5T所示。圖5-1程序流程圖6程序?qū)崿F(xiàn)及代碼分析1用戶登錄界面用戶登錄程序界面(activity_Lo

10、gin)的功能是實(shí)現(xiàn)用戶登錄,并 可以開(kāi)啟背景音樂(lè)功能。用戶必須輸入正確的用戶名和密碼,才可進(jìn)入 計(jì)算標(biāo)準(zhǔn)體重界面,否則,會(huì)出現(xiàn)“輸入不正確”的提示信息,程序界 面如圖6-1所示。圖6-1用戶登錄程序界面功能代碼:activity_Login. java(實(shí)現(xiàn)用戶登錄功能)public class LoginActivity extends AppCompatActivity private EditText name=null;private EditText password=null;Button login;private static String TAG = MusicServic

11、e;Overrideprotected void onCreate(Bundle savedinstanceState) super. onCreate(savedlnstanceState);initlizeViews();login. setOnClickListener(new View. OnClickListener() public void onClick(View view) if (name. getText(). toString ().equals (zc) &password. getText(). toString (). equals (“666666) Inten

12、t intent = new Intent();startActivity(intent);Toast. makeText (getApplicationContext (), 正Toast. LENGTH.SHORT). show();Toast. makeText (getApplicationContext (), 用戶名或密碼錯(cuò)誤!Toast. LENGTH-SHORT). show();private void initlizeViews() OnClickListener ocl = new OnClickListener() Overridepublic void onClick

13、(View v) 顯示指定intent所指的對(duì)象是個(gè)serviceIntent intent = newIntent(LoginActivity. this,MusicService. class);switch (v. getldO ) startService (intent); 開(kāi)啟服務(wù) break;stopService(intent); 停止服務(wù) break;);btnStart. setOnClickListener (ocl);btnStop. setOnClickListener(ocl);)MusicService. Java(實(shí)現(xiàn)背景音樂(lè)播放功能)public class

14、MusicService extends Service為日志工具設(shè)置標(biāo)簽private static String TAG =MusicService”;定義音樂(lè)播放器變量private MediaPlayer mPlayer;該服務(wù)不存在需要被創(chuàng)建時(shí)被調(diào)用,不管startService()還是bindService ()都會(huì)啟動(dòng)時(shí)調(diào)用該方法Overridepublic void onCreate() 設(shè)置可以重復(fù)播放mPlayer. setLooping(true);super. onCreate ();)Overridepublic void onStart (Intent intent

15、, int startld)Toast. makeText (this, 開(kāi)始播放音樂(lè)”,Toast. LENGTH_SHORT). show ();Log. e (TAG, MusicService onStart (),z);mPlayer. start ();super. onStart(intent, startld);)Overridepublic void onDestroy() Toast. makeText (this,“停止播放音樂(lè)”,Toast. LENGTH_SHORT). show();Log. e (TAG, ,zMusicService onDestroy ()z,

16、);mPlayer. stop ();super. onDestroy ();其他對(duì)象通過(guò)bindService方法通知該Service時(shí)該方法被調(diào)用 Overridepublic IBinder onBind(Intent intent) Toast. makeText(this, MusicService onBind(),Toast. LENGTH_SHORT). show ();Log. e (TAG, MusicService onBind。);mPlayer. start ();return null;)其它對(duì)象通過(guò)unbindService方法通知該Service時(shí)該方法被調(diào)用O

17、verridepublic boolean onUnbind(Intent intent) Toast. makeText(this, MusicService onUnbind(),Toast. LENGTH_SHORT). show ();Log. e (TAG, MusicService onUnbind ();mPlayer. stop ();return super. onUnbind(intent);)6. 2輸入和提交信息程序界面輸入和提交信息程序界面(activity_main)的功能是輸入人的性別 和身高信息,并提交信息。用戶只有輸入的相應(yīng)的信息,點(diǎn)擊“提交” 按鈕,才會(huì)計(jì)算

18、出結(jié)果,否則,會(huì)出現(xiàn)“輸入不正確”的提示信息,程 序界面如圖6-2所示。圖6-2輸入和提交信息程序界面功能代碼:public class MainActivity extends AppCompatActivityButton submit;Overrideprotected void onCreate(Bundle savedinstanceState) super. onCreate(savedlnstanceState);submit. setOnClickListener(new View. OnClickListener() public void onClick(View view

19、) User user=new User();if(. equals (EditText)findViewByldToast. makeText(MainActivity. this,輸入不正確,請(qǐng)重新輸入!,Toast. LENGTH_SHORT). show ();return;)intstature=Integer. parselnt(EditText)findViewByldfor (int 1=0;isex. getChildCount();i+)RadioButtonr=(RadioButton)sex. getChildAt(i);if(r. isCheckedO) user.

20、setSex (r. getText (). toString ();break;)user. setStature(stature);Bundle bundle=new Bundle ();bundle. putSerializable(user”, user);Intent intent=new Intent(MainActivity. this,ResultActivity. class);intent. putExtras(bundle);startActivity(intent););)6. 3顯示計(jì)算結(jié)果程序界面顯示計(jì)算結(jié)果程序界面(activity_result)的功能是根據(jù)提交

21、過(guò)來(lái) 的信息來(lái)進(jìn)行進(jìn)行計(jì)算,并顯示出計(jì)算結(jié)果和一些標(biāo)語(yǔ),程序界面如圖 6-3所示。圖6-3顯示計(jì)算結(jié)果程序界面功能代碼:public class ResultActivity extends AppCompatActivity(protected void onCreate (Bundle savedinstanceState) super. onCreate(savedlnstanceState);Intent intent=getlntent();Bundle bundle=intent. getExtras();User user= (User)bundle. getSerializab

22、le Cuser);sex. setText (您的性別是:+user. getSex ()+性);stature. setText (您的 身 高是:z,+user. getStature () +,cmzz);weight. setText (標(biāo)準(zhǔn)體重為:+getWeight(user. getSex (), user. getStature () + 公斤 );)private String getWeight(String sex,float stature)(String weight二;NumberFormat format=new DecimalFormat();if (sex. equals (男)weight=format. format(stature-80)*0.7);)else(weight=format. format(stature-70)*0. 6);)return weight;)7總結(jié)對(duì)于這次的課程設(shè)計(jì),我的感受是不難,但

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論