freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于安卓系統(tǒng)手機(jī)通訊防火墻畢業(yè)設(shè)計-資料下載頁

2025-06-05 16:49本頁面
  

【正文】 更多的是了解了計算機(jī)體系的整體框架:需求規(guī)格可以讓我們更多的了解用戶的需求,站在用戶的角度去思考問題,而不僅僅是開發(fā)完一個系統(tǒng)就夠了,更多的是要考慮用戶的體驗(yàn)和人機(jī)交互,只有真正的為用戶著想,解決用戶的需要,明白用戶需要的是什么才是一個好的軟件;根據(jù)需求規(guī)格開發(fā)人員就可以更好的開發(fā)系統(tǒng),除此之外,軟件設(shè)計不單純是設(shè)計出一套軟件,而是要在開發(fā)的時候站在全局的高度,在設(shè)計的同時也要考慮后續(xù)程序維護(hù)和程序擴(kuò)展的可能性和可行性,盡可能的保證程序操作流程的簡單,也要讓用戶有一個良好的使用環(huán)境。當(dāng)然,程序本身的功能也是不可忽略的,只有實(shí)現(xiàn)了用戶的基本需求,才能保證系統(tǒng)正常運(yùn)行。技術(shù)是無止境的,同樣需求也是隨時會變化的,因此,一個系統(tǒng)的擴(kuò)展性才能保證用戶有一個良好的計算機(jī)環(huán)境。確定了用戶的需求以及實(shí)現(xiàn)了軟件開發(fā)之后,軟件測試也是必不可少的,沒有一個軟件開發(fā)出來都是絕對正確的,只有在不斷的調(diào)試和測試中發(fā)現(xiàn)問題,才能保證軟件的可靠性。盡管開發(fā)人員在開發(fā)的過程中是按照需求來的,但是有的時候未必會如預(yù)期一樣的結(jié)果,因此,在調(diào)試過程中,也要站在用戶的角度去調(diào)試程序,了解整個系統(tǒng)的過程,提供一個良好的測試環(huán)境。在這次畢業(yè)設(shè)計中,由于時間關(guān)系,還有部分問題沒有得到徹底解決,比如在做呼叫轉(zhuǎn)移時,沒有能夠最終完全實(shí)現(xiàn)。在設(shè)置防騷擾模式中,對于整個系統(tǒng)的時間限定由于涉及到整個系統(tǒng)的應(yīng)用權(quán)限等,沒有很好的理清邏輯,也沒有全部完成。這些都有待今后進(jìn)一步完全。附 錄附錄1 系統(tǒng)運(yùn)行結(jié)果進(jìn)入系統(tǒng)后,系統(tǒng)默認(rèn)顯示黑名單中的列表信息,列表信息包括對名單的屬性操作以及用戶基本信息姓名和電話,用戶也可以根據(jù)自己的選擇顯示白名單中的信息,“關(guān)于”主要是簡單介紹系統(tǒng)以及操作流程。通過菜單功能鍵,選擇對應(yīng)的操作。( 主界面效果圖) 主界面效果圖用戶選擇添加黑/白名單之后,進(jìn)入添加名單界面,可以根據(jù)需要手動輸入或者從手機(jī)系統(tǒng)中直接導(dǎo)入:手動輸入時,需要用戶姓名,分隔符之后再輸入電話號碼;點(diǎn)擊系統(tǒng)導(dǎo)入按鈕,跳轉(zhuǎn)到用戶手機(jī)聯(lián)系人中,選中需要添加的名單,確定之后該名單信息顯示在編輯框中。然后選擇電話攔截設(shè)置和短信攔截設(shè)置屬性,通過菜單功能鍵保存設(shè)置或取消本次操作。( 添加名單效果圖) 添加名單效果圖用戶選擇攔截記錄,根據(jù)自己的需要查看攔截記錄中的電話記錄或者短信記錄。( 攔截記錄效果圖) 攔截記錄效果圖進(jìn)入全局設(shè)置界面后,用戶可以根據(jù)自己的需求設(shè)置屬性要求:選擇啟用的名單,電話攔截設(shè)置和短信攔截設(shè)置(是否顯示通知、保存攔截記錄、自動回復(fù))等。用戶也可以選擇登陸使用,在下次登陸系統(tǒng)時,需要使用特定的賬號才被允許進(jìn)入。( 全局設(shè)置效果圖) 全局設(shè)置效果圖用戶選擇對應(yīng)的名單,進(jìn)行清空操作,系統(tǒng)通知確定刪除,如果用戶選擇“是”,則刪除該名單中的全部信息;如果用戶選擇“否”,則該操作取消。( 清空效果圖) 清空效果圖附錄2 程序源代碼這里主要是初始化主界面、菜單功能鍵以及對主界面中的清空操作做一個判斷 用戶在使用過程中登陸使用的判斷,在各個界面顯示設(shè)置適配器等。 public class ListMainInforAndClearActivity extends TabActivity { SimpleAdapter adapterBlack。 SimpleAdapter adapterWhite。 ListMapString, String listBlack。 ListMapString, String listWhite。 int menuId = 1。 BlackPreferenceUtil blackUtil。 WhitePreferenceUtil whiteUtil。 boolean flushBlack = false。 boolean flushWhite = false。 String number = null。 String name = null。 AllSetWay globle。 GloblePreferenceUtil globleUtil。 MapString, String callMap。 View dialogView。 String username。 String password。 boolean success = false。 Dialog dialog。 public void onCreate(Bundle savedInstanceState) { (savedInstanceState)。 requestWindowFeature()。 setContentView()。 initTabHost()。// 初始化TabHost initHoldetWidget()。// 初始化控件 getTabHost().setOnTabChangedListener(new TabChangedListener())。 globleUtil = new GloblePreferenceUtil(this)。 globle = ()。 initLogin()。 if (dialog != null) { (new OnDismissListener() { public void onDismiss(DialogInterface dialog) { if (!success) { finish()。 } } })。 } } /////////////////////////用戶登錄是判斷是否賬號密碼正確 private void initLogin() { if (() amp。amp。 !success) { builder = new (this)。(用戶登錄)。dialogView = (this).inflate(, null)。 (dialogView)。 (確定, new () { public void onClick(DialogInterface dialog, int which) { keepDialog(dialog)。 EditText et_name = (EditText) dialogView .findViewById()。 EditText et_password = (EditText) dialogView .findViewById()。 username = ().toString()。 password = ().toString()。 if ((!(()))//使用信息匹配 || ().length() = 0) { (對不起,用戶名有誤)。 ()。 return。 }if (().length() = 0 || !((()))) { (對不起密碼有誤)。 ()。 return。 } distoryDialog(dialog)。 success = true。 } })。 (取消, new () { public void onClick(DialogInterface dialog, int which) { distoryDialog(dialog)。 finish()。 } })。 dialog = ()。 ()。 } } /** * 監(jiān)聽頁簽選項卡的改變,到底使用的是那個界面 */ private class TabChangedListener implements OnTabChangeListener { public void onTabChanged(String tabId) { if ((black)) { menuId = 1。 } else if ((white)) { menuId = 2。 } else if ((about)) { menuId = 3。 } (tabId)。 } } /** * 初始化控件 */ private void initHoldetWidget() {//初始化主界面中的3個選項 = (ListView) findViewById()。 = (ListView) findViewById()。 = (ListView) findViewById()。 initBlackList()。 initWhiteList()。 } // 初始化白名單顯示列表 private void initWhiteList() { whiteUtil = new WhitePreferenceUtil(this)。 listWhite = ()。//得到白名單中所有的信息 adapterWhite = new SimpleAdapter(this, listWhite, , new String[] { inputNumber, name }, new int[] { , })。(adapterWhite)。//加載適配器中的資源,顯示出來 registerForContextMenu()。 } private void initBlackList() {//初始化黑名單,顯示列表信息 blackUtil = new BlackPreferenceUtil(this)。 listBlack = ()。 ////////////////適配器 adapterBlack = new SimpleAdapter(this, listBlack, , new String[] { name, inputNumber, barIning, barOuting, barSendSms, barReceiveSms }, new int[] { , , , , , })。 (adapterBlack)。 registerForContextMenu()。 } public void initTabHost() {//初始化頁簽 TabHost tabs = getTabHost()。 spec1 = (black) ()。 View view = (this).inflate(, null)。 TextView tv = (TextView) ()。 = (TextView) ()。 (黑名單)。 (view)。 spec2 = (white)。 ()。 View view1 = (this) .inflate(, null)。 TextViewtv1=(TextView) ()。 = (TextView) ()。 (白名單)。 (view1)。 spec3 = (about)。 ()。 View view3 = (this) .inflate(, null)。 TextView tv3 = (TextView) ()。 (關(guān)于)。 (view3)。 (spec1)。 (spec2)。 (spec3)。 } /** * 持有所有的控件 */ private static class Holder { static ListView lv_black。 static ListView lv_white。 static ListView lv_about。 static TextView tv_blackTabState。//頁簽狀態(tài),哪個頁簽被啟用 static TextView tv_whiteTabState。 } ///////////////////////////設(shè)置菜單,和菜單圖片 public boolean onCreateOptionsMenu(Menu menu) {//設(shè)置全部菜單內(nèi)容 // TODO Autogenerated method stub(1,3,3,攔截記錄).setIcon()。 (1,4,4,全局設(shè)置).setIcon()。 (1, 5, 5, 呼叫轉(zhuǎn)移).setIcon()。 (1, 6, 6, 清空).setIcon( )。 return (menu)。 } public boolean onPrepareOptionsMenu(Menu menu) {//如果選擇的是第一個菜單,則為添加黑名單 (1)。 (2)。 if (menuId == 1) {(1, 1, 1, 添加黑名單).setIcon()。//設(shè)置圖片 } if (menuId == 2) {(1, 2, 2, 添加白名單).setIcon()。 } return (menu)。 } public boolean onOptionsItemSelected(MenuItem i
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1