版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《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)二O一六年六月五日目錄TOC\o"1-2"\u1背景介紹12需求分析13設(shè)計(jì)目的24技術(shù)介紹24.1AndroidStudio--開(kāi)發(fā)軟件24.2java+Android類庫(kù)+xml24.2.1java24.2.2xml25設(shè)計(jì)思路25.1功能分析25.2模塊劃分25.3程序流程圖36程序?qū)崿F(xiàn)及代碼分析36.1用戶登錄界面36.2輸入和提交信息程序界面86.3顯示計(jì)算結(jié)果程序界面107總結(jié)12參考文獻(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ǔ)和androidstudio開(kāi)發(fā)平臺(tái)為背景來(lái)進(jìn)行設(shè)計(jì)的。本應(yīng)用程序包含了用戶登錄功能、背景音樂(lè)播放功能和計(jì)算標(biāo)準(zhǔn)體重功能。關(guān)鍵詞:Java;androidstudio;安卓;1背景介紹隨著移動(dòng)通信與Internet向移動(dòng)終端的普及,網(wǎng)絡(luò)和用戶對(duì)移動(dòng)終端的要求越來(lái)越高,而Symbian,Windows
Mobile,PalmOS等平臺(tái)過(guò)于封閉,不能很好的滿足用戶的需求,因此市場(chǎng)迫切需要一個(gè)開(kāi)發(fā)性很強(qiáng)的平臺(tái)。經(jīng)過(guò)多年的開(kāi)展,第三代數(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)用軟件和需要的效勞將會(huì)有很大的開(kāi)展空間。Google為此于2007年11月推出了一個(gè)專為移動(dòng)設(shè)備設(shè)計(jì)的軟件平臺(tái)——Android。Android是一套真正意義上的開(kāi)發(fā)性的移動(dòng)設(shè)備綜合平臺(tái),它包括操作系統(tǒng)、中間件和一些關(guān)鍵的平臺(tái)應(yīng)用。Android是由Linux+Java構(gòu)成的開(kāi)源軟件,允許所有廠商和個(gè)人在其根底上進(jìn)行開(kāi)發(fā)。Android平臺(tái)的開(kāi)放性等特點(diǎn)既能促進(jìn)技術(shù)〔包括平臺(tái)本身〕的創(chuàng)新,又有助于降低開(kāi)發(fā)本錢(qián),還可以是運(yùn)營(yíng)商能非常方便地制定自己的特色化的產(chǎn)品。因此,它具有很大的市場(chǎng)開(kāi)展?jié)摿Α?需求分析如今,伴隨著Google
Android操作系統(tǒng)的盛行,基于Android
SDK的系統(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)用增加多媒體功能十分必要。就目前的開(kāi)展趨勢(shì)來(lái)看,已經(jīng)不再是單一的通訊工具,更多的用戶希望在工作、學(xué)習(xí)之余通過(guò)方便靈巧可隨身攜帶的儀器休閑娛樂(lè)。而且近年來(lái),由于人們生活水平的提高,越來(lái)越多的人開(kāi)始關(guān)注人體健康,而體重也成為了人們關(guān)注的重點(diǎn),尤其是女性。因此為了迎合眾多用戶的需求并適應(yīng)現(xiàn)在的的規(guī)模,我設(shè)計(jì)了一個(gè)計(jì)算標(biāo)準(zhǔn)體重的應(yīng)用程序。3設(shè)計(jì)目的本設(shè)計(jì)是在學(xué)習(xí)Android平臺(tái)軟件開(kāi)發(fā)的課程的根底上進(jìn)行的一次綜合實(shí)踐。通過(guò)本課程設(shè)計(jì),讓學(xué)生們穩(wěn)固下有關(guān)Android平臺(tái)軟件開(kāi)發(fā)的知識(shí),也考查學(xué)生們的學(xué)習(xí)情況。4技術(shù)簡(jiǎn)介4.1AndroidStudio--開(kāi)發(fā)軟件AndroidStudio是一個(gè)Android開(kāi)發(fā)環(huán)境,基于IntelliJIDEA.類似EclipseADT,AndroidStudio提供了集成的Android開(kāi)發(fā)工具用于開(kāi)發(fā)和調(diào)試。4,2java+Android類庫(kù)+xml--開(kāi)發(fā)語(yǔ)言4.2.1javajava是在計(jì)算機(jī)史上影響深遠(yuǎn)的編程語(yǔ)言,它是一門(mén)面向?qū)ο缶幊陶Z(yǔ)言,不僅吸收了C++語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語(yǔ)言具有功能強(qiáng)大和簡(jiǎn)單易用兩個(gè)特征。Java語(yǔ)言作為靜態(tài)面向?qū)ο缶幊陶Z(yǔ)言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程[1]。Java具有簡(jiǎn)單性、面向?qū)ο?、分布式、健壯性、平安性、平臺(tái)獨(dú)立與可移植性、多線程、動(dòng)態(tài)性等特點(diǎn)。Java可以編寫(xiě)桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。4.2.1xml可擴(kuò)展標(biāo)記語(yǔ)言XML〔eXtensibleMarkupLanguage〕是一種簡(jiǎn)單靈活的文本格式的可擴(kuò)展標(biāo)記語(yǔ)言,起源于SGML(StandardGeneralizedMarkupLanguage),是SGML的一個(gè)子集合,也就是SGML的一個(gè)簡(jiǎn)化版本,非常適合于在Web上或者其它多種數(shù)據(jù)源間進(jìn)行數(shù)據(jù)的交換。5設(shè)計(jì)思路5.1功能分析該設(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)啟背景音樂(lè)〞按鈕,就會(huì)播放音樂(lè);只有點(diǎn)擊“關(guān)閉播放音樂(lè)〞按鈕,音樂(lè)才會(huì)停止,否那么會(huì)一直播放。5.2模塊劃分我設(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)題文本。輸入和提交信息〔activity_main〕模塊:一個(gè)圖片控件〔ImageView〕用于加載圖片一個(gè)RadioGroup組件,三個(gè)編輯框〔EditText〕分別是性別、身高和cm,兩個(gè)單項(xiàng)選擇框〔RadioButton〕分別是“男〞和“女〞,一個(gè)“提交〞按鈕〔Button〕,以及一些標(biāo)題文本。顯示計(jì)算結(jié)果〔activity_result〕模塊:一個(gè)圖片控件〔ImageView〕用于加載圖片,三個(gè)文本框〔TextView〕,以及一些標(biāo)題文本。5.3程序流程圖根據(jù)以上的分析,可畫(huà)出相應(yīng)的程序流程圖,如圖5-1所示。圖5-1程序流程圖6程序?qū)崿F(xiàn)及代碼分析6.1用戶登錄界面用戶登錄程序界面〔activity_Login〕的功能是實(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)用戶登錄功能)package;import;importandroid.support.v7.app.AppCompatActivity;import;import;import;import;import;import;publicclassLoginActivityextendsAppCompatActivity{privateEditTextname=null;privateEditTextpassword=null;Buttonlogin;privatestaticStringTAG="MusicService";@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView();name=(EditText)findViewById();password=(EditText)findViewById();login=(Button)findViewById();initlizeViews();login.setOnClickListener(newView.OnClickListener(){publicvoidonClick(Viewview){if(name.getText().toString().equals("zc")&&password.getText().toString().equals("666666")){Intentintent=newIntent();intent.setAction("");startActivity(intent);Toast.makeText(getApplicationContext(),"正在登錄中...",Toast.LENGTH_SHORT).show();}else{Toast.makeText(getApplicationContext(),"用戶名或密碼錯(cuò)誤!"Toast.LENGTH_SHORT).show();}}});}privatevoidinitlizeViews(){ButtonbtnStart=(Button)findViewById();ButtonbtnStop=(Button)findViewById();OnClickListenerocl=newOnClickListener(){@OverridepublicvoidonClick(Viewv){//顯示指定intent所指的對(duì)象是個(gè)serviceIntentintent=newIntent(LoginActivity.this,MusicService.class);switch(v.getId()){case:startService(intent);//開(kāi)啟效勞break;case:stopService(intent);//停止效勞break;}}};btnStart.setOnClickListener(ocl);btnStop.setOnClickListener(ocl);}}MusicService.Java(實(shí)現(xiàn)背景音樂(lè)播放功能)package;import;import;import;import;import;import;publicclassMusicServiceextendsService{//為日志工具設(shè)置標(biāo)簽privatestaticStringTAG="MusicService";//定義音樂(lè)播放器變量privateMediaPlayermPlayer;//該效勞不存在需要被創(chuàng)立時(shí)被調(diào)用,不管startService()還是bindService()都會(huì)啟動(dòng)時(shí)調(diào)用該方法@OverridepublicvoidonCreate(){mPlayer=MediaPlayer.create(getApplicationContext(),);//設(shè)置可以重復(fù)播放mPlayer.setLooping(true);super.onCreate();}@OverridepublicvoidonStart(Intentintent,intstartId){Toast.makeText(this,"開(kāi)始播放音樂(lè)",Toast.LENGTH_SHORT).show();Log.e(TAG,"MusicServiceonStart()");mPlayer.start();super.onStart(intent,startId);}@OverridepublicvoidonDestroy(){Toast.makeText(this,"停止播放音樂(lè)",Toast.LENGTH_SHORT).show();Log.e(TAG,"MusicServiceonDestroy()");mPlayer.stop();super.onDestroy();}//其他對(duì)象通過(guò)bindService方法通知該Service時(shí)該方法被調(diào)用@OverridepublicIBinderonBind(Intentintent){Toast.makeText(this,"MusicServiceonBind()",Toast.LENGTH_SHORT).show();Log.e(TAG,"MusicServiceonBind()");mPlayer.start();returnnull;}//其它對(duì)象通過(guò)unbindService方法通知該Service時(shí)該方法被調(diào)用@OverridepublicbooleanonUnbind(Intentintent){Toast.makeText(this,"MusicServiceonUnbind()",Toast.LENGTH_SHORT).show();Log.e(TAG,"MusicServiceonUnbind()");mPlayer.stop();returnsuper.onUnbind(intent);}}6.2輸入和提交信息程序界面輸入和提交信息程序界面〔activity_main〕的功能是輸入人的性別和身高信息,并提交信息。用戶只有輸入的相應(yīng)的信息,點(diǎn)擊“提交〞按鈕,才會(huì)計(jì)算出結(jié)果,否那么,會(huì)出現(xiàn)“輸入不正確〞的提示信息,程序界面如圖6-2所示。圖6-2輸入和提交信息程序界面功能代碼:package;import;import;importandroid.support.v7.app.AppCompatActivity;import;import;import;import;import;import;import;publicclassMainActivityextendsAppCompatActivity{Buttonsubmit;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView();submit=(Button)findViewById();submit.setOnClickListener(newView.OnClickListener(){publicvoidonClick(Viewview){Useruser=newUser();if("".equals(((EditText)findViewById()).getText().toString())){Toast.makeText(MainActivity.this,"輸入不正確,請(qǐng)重新輸入!",Toast.LENGTH_SHORT).show();return;}intstature=Integer.parseInt(((EditText)findViewById()).getText().toString());RadioGroupsex=(RadioGroup)findViewById();for(inti=0;i<sex.getChildCount();i++){RadioButtonr=(RadioButton)sex.getChildAt(i);if(r.isChecked()){user.setSex(r.getText().toString());break;}}user.setStature(stature);Bundlebundle=newBundle();bundle.putSerializable("user",user);Intentintent=newIntent(MainActivity.this,ResultActivity.class);intent.putExtras(bundle);startActivity(intent);}});}}6.3顯示計(jì)算結(jié)果程序界面顯示計(jì)算結(jié)果程序界面〔activity_result〕的功能是根據(jù)提交過(guò)來(lái)的信息來(lái)進(jìn)行進(jìn)行計(jì)算,并顯示出計(jì)算結(jié)果和一些標(biāo)語(yǔ),程序界面如圖6-3所示。圖6-3顯示計(jì)算結(jié)果程序界面功能代碼:package;import;import;importandroid.support.v7.app.AppCompatActivity;import;import;import;import;import;publicclassResultActivityextendsAppCompatActivity{protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(esult);TextViewsex=(TextView)findViewById();TextViewstature=(TextView)findViewById();TextViewweight=(TextView)findViewById();Intentintent=getIntent();Bundlebundle=intent.getExtras();Useruser=(User)bundle.getSerializable("user");sex.setText("您的性別是:"+user.getSex()+"性");stature.setText("您的身高是:"+user.getStature()+"cm");weight.setText("標(biāo)準(zhǔn)體重為:"+getWeight(user.getSex(),user.getStature())+"公斤");}privateStringgetWeight(Stringsex,floatstature){Stringweight="";NumberFormatformat=newDecimalFormat();if(sex.eq
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件行業(yè)測(cè)試工程師培訓(xùn)總結(jié)
- 餐飲行業(yè)技術(shù)崗位概括
- 眼鏡光學(xué)技術(shù)心得分享
- 保險(xiǎn)行業(yè)客服工作心得
- 觀察與記錄幼兒發(fā)展的活動(dòng)計(jì)劃
- 城市道路交通節(jié)點(diǎn)設(shè)計(jì)
- 道路施工完整方案
- 灌區(qū)水量平衡計(jì)算
- 各類手機(jī)密碼大全
- 2024暑期兼職實(shí)習(xí)崗位勞動(dòng)合同書(shū)
- 2024年潤(rùn)膚蜜項(xiàng)目可行性研究報(bào)告
- (正式版)HG∕T 21633-2024 玻璃鋼管和管件選用規(guī)定
- 基礎(chǔ)會(huì)計(jì)(第7版)ppt課件完整版
- Q∕SY 1206.1-2009 油氣管道通信系統(tǒng)通用技術(shù)規(guī)范 第1部分:光傳輸系統(tǒng)
- 汽車4S店八大運(yùn)營(yíng)業(yè)績(jī)指標(biāo)管控培訓(xùn)_89頁(yè)
- 設(shè)備安裝、調(diào)試及驗(yàn)收質(zhì)量保證措施
- 火力發(fā)電廠生產(chǎn)技術(shù)管理導(dǎo)則
- 汽輪機(jī)葉片振動(dòng)與分析
- 地質(zhì)工作個(gè)人述職報(bào)告三篇
- 產(chǎn)品可追溯流程圖圖
- 形意拳九歌八法釋意
評(píng)論
0/150
提交評(píng)論