簡易的手機管家的設(shè)計與實現(xiàn)_第1頁
簡易的手機管家的設(shè)計與實現(xiàn)_第2頁
簡易的手機管家的設(shè)計與實現(xiàn)_第3頁
簡易的手機管家的設(shè)計與實現(xiàn)_第4頁
簡易的手機管家的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

精選優(yōu)質(zhì)文檔-----傾情為你奉上精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)專心---專注---專業(yè)精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)簡易的手機管家的設(shè)計與實現(xiàn)目錄緒論1.1系統(tǒng)開發(fā)背景隨著現(xiàn)代通信行業(yè)的迅猛發(fā)展,手機幾乎每個人都會有,人們的隱私越來越暴露,也給用戶帶來了諸多不便。通過對市場的大量調(diào)查結(jié)合我們的專業(yè)知識,基于現(xiàn)在最熱門的手機智能操作系統(tǒng)(Android)開發(fā)了一款手機管家,賦予了它管理手機文件和電話騷擾攔截功能。需求分析2.1可行性分析2.1.1技術(shù)可行性很多博客中都有很多關(guān)于手機管家的介紹,我們身邊有很多學(xué)習(xí)Android的老師同學(xué)可以幫助我們。2.1.2經(jīng)濟可行性我們是自行開發(fā)的系統(tǒng),成本可以忽略不計,還有后期維護的費用也相對比較低廉。2.1.3操作可行性軟件編程完成后可直接在手機上測試運行2.1.4法律可行性本系統(tǒng)開發(fā)不會侵犯他人、集體或國家利益,不存在侵權(quán)等問題,不違反國家法律,因此具有法律可行性。2.2業(yè)務(wù)流程如圖2—如圖2—SEQ如圖2—\*ARABIC1騷擾攔截騷擾攔截文件管理文件打開重命名文件刪除文件加入攔截號碼圖2-圖2-SEQ圖2-\*ARABIC1概要設(shè)計3.1文件管理首先是獲取當(dāng)前是否是根目錄,然后把文件的路徑設(shè)置給我們要顯示的View。然后用一個ArrayList來裝我們目錄下的所有的文件或者文件夾。把這個文件夾的父類裝到我們的列表中去,然后把這個文件夾下的子文件都拿到,也裝在列表中,然后調(diào)用Adapter顯示出來。3.2騷擾攔截其實在android在1.1版本后就已經(jīng)把Phone類的相關(guān)API給隱藏起來了,想要用代碼實現(xiàn)掛斷電話的功能,就必須通過AIDL才行,然后利用反射來使用其方法在程序中新建一個包,包名必須為:ernal.telephony,因為使用aidl。要監(jiān)聽電話狀態(tài),當(dāng)來電時,檢測來電號碼是否符合攔截標(biāo)準(zhǔn)(這個攔截標(biāo)準(zhǔn)是我們自己定的,我們攔截指定號碼如實現(xiàn)一個黑名單的功能)詳細設(shè)計與系統(tǒng)實現(xiàn)4.1模塊設(shè)計本軟件分為兩個功能模塊:文件管理、騷擾攔截如圖4-SEQ如圖4-\*ARABIC1所示圖4-圖4-SEQ圖4-\*ARABIC1

4.1.1文件管理的詳細設(shè)計通過獲取文件的根目錄對文件進行打開、重命名、刪除的操做如圖4-如圖4-SEQ如圖4-\*ARABIC2所示圖4-圖4-SEQ圖4-\*ARABIC打開文件打開文件需要知道文件的類型,我們通過方法getMIMEType()獲取文件類型代碼如下:privateStringgetMIMEType(Filefile){

Stringtype="";

Stringname=file.getName();

Stringend=name.substring(name.lastIndexOf(".")+1,name.length()).toLowerCase();

if(end.equals("m4a")||end.equals("mp3")||end.equals("wav")){

type="audio";

}

elseif(end.equals("mp4")||end.equals("3gp")){

type="video";

}

elseif(end.equals("jpg")||end.equals("png")||end.equals("jpeg")||end.equals("bmp")||end.equals("gif")){

type="image";

}else{

type="*";

}

type+="/*";

returntype;

}打開文件需要調(diào)用系統(tǒng)應(yīng)用,通過方法openFile()方法里Intent.FLAG_ACTIVITY_NEW_TASK與Intent.ACTION_VIEW實現(xiàn),代碼如下:

privatevoidopenFile(Filefile){

Intentintent=newIntent();

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

intent.setAction(Intent.ACTION_VIEW);

Stringtype=getMIMEType(file);

intent.setDataAndType(Uri.fromFile(file),type);

try{

startActivity(intent);

}catch(Exceptione){

Toast.makeText(this,"未知類型,不能打開",Toast.LENGTH_SHORT).show();

}

}

重命名文件獲取文件的根目錄,進行重命名如圖4-SEQ如圖4-\*ARABIC3所示圖4-圖4-SEQ圖4-\*ARABIC3獲取文件的根目錄file.getParentFile().getPath()然后判斷文件是否可讀再進行命名操作,代碼如下:if(newFile.exists()){

//排除沒有修改情況

if(!modifyName.equals(file.getName())){

//彈出對話框

newAlertDialog.Builder(MainFile.this)

.setTitle("注意!")

.setMessage("文件名已存在,是否覆蓋?")

.setPositiveButton("確定",newDialogInterface.OnClickListener(){

@Override

publicvoidonClick(DialogInterfacedialog,intwhich){

if(file.renameTo(newFile)){

showFileDir(fpath);

displayToast("重命名成功!");

}else{

displayToast("重命名失??!");

}

}

})

.setNegativeButton("取消",newDialogInterface.OnClickListener(){

@Override

publicvoidonClick(DialogInterfacedialog,intwhich){

}

}.show();

}

}else{

if(file.renameTo(newFile)){

showFileDir(fpath);

displayToast("重命名成功!");

}else{

displayToast("重命名失??!");

}}刪除文件判斷文件是否存在然后刪除如圖4-SEQ如圖4-\*ARABIC如圖4-SEQ如圖4-\*ARABIC4所示圖4-SEQ圖4-\*ARABIC4通過File類中的delete()方法進行刪除,代碼如下:if(file!=null)

{

try

{

Filefile2=file;

file2.delete();

result=true;

}

catch(Exceptione)

{

e.printStackTrace();

result=false;

}

}4.1.2騷擾攔截的詳細設(shè)計對來自黑名單中的電話進行攔截如圖4-如圖4-SEQ如圖4-\*ARABIC5圖4-圖4-SEQ圖4-\*ARABIC保存需攔截的號碼通過SharedPreferences把要攔截的號碼存起來,代碼如下:SharedPreferencessp=context.getSharedPreferences("phone",Context.MODE_PRIVATE);

sp.edit().putString(key,value).commit();監(jiān)聽電話狀態(tài)進行攔截通過BroadcastReceiver采用廣播機制向全體廣播監(jiān)聽手機電話未接聽、通話中、掛斷三種狀態(tài),在未接聽的狀態(tài)中核對黑名單電話進行攔截,代碼如下:Methodmethod=clazz.getDeclaredMethod("getITelephony",(Class<?>)null);

//設(shè)置可訪問

method.setAccessible(true);

//執(zhí)行方法

ITelephonyiTelephony=(ITelephony)method.invoke(tm,(Object)null);

//判斷

//得到號碼

Stringn=PrefUtil.getString(context,"number","").trim();

if(n.equals(number)){

iTelephony.endCall();

}系統(tǒng)測試以及軟件安裝5.1測試報告軟件在中興手機型號為NX513J,android版本為5.1.1中測試通過,文件管理模塊在測試打開文件的時候部分文件打不開,我們通過下載別的應(yīng)用,再用軟件打開就成功了,原來此型號手機并沒有預(yù)裝打開所有軟件的應(yīng)用騷擾攔截模塊測試過程通過,只要設(shè)置好黑名單電話后,對方撥打電話就會提示在通話中,移除黑名單后則恢復(fù)正常。結(jié)論通過本次課程設(shè)計我們對android的知識有了系統(tǒng)的了解,也增強動手實踐的能力,我們也學(xué)會了怎么快速查閱資料,怎么解決問題的能力。本次課程設(shè)計非常感謝我們的老師給予我們的幫助。參考文獻

楊云君.

Android的設(shè)計與實現(xiàn)[M].

北京:機械工業(yè)出版社,2017:5-65.

李剛.瘋狂Android

講義[M].

北京:電子工業(yè)出版社,2013:12-87.賽奎春.JAVA工程應(yīng)用與項目實踐[M].機械工業(yè)出版社,2002.8:23-294姚昱旻,劉衛(wèi)國.Android的架構(gòu)與應(yīng)用開發(fā)研究[J].

溫馨提示

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

評論

0/150

提交評論