版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于Android平臺的未接來電自動回復軟件開發(fā)說明書書目1項目背景 32需求分析 42.1軟件需求分析 42.2功能需求 43項目描述 53.1軟件適用版本: 53.2測試機配置: 53.3完成時間: 54流程 55模塊設計 66運用過程 76.1開機: 76.2操作界面: 76.3操作過程: 86.4menu菜單: 86.5后臺操作: 96.6退出: 97軟件主要包含的文件 97.1Java編程文件: 97.2res_layout下的文件: 97.3res_value下的字符串賦值文件: 107.4系統(tǒng)配置文件: 108主要的代碼極其實現的流程 101項目背景隨著人們生活和工作的節(jié)奏越來越快,所接收到的來電的次數也越來越多,然而變的越來越勞碌的人們很難始終將手機帶在身邊,而且在某種場合下(如:開會,洗浴,開車等),雖然有來電但是不能與時的接聽。在這中狀況下,假如某款手機軟件可以讓呼叫者與時的知曉用戶所處的狀態(tài)或留言,就可以降低不必要的誤會。目前,市場上還短暫沒有可以實現此類功能的應用軟件,因而開發(fā)出一款有未接來電時可以自動回復的手機軟件具有極其重要的意義。Android是一種以Linux為基礎的開放源代碼的操作系統(tǒng),主要運用于手機等便攜設備,具有豐富的UI控件和多種功能強大的應用組件,有超強的用戶體驗,越來越多的手機用戶運用android系統(tǒng)的手機,截止到2012年7月,Android占全球智能手機操作系統(tǒng)市場的59%的份額,中國市場占有率為76.7%。本項目正式基于Android系統(tǒng)來設計并實現未接來電自動回復功能的。2需求分析2.1軟件需求分析進行應用的設計,首先要對應用的目標、需求和功能制定和選擇一個較好的應用方案,從而開發(fā)出一款合理的優(yōu)化的應用軟件。隨著社會的不斷發(fā)展,人際交往變得更加的親密,越來越多的人因不能與時的接聽到電話而苦惱,也有越來越多的人因不想接聽某些來電而必需接聽而苦惱,如此一款在用戶勞碌時可以自動掛斷電話并將之前設定好的內容以短信形式回復給呼叫者的軟件顯得特別有必要。隨著人們生活和工作的節(jié)奏越來越快,所接收到的來電的次數也越來越多,然而變的越來越勞碌的人們很難始終將手機帶在身邊,而且在某種場合下(如:開會,洗浴,開車等),雖然有來電但是不能與時的接聽。在這中狀況下,假如某款手機軟件可以讓呼叫者與時的知曉用戶所處的狀態(tài)或留言,就可以降低不必要的誤會。目前,市場上還短暫沒有可以實現此類功能的應用軟件,因而開發(fā)出一款有未接來電時可以自動回復的手機軟件具有極其重要的意義。需求分析是在于弄清用戶對于應用軟件的需求。在當今這個快節(jié)奏的社會中,許多的場合下,如開會,上課等,須要手機不能發(fā)出聲音,可以有振動用來提示用戶,而且此時雖然有電話打進來但是不能與時的接聽電話,這樣的話就須要首先將來電自動的掛斷,掛斷之后,呼叫者不知為何電話被掛斷可能會產生誤會,這時就須要能立即讓呼叫者知道用戶此時所處的狀態(tài),這時將事先編輯好的內容以短信的形式發(fā)給呼叫者。當呼叫者連續(xù)呼叫時,這時就須要一個回復周期,即在回復周期內,無論呼叫者呼叫多少次,用戶將只會發(fā)送一條說明短信。當用戶不想對全部的號碼都回復,而只對電話簿中特定的號碼進行回復,那么就有電話簿比對功能。當用戶勞碌完之后,須要應用來提示他此時有未接來電,這次應用的某個按鈕上的字體會變成紅色,點擊該按鈕后就可以跳轉到通話記錄,從而查看未接來電2.2功能需求功能列表:編號功能名稱功能說明1手機靜音當應用開啟后,手機被設置為靜音模式2自動掛斷當有來電時,應用將其自動掛斷3自動回復短信將編輯框中的內容以短信的形式回復給呼叫者4回復周期在一個周期時間內,同一號碼無論呼叫了多少次都只回復一條短信5電話簿對比只有電話簿中被選中的號碼打來電話時才會回復短信6未接來電提示與查看當有未接來電時,一個特定的按鈕上的字會由黑色變成紅色,當點擊該按鈕后會跳轉到通話記錄界面,查看完后按鈕上字體顏色變?yōu)楹谏?項目描述3.1軟件適用版本:Android2.1與以上版本的Android操作系統(tǒng)的手機3.2測試機配置:機型:酷派8810手機系統(tǒng)版本:android2.2手機屏幕辨別率:320*480屏幕尺寸:3.5寸3.3完成時間:2012年8月28日4流程軟件的主要工作流程如圖1所示圖1.軟件的主要工作流程5模塊設計軟件模塊結構如圖2所示圖2.軟件模塊結構6運用過程6.1開機:當點擊應用的圖標后,應用便進入開機界面,開機界面為:Android的機器人logo,并附一行:“HohaiAT出品”。該行字表示該應用是由河海高校AndroidTeam完成6.2操作界面:當開機完成后便進入該應用的操作界面,該界面中須要操作以下幾個控件(從上到下按其排布描述):6.2.1最上面的是用來輸入自動回復時回復的短信的內容,并且該控件在默認的狀況下里面的內容為“現在正忙,稍后給您回復”6.2.2緊隨著的是用于輸入回復的周期,即在多少分鐘內,無論一個號碼打來了多少次只回復一條短信,該回復周期默認為2分鐘6.2.3隨后是兩個單選按鈕,第一個單選按鈕被選中時起到的效果是“開啟電話簿對比功能”,其次個單選按鈕被選中時起到對電話簿聯系人進行全選的功能,而且只有當第一個單選按鈕被選中的狀況下,其次個單選按鈕才能被選,否則其次個單選按鈕就會始終處于灰暗不行選狀態(tài)6.2.4緊隨著的是個按鈕,該按鈕上寫著“點擊從電話簿中添加號碼”,當按下這個按鈕后就會彈出一個列表框,這個列表內的內容為該手機上的電話簿的內容,可以從中選擇要回復的對象(該選擇為多選),而且這個按鈕在默認狀況下是不行點擊的,只有在第一個單選按鈕被選中時,此按鈕才才能被點擊6.2.5下面的是一個按鈕,這個按鈕上面寫著“啟動自動回復”,當點擊該按鈕后,自動回復功能就開啟了,而且按鈕上的字變?yōu)椤瓣P閉自動回復”6.2.6最下面的還是一個按鈕,該按鈕上寫著“點擊查看未接來電”,當開啟自動回復且有來電時,該按鈕上的字會由黑色變成紅色,以提示用戶此時有未接來電,點擊該按鈕會跳轉到通話記錄界面,以查看未接來電6.3操作過程:6.3.1在自動回復的內容編輯框內輸入自動回復短信的內容6.3.2輸入回復的周期,即即在多少分鐘內,無論一個號碼打來了多少次只回復一條短信,該回復周期默認為2分鐘6.3.3選擇是否點擊“是否開啟電話簿對比功能”的按鈕:假如不選擇,那么啟動自動回復后,對待全部來電號碼都會自動回復假如選擇,那么下面選擇是否點擊“對電話簿聯系人進行全選”的按鈕:.1假如選擇全選按鈕,那么應用啟動后,來電號碼只要是電話簿中的號碼,那么都將進行自動回復.2假如不選擇全選,那么就點擊“點擊從電話簿中添加回復號碼”的按鈕,然后從彈出的列表中選擇要回復的號碼,這樣的話,只有當來電號碼是被選中的號碼,應用才會進行自動回復6.3.4點擊“啟動自動回復”按鈕,這樣service就起先啟動,并且手機的響鈴模式被設為靜音模式,當有來電時,應用會自動將電話掛斷,然后推斷該來電號碼與之前的設置是否符合,假如符合,就將回復短信6.4menu菜單:當點擊手機的menu鍵時,應用的主界面底端會出現一個含有四個選項的菜單欄,分別是“關于”,“幫助”,“后臺”,“退出”“關于”:當點擊該選項時,主操作頁面會跳轉到一個新的頁面,新的頁面的內容為有關于該應用的一些信息,即應用名稱,團隊名稱,指導老師,作者,所在學校,聯系方式等,點擊彎箭頭返回鍵便可回到主操作界面“幫助”:點擊該選項時,主操作界面會跳轉到一個新的界面,該新界面上的信息為該應用的運用方法“后臺”:點擊該選項時,應用將在后臺運行“退出”:點擊該選項時,應用將從運行狀態(tài)退出6.5后臺操作:點擊手機上的menu鍵,在出現的菜單中選擇“后臺”選項,或者點擊home鍵,這兩種方法都可使該應用在后臺運行6.6退出:點擊手機上的menu鍵,在出現的菜單中選擇“退出”選項,或者點擊手機上的彎箭頭退出鍵,這兩種方法都可是應用退出運行,此時service停止工作7軟件主要包含的文件7.1Java編程文件:(含以下三個文件包):(a):該包主要放置界面文件,含有以下四個界面文件:(1)About.java:該文件是用來限制當點擊menu中的“關于”選項時跳轉的界面(2)Help.java:該文件是用來限制當點擊menu中的“幫助”選項時跳轉的界面(3)mainActivity.java:該文件是用來限制主操作界面的顯示(4)startActivity.java:該文件是用來限制開啟應用時界面的顯示(b):該包主要放置監(jiān)聽文件,含有以下一個文件:(1)ReceiverOfCall.java:該文件是用來注冊監(jiān)聽器,用來監(jiān)聽來電狀況(c):該包主要用來放置service文件,含有以下一個文件:(1)mainService.java:該文件為服務程序,該應用的主要功能由該文件完成7.2res_layout下的文件:(a)main.xml:啟動應用時界面的布局文件(b)rcabout.xml:選擇menu中“關于”項時跳轉的界面的布局文件(c)rchelp.xml:選擇menu中“幫助”項時跳轉的界面的布局文件(d)start.xml:操作界面的布局文件7.3res_value下的字符串賦值文件:(a)strings.xml:該文件中是鍵值對的形式,是對字符串的負值,其形如:<stringname=”app_name”>自動回復</string>7.4系統(tǒng)配置文件:(a)AndroidManifest.xml:該文件中含有對activity,service等文件的注冊,和一下權限的設置8主要的代碼極其實現的流程8.1當點擊應用的圖標時,應用就將啟動8.2因為在配置文件AndroidManifest.xml中設置了如下語句:<activityandroid:name=".activity.startActivity" android:label="@string/app_name"> <intent-filter> <actionandroid:name="ent.action.MAIN"/> <categoryandroid:name="ent.category.LAUNCHER"/> </intent-filter> </activity>所以開機時首先啟動startActivity這個文件8.3在startActivity代碼中首先執(zhí)行語句setContentView(R.layout.main);,這個語句的意思是該activity文件的布局運用main.xml文件的布局方式,而在main.xml文件中android:background="@drawable/dukeb"表示該布局為界面背景是一張圖片,該圖片存在res_drawable-mdpi中,是一個android機器人的logo,下面有行字:“HohaiAT出品”8.4所以運行到此時,界面顯示的是一張圖片,圖片中有個android機器人的logo,然后下面有行“HohaiAT出品”的字8.5在界面展示這張圖片的同時,startActivity接著執(zhí)行,起先執(zhí)行t2=newgetContacts2();t3=newjump();t2.start();t3.start();即開啟兩條線程,線程getContacts2()的作用為讀取電話簿中電話號碼總的條數,線程jump()的作用為使首個出現的界面最少持續(xù)5秒鐘,然后等待讀取電話簿內容的完成8.6線程getContacts2()把電話號碼的總條數得到后就去啟動getContacts()線程,該線程就起先把電話簿的詳細內容存入數組aa和bb中,等到讀取完成后就會將isFinish置為true(aa數組是包含姓名和號碼,bb數組只含號碼)8.7當isFinish置為true后,jump線程等待結束,于是就會執(zhí)行如下代碼:Intentintent=newIntent();Intent.setClass(startActivity.this,mainActivity.class); startActivity(intent);這樣的話就可以由原界面跳轉到主的操作界面代碼: startActivity.this.finish(); break;可以使原來的界面消逝掉8.8現在就起先執(zhí)行mainActivity.class,從而進入了主操作界面的顯示8.9語句publicstaticStringcontent="現在正忙,稍后給您回復";publicstaticStringcontent2="2";autoAckTextView.setText(content);timeTextView.setText(content2);使得“回復內容”編輯框與“回復周期”的編輯框中的默認內容分別為:回復內容:“現在正忙,稍后給您回復”回復周期:2(單位:分鐘)8.10假如用戶想自定義“回復內容”和“回復周期”,可以點擊編輯框進行刪除和編寫,代碼中的語句content=autoAckTextView.setText.getText().toString();content2=timeTextView.setText.getText().toString();可以使程序獲得在編輯框的輸入8.11下面用戶就要確定是否選擇“開啟電話簿對比”單選按鈕:(a)當未選中的狀況下,由語句Check2.setEnabled(false);Contact01.setEnabled(false);可使下面緊跟的一個單選按鈕“是否全選”和再下面的“點擊從電話簿中選擇聯系人”按鈕處于不行選的狀態(tài)mainService.isOnCheck=false;這個語句使得service中的startcommond()方法中在有來電進行處理時不進行號碼的比對,這樣無論是什么號碼來電都會進行短信自動回復(b)當選中的狀況下,由語句Check2.setEnabled(true);Contact01.setEnabled(true);這時單選按鈕“是否全選”和再下面的“點擊從電話簿中選擇聯系人”按鈕就可以被選中mainService.isOnCheck=true;這時service中的startcommond()方法中在有來電時會與電話簿中的號碼進行對比,只有被選中的號碼才會回復8.12下面就起先選擇是否“電話簿全選”單選按鈕(a)若全選的話,在service中的startcommond()中就會將來電號碼與電話簿中的號碼進行比對,如下代碼for(intj=0;j<cc.length;j++)if(Num.equals(cc[j])) b=false; break;該代碼中的數組cc是用來存放被選中的號碼,假如被全選的話,此時的cc數組中的值就為電話簿中的全部號碼(b)若不全選的話,就點擊“點擊從電話簿中選擇聯系人回復”按鈕,該按鈕的監(jiān)聽部分有個AlertDialog對象,該對象可以彈出一個多選列表,列表的內容為startActivity.aa,即其內容為電話簿里的全部內容,當選完聯系人后點擊確定按鈕,點擊后就會將被選中的聯系人的號碼存放到cc數組中,這樣的話有來電時就會再一次經過對比代碼:for(intj=0;j<cc.length;j++)if(Num.equals(cc[j]))b=false;break;這樣的話只要是被選中的號碼都會回復短信8.13當點擊“開啟自動回復”按鈕時,按鈕會變成“關閉自動回復”,這時service起先啟動,下面起先進入mainService.java文件(注:上面的5.2.11與5.2.12所說的都是在該按鈕按下的狀況,當沒有按該按鈕時,來電的話不會有什么改變)8.14當service啟動時,首先執(zhí)行onCreate()方法,通過this.registerPhoneListenner();語句注冊了電話來電監(jiān)聽器注冊的代碼詳細為:publicvoidregisterPhoneListenner(){ callReceiver=newReceiverOfCall(); IntentFilterintentFilter=newIntentFilter( "ent.action.PHONE_STATE");registerReceiver(callReceiver,intentFilter);然后就執(zhí)行onStartCommand(Intentintent,intflags,intstartId)方法,因為當第一次執(zhí)行service時,startId的值是1,而我們第一次執(zhí)行時不須要做什么動作,所以通過if(startId!=1)推斷,讓其在第一次時什么也不做8.15然后這時監(jiān)聽器就等待電話打進來,當有電話打進來時就進入到了ReceiverOfCall.java這個BroadcastReceiver文件,如下的代碼:switch(tm.getCallState()){ caseTelephonyManager.CALL_STATE_RINGING: newmainService().endCall(); intent.setClass(context,mainService.class); context.startService(intent); break;其中首先調用newmainService().endCall();來自動掛斷電話,然后定義新的意圖intent,由代碼context.startService(intent);跳轉到service中,service文件只有在第一次執(zhí)行時才執(zhí)行onCreate()方法,所以這次就干脆進入onStartCommand(Intentintent,intflags,intstartId)方法,這次startId的值為2,可以通過推斷,然后執(zhí)行onStartCommand中的代碼8.16進入onStartCommand方法后就起先將調用方法mainActivity.turnColor();該方法的作用是將主操作界面最下面的“點擊查看未接來電”按鈕的字體變紅,以提示用戶此時有未接來電然后推斷該來電號碼是否符合之前設置的狀況,即推斷該號碼是否在數組cc中,假如不在的話就不做任何的反應,假如在的話就推斷該號碼是否在phoneNum數組中(該數組中放置的是在回復周期內打來過的號碼,當進入下個回復周期時,這個集合里面的號碼就會被刪掉),假如在phoneNum數組中,說明在回復周期內已經打來過了,那么就什么也不做,假如不在這個數組中,那么就啟動自動短信回復線程,并將該號碼加入phoneNum數組Threadt2=newThreadPhone(); t2.start();8.17就進入ThreadPhone()線程,首先執(zhí)行的代碼為:replyFromPhone(MyIntent,bundle);這條代碼的作用是回復短信下面執(zhí)行代碼:intminute=Integer.parseInt(mainActivity.getContent2()); Thread.sleep(minute*60000);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度航空運輸貨物代理委托及質量控制合同3篇
- 2024離婚財產分割協(xié)議公證與投資分割
- 2024版軟件許可與技術支持合同
- 二零二五年度股權激勵與員工離職補償合同樣本3篇
- 年度飛機碳剎車預制件戰(zhàn)略市場規(guī)劃報告
- 高校二零二五年度實驗室科研人員聘用合同2篇
- 針對2025年度環(huán)保項目的技術研發(fā)合作合同3篇
- 2024-2025學年高中語文第三課神奇的漢字3方塊的奧妙-漢字的結構練習含解析新人教版選修語言文字應用
- 2024-2025學年高中政治第三單元思想方法與創(chuàng)新意識第9課第2框用對立統(tǒng)一的觀點看問題訓練含解析新人教版必修4
- 2025年度特色餐飲業(yè)司爐員綜合管理服務合同3篇
- GB/T 11072-1989銻化銦多晶、單晶及切割片
- GB 15831-2006鋼管腳手架扣件
- 有機化學機理題(福山)
- 醫(yī)學會自律規(guī)范
- 商務溝通第二版第4章書面溝通
- 950項機電安裝施工工藝標準合集(含管線套管、支吊架、風口安裝)
- 微生物學與免疫學-11免疫分子課件
- 《動物遺傳育種學》動物醫(yī)學全套教學課件
- 弱電工程自檢報告
- 民法案例分析教程(第五版)完整版課件全套ppt教學教程最全電子教案
- 7.6用銳角三角函數解決問題 (2)
評論
0/150
提交評論