安卓課程設計報告_第1頁
安卓課程設計報告_第2頁
安卓課程設計報告_第3頁
安卓課程設計報告_第4頁
安卓課程設計報告_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《Android平臺軟件開發(fā)》課程設計報告題目基于安卓的計算標準體重的應用程序專業(yè)計算機科學與技術學生姓名學號二O一六年六月五日目錄TOC\o"1-2"\u1背景介紹 基于安卓的計算標準體重的應用程序周超南京信息工程大學濱江學院計算機系,江蘇南京210044摘要:本報告主要闡述的是根據身高計算標準體重的應用程序。本應用程序是以安卓技術、Java開發(fā)語和androidstudio開發(fā)平臺為背景來進行設計的。本應用程序包含了用戶登錄功能、背景音樂播放功能和計算標準體重功能。關鍵詞:Java;androidstudio;安卓;1背景介紹隨著移動通信與Internet向移動終端的普及,網絡和用戶對移動終端的要求越來越高,而Symbian,Windows

Mobile,PalmOS等手機平臺過于封閉,不能很好的滿足用戶的需求,因此市場迫切需要一個開發(fā)性很強的平臺。經過多年的發(fā)展,第三代數字通信(3G)技術活動了廣泛的接受,它為移動終端用戶帶來了更快的數據傳輸速率。隨著3G網絡的使用,移動終端不再僅是通訊網絡的終端,還將成為互聯(lián)網的終端。因此,移動終端的應用軟件和需要的服務將會有很大的發(fā)展空間。Google為此于2007年11月推出了一個專為移動設備設計的軟件平臺——Android。

Android是一套真正意義上的開發(fā)性的移動設備綜合平臺,它包括操作系統(tǒng)、中間件和一些關鍵的平臺應用。Android是由Linux+Java構成的開源軟件,允許所有廠商和個人在其基礎上進行開發(fā)。Android平臺的開放性等特點既能促進技術(包括平臺本身)的創(chuàng)新,又有助于降低開發(fā)成本,還可以是運營商能非常方便地制定自己的特色化的產品。因此,它具有很大的市場發(fā)展?jié)摿Α?需求分析如今,伴隨著Google

Android操作系統(tǒng)的盛行,基于Android

SDK的系統(tǒng)開發(fā)和基于Android應用的開發(fā)等已倍受大家關注。Android應用面向的是普通個體用戶,這些用戶往往會更加關注用戶體驗,因此Android應用增加多媒體功能十分必要。就目前的手機發(fā)展趨勢來看,手機已經不再是單一的通訊工具,更多的手機用戶希望在工作、學習之余通過方便靈巧可隨身攜帶的儀器休閑娛樂。

而且近年來,由于人們生活水平的提高,越來越多的人開始關注人體健康,而體重也成為了人們關注的重點,尤其是女性。因此為了迎合眾多用戶的需求并適應現在的手機的規(guī)模,我設計了一個計算標準體重的應用程序。3設計目的本設計是在學習Android平臺軟件開發(fā)的課程的基礎上進行的一次綜合實踐。通過本課程設計,讓學生們鞏固下有關Android平臺軟件開發(fā)的知識,也考查學生們的學習情況。4技術簡介4.1AndroidStudio--開發(fā)軟件AndroidStudio是一個Android開發(fā)環(huán)境,基于IntelliJIDEA.類似EclipseADT,AndroidStudio提供了集成的Android開發(fā)工具用于開發(fā)和調試。4,2java+Android類庫+xml--開發(fā)語言4.2.1javajava是在計算機史上影響深遠的編程語言,它是一門面向對象編程語言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態(tài)面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優(yōu)雅的思維方式進行復雜的編程[1]

。Java具有簡單性、面向對象、分布式、健壯性、安全性、平臺獨立與可移植性、多線程、動態(tài)性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應用程序等。4.2.1xml可擴展標記語言XML(eXtensibleMarkupLanguage)是一種簡單靈活的文本格式的可擴展標記語言,起源于SGML(StandardGeneralizedMarkupLanguage),是SGML的一個子集合,也就是SGML的一個簡化版本,非常適合于在Web上或者其它多種數據源間進行數據的交換。5設計思路5.1功能分析

該設計實現了一個可計算輸出標準體重功能的應用程序。根據世界衛(wèi)生組織推薦的計算標準體重的方法為:男性標準體重=(身高-

80)*0.7;女性標準體重=(身高-70)*0.6”。因此需要輸入的信息有性別、身高。用戶在登錄界面里,輸入用戶名和密碼后,點擊“登錄”按鈕,便可進入計算標準體重功能的應用程序。然后,在該程序中輸入對應的信息后,點擊“提交”按鈕,接著,會跳轉到結果界面,顯示計算結果。我還在登錄界面中設計了背景音樂播放功能,點擊“開啟背景音樂”按鈕,就會播放音樂;只有點擊“關閉播放音樂”按鈕,音樂才會停止,否則會一直播放。5.2模塊劃分我設計了三個模塊,即三個Activity,分別為用戶登錄(activity_Login)、輸入和提交信息(activity_main)和顯示計算結果(activity_result)。用戶登錄(activity_Login)模塊:一個圖片控件(ImageView)用于加載圖片,兩個文本框(TextView)分別是用戶名和密碼,兩個編輯框(EditText)用于輸入用戶名和密碼,三個按鈕(Button)分別為“登錄”、“開啟背景音樂”和“關閉播放音樂”,以及一些標題文本。輸入和提交信息(activity_main)模塊:一個圖片控件(ImageView)用于加載圖片一個RadioGroup組件,三個編輯框(EditText)分別是性別、身高和cm,兩個單選框(RadioButton)分別是“男”和“女”,一個“提交”按鈕(Button),以及一些標題文本。顯示計算結果(activity_result)模塊:一個圖片控件(ImageView)用于加載圖片,三個文本框(TextView),以及一些標題文本。5.3程序流程圖根據以上的分析,可畫出相應的程序流程圖,如圖5-1所示。圖5-1程序流程圖6程序實現及代碼分析6.1用戶登錄界面用戶登錄程序界面(activity_Login)的功能是實現用戶登錄,并可以開啟背景音樂功能。用戶必須輸入正確的用戶名和密碼,才可進入計算標準體重界面,否則,會出現“輸入不正確”的提示信息,程序界面如圖6-1所示。圖6-1用戶登錄程序界面功能代碼:activity_Login.java(實現用戶登錄功能)packagecom.example.zc.myfirstapplication;importandroid.content.Intent;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.widget.Button;importandroid.widget.EditText;importandroid.view.View;importandroid.widget.Toast;importandroid.view.View.OnClickListener;publicclassLoginActivityextendsAppCompatActivity{privateEditTextname=null;privateEditTextpassword=null;Buttonlogin;privatestaticStringTAG="MusicService";@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);name=(EditText)findViewById(R.id.edtName);password=(EditText)findViewById(R.id.edtPassword);login=(Button)findViewById(R.id.btnLogin);initlizeViews();login.setOnClickListener(newView.OnClickListener(){publicvoidonClick(Viewview){if(name.getText().toString().equals("zc")&&password.getText().toString().equals("666666")){Intentintent=newIntent();intent.setAction("com.example.zc.action.LOGIN");startActivity(intent);Toast.makeText(getApplicationContext(),"正在登錄中...",Toast.LENGTH_SHORT).show();}else{Toast.makeText(getApplicationContext(),"用戶名或密碼錯誤!"Toast.LENGTH_SHORT).show();}}});}privatevoidinitlizeViews(){ButtonbtnStart=(Button)findViewById(R.id.btnStart);ButtonbtnStop=(Button)findViewById(R.id.btnStop);OnClickListenerocl=newOnClickListener(){@OverridepublicvoidonClick(Viewv){//顯示指定intent所指的對象是個serviceIntentintent=newIntent(LoginActivity.this,MusicService.class);switch(v.getId()){caseR.id.btnStart:startService(intent);//開啟服務break;caseR.id.btnStop:stopService(intent);//停止服務break;}}};btnStart.setOnClickListener(ocl);btnStop.setOnClickListener(ocl);}}MusicService.Java(實現背景音樂播放功能)packagecom.example.zc.myfirstapplication;importandroid.app.Service;importandroid.content.Intent;importandroid.media.MediaPlayer;importandroid.os.IBinder;importandroid.util.Log;importandroid.widget.Toast;publicclassMusicServiceextendsService{//為日志工具設置標簽privatestaticStringTAG="MusicService";//定義音樂播放器變量privateMediaPlayermPlayer;//該服務不存在需要被創(chuàng)建時被調用,不管startService()還是bindService()都會啟動時調用該方法@OverridepublicvoidonCreate(){mPlayer=MediaPlayer.create(getApplicationContext(),R.raw.music);//設置可以重復播放mPlayer.setLooping(true);super.onCreate();}@OverridepublicvoidonStart(Intentintent,intstartId){Toast.makeText(this,"開始播放音樂",Toast.LENGTH_SHORT).show();Log.e(TAG,"MusicServiceonStart()");mPlayer.start();super.onStart(intent,startId);}@OverridepublicvoidonDestroy(){Toast.makeText(this,"停止播放音樂",Toast.LENGTH_SHORT).show();Log.e(TAG,"MusicServiceonDestroy()");mPlayer.stop();super.onDestroy();}//其他對象通過bindService方法通知該Service時該方法被調用@OverridepublicIBinderonBind(Intentintent){Toast.makeText(this,"MusicServiceonBind()",Toast.LENGTH_SHORT).show();Log.e(TAG,"MusicServiceonBind()");mPlayer.start();returnnull;}//其它對象通過unbindService方法通知該Service時該方法被調用@OverridepublicbooleanonUnbind(Intentintent){Toast.makeText(this,"MusicServiceonUnbind()",Toast.LENGTH_SHORT).show();Log.e(TAG,"MusicServiceonUnbind()");mPlayer.stop();returnsuper.onUnbind(intent);}}6.2輸入和提交信息程序界面輸入和提交信息程序界面(activity_main)的功能是輸入人的性別和身高信息,并提交信息。用戶只有輸入的相應的信息,點擊“提交”按鈕,才會計算出結果,否則,會出現“輸入不正確”的提示信息,程序界面如圖6-2所示。圖6-2輸入和提交信息程序界面功能代碼:packagecom.example.zc.myfirstapplication;importandroid.content.Intent;importandroid.os.Bundle;importandroid.support.v7.app.AppCompatActivity;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.RadioButton;importandroid.widget.RadioGroup;importandroid.widget.TextView;importandroid.widget.Toast;publicclassMainActivityextendsAppCompatActivity{Buttonsubmit;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);submit=(Button)findViewById(R.id.btnSubmit);submit.setOnClickListener(newView.OnClickListener(){publicvoidonClick(Viewview){Useruser=newUser();if("".equals(((EditText)findViewById(R.id.edtStature)).getText().toString())){Toast.makeText(MainActivity.this,"輸入不正確,請重新輸入!",Toast.LENGTH_SHORT).show();return;}intstature=Integer.parseInt(((EditText)findViewById(R.id.edtStature)).getText().toString());RadioGroupsex=(RadioGroup)findViewById(R.id.ragSex);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顯示計算結果程序界面顯示計算結果程序界面(activity_result)的功能是根據提交過來的信息來進行進行計算,并顯示出計算結果和一些標語,程序界面如圖6-3所示。圖6-3顯示計算結果程序界面功能代碼:packagecom.example.zc.myfirstapplication;importandroid.content.Intent;importandroid.os.Bundle;importandroid.support.v7.app.AppCompatActivity;importandroid.view.View;importandroid.widget.Button;importandroid.widget.TextView;importjava.text.DecimalFormat;importjava.text.NumberFormat;publicclassResultActivityextendsAppCompatActivity{protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_result);TextViewsex=(TextView)findViewById(R.id.tvSex);TextViewstature=(TextView)findViewById(R.id.tvStature);TextViewweight=(TextView)findViewById(R.id.tvWeight);Intentintent=getIntent();Bundlebundle=intent.getExtras();Useruser=(User)bundle.getSerializable("user");sex.setText("您的性別是:"+user.getSex()+"性");stature.setText("您的身高是:"+user.getStature()+"cm");weight.setText("標準體重為:"+getWe

溫馨提示

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

評論

0/150

提交評論