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

正文內(nèi)容

基于android的日歷提醒軟件的設(shè)計與實現(xiàn)畢業(yè)論文最終版(編輯修改稿)

2024-11-25 15:26 本頁面
 

【文章內(nèi)容簡介】 者方便用戶對現(xiàn)有事件作出一定的修改或者刪除。 ( 3) 課程管理模塊:在課程管理模塊中需要有星期的標(biāo)識,在某一天記錄課程時,需要對這門課程的時間有一定的顯 示,還有作業(yè)的情況方面的提醒,其他的增添刪除操作基本同日程管理模塊類似。 ( 4) 設(shè)置界面模塊:其中包含了一些對界面的設(shè)置以及對日程的設(shè)置選項。 ( 5) 關(guān)于信息模塊:其中包含了一些本軟件的設(shè)計信息及使用的一些基本信息。 日歷提醒軟件的功能結(jié)構(gòu)圖 首先在設(shè)計時可以根據(jù)日歷提醒軟件中的幾個大模塊:日歷查看模塊、日程管理模塊、課程管理模塊、設(shè)置界面模塊、關(guān)于信息模塊來繪制出本軟件總體的一個功能模塊圖,如圖 41 所示,總體的結(jié)構(gòu)圖反映了本系統(tǒng)各個模塊之間的聯(lián)系和總體情況。 11 圖 41 系統(tǒng)總體功能模塊圖 然后在總體的功能模塊圖完成后,就是各個模塊的詳細(xì)功能結(jié)構(gòu)圖,在日歷模塊的界面顯示上,可以分為如下幾個部分,見圖 42: 圖 42 日歷顯示模塊圖 接下來就是日程模塊的結(jié)構(gòu)圖,里面應(yīng)該包含有重要日程的顯示,日程的添加和刪除等,以及事件的記錄,見圖 43: 圖 43 日程界面模塊 日歷系統(tǒng) 主界面 日歷模塊 任務(wù)模塊 設(shè)置模塊 關(guān)于模塊 日歷顯示 總?cè)粘田@示 單一日程顯示 類型設(shè)置 關(guān)于信息 日歷顯示 日期顯示 陰歷日期顯示 節(jié)假日顯示 日程顯示 選擇日程類型選擇 書寫日程時間 書寫日程內(nèi)容 刪除日程 12 對于一些在校的學(xué)生,我們還設(shè)置了一個課程管理 的模塊,方便學(xué)生們對自己課程 的一些時間、地點等做一些提醒安排,詳細(xì)見圖 44: 圖 44 課程界面功能模塊圖 以上就是本系統(tǒng)的一個初步的設(shè)計,其中它可以方便的顯示出當(dāng)前日期以及當(dāng)前日期內(nèi)的一些日程安排,或者顯示出當(dāng)前日期內(nèi)有什么樣的課程安排,同時,也可以讓用戶能夠隨時對自己的日程進(jìn)行查看、修改、添加或者刪除,而這些人性化的設(shè)置,為本系統(tǒng)增色不少。接下來就是整個軟件最重要的部分了,也就是詳細(xì)設(shè)計階段。 課程界面 課程設(shè)置 課程增加 課程刪除 課程查看 13 5 日歷提醒軟件的詳細(xì)設(shè)計 詳細(xì)設(shè)計最主 要的目的就是確定如何實現(xiàn)在概要設(shè)計中具體的功能和要求,也就是經(jīng)過這一階段,需要得出對目標(biāo)功能的精確描述,詳細(xì)一點就是為軟件結(jié)構(gòu)圖中的每一個模塊編寫相應(yīng)的代碼和算法。詳細(xì)設(shè)計的目的不僅僅是要在邏輯上正確地實現(xiàn)每個模塊的功能,最重要的就是在設(shè)計處理的過程中應(yīng)該盡可能的簡潔易懂。 本軟件日歷界面的設(shè)計和實現(xiàn) ( 1) 第一步:系統(tǒng)需要建立一個布局文件來顯示年月日,采用 TextView 類 ,對應(yīng)在日歷的 CalendarActivity 文件中加入函數(shù)來添加 年月日 等信息。 接下來需要編寫一個作為日歷顯示的 CalendarView 類 ,其中使用重載的方法來定義幾個具有不同參數(shù)的CalendarView 用于不同的情況。 接下來 在 的工作就是在 CalendarActivity這個類中 實例化 CalendarView并且使用CalendarView 其 中的一 個 方法 CalendarView(this, getResources(),jumpMonth,jumpYear,year_c,month_c,day_c)。然后書寫方法來添加頭部的年份 等信息。接下來通過動態(tài)化的方法來實現(xiàn)對頁面的頭部進(jìn)行布局,接著建立一個可以對值進(jìn)行改變的 StringBuffer 類型的參數(shù) textDate,并對其進(jìn)行 append 操作,添加到年月日的參數(shù)里,對月閏年的判斷,是通過一個條件函數(shù)()的值 來進(jìn)行判斷的,最后 對界面使用 setText 方法來賦值到界面上 ,最后一步就是使用動態(tài)布局模式對界面進(jìn)行一些美化操作。 ( 2)第二步:需要對日歷界面中的主體,也就是日期部分的顯示要完成。首先 在CalendarActivity 文件初始化實例對象時加入動態(tài)添加布局文件 ,并將此方法命名為addGridView,然后在這個方法中進(jìn)行動態(tài)化布 局, GridView 可以 將一系列的空間組織成二維網(wǎng)格的形式顯示出來 ,所以這里比較適合對日期的界面進(jìn)行布局。首先還是動態(tài)化布局的建立,這里可以實例化 GridView 為 gridView 參數(shù)進(jìn)行 ,在這里還需要添加GridView 控件的列為 7,列寬為 46,然后加上判斷屏幕大小的條件,這就需要加入取得屏幕大小的對應(yīng)函數(shù),如果是 800*480 屏幕的話 ,需要將列寬設(shè)置為 69,接下來對水平 和豎直的間距、取值邊框、設(shè)置居中 等進(jìn)行一系列的操作。 在這個方法里面還需加入個 OnTouch 方法,用來將 gridView 中的觸摸事件回傳給 gestureDetector,進(jìn)行下面的觸摸操作,即: @Override public boolean onTouch(View v, MotionEvent event) { return .onTouchEvent(event)。 } })。 日歷的布局創(chuàng)建完成后,需要在里面填上具體的日期。就對當(dāng)前顯示的界面來說,需要建立幾個對應(yīng)的參數(shù)來顯示和傳接數(shù)據(jù)。比如 在函 數(shù)開始時就 String[] dayNumber = new String[49]。這是作為對 GridView控件內(nèi)進(jìn)行標(biāo)記序列的, 可以對接下來的條件 14 語句進(jìn)行判斷,還有就是對界面內(nèi)的一些控件名進(jìn)行實例化,然后是對頁面屬性值進(jìn)行動態(tài)化設(shè)置。接著在對日期中的第一行就是周一、周二等的這行,設(shè)置出字的顏色以及背景圖案,而這行的位置需要通過 對參數(shù) position(對應(yīng)編號)進(jìn)行判斷是否在 7以內(nèi)。 接下來就是當(dāng)前月份的信息顯示,這也需要用條件函數(shù)來判斷是否是當(dāng)前月(也就是判斷參數(shù) position是否在范圍內(nèi)), 然后對當(dāng)天的日期進(jìn)行一個標(biāo)記,可以設(shè)置當(dāng)天的日期背景為圖片 current_day_bgc,字體的顏色為白色。 通過上面的這些步驟,我們就基本完成了日歷界面中的一些初步設(shè)置。 ( 3)最后,由于市場上現(xiàn)在用的手機(jī)大都是觸摸屏幕,也就是說日歷菜單需要通過我們的觸摸來進(jìn)行翻頁,所以需要在總體布局下建立一個 ViewFlipper 類 (這個類可以實現(xiàn)屏幕的切換),然后 然后實例化手勢 gestureDetector并取得布局中 ViewFlipper用于下面的調(diào)用。 接下來書寫手勢的方法主要是 onFling 的方法 ,這個方法可以 實現(xiàn)頁面的向左或者向右滑動的操作,而這個操作可以用條件語句來實現(xiàn): 由滑動兩點的 x 坐標(biāo)的值進(jìn)行差值計算,如果是起點減去 終 點大于 120 時著向左滑動,反之則向右滑動。在滑動操作開始,并且已切換一面后就需要載入新的一張日歷頁面,這里又會用到參數(shù) calV,當(dāng)向右 滑動時則將參數(shù) calV 所代表的函數(shù) CalendarView 里的 jumpMonth 加 1,代表下一個月;當(dāng)向 左 滑動時則將參數(shù) calV 所代表的函數(shù) CalendarView 里的 jumpMonth 減 1,代表上一個月。 這樣,我們的軟件的界面可以說是大體上完成。 在日歷界面的顯示中,我們除了一些基本的日期顯示外,還應(yīng)該在日期的頭部頁面上有每年每月的顯示,而 在 LunarCalendar 方法 里面 就 包括 干支紀(jì)年 等信息。 同樣的其他信息,也是通過字節(jié)數(shù)組來儲存的。 在閏年判斷函數(shù) SpecialCalendar中可以對每月天數(shù),或者每月的第一天是星期幾進(jìn)行判斷。閏年是通過傳回年值并通過函數(shù)進(jìn)行判斷,最后傳回布爾值;而每月的天數(shù)是用 switch 進(jìn)行判斷并賦值給月份天數(shù)的參數(shù);對每月的第一天為星期幾則是使用如下代碼: public int getWeekdayOfMonth(int year, int month){ Calendar cal = ()。 (year, month1, 1)。 dayOfWeek = ()1。 return dayOfWeek。 } 日歷的界面完成如圖 51所示: 15 圖 51 日歷提醒軟件的界面 本軟件任務(wù)界面的設(shè)計 任務(wù)界面的數(shù)據(jù)庫準(zhǔn)備 本軟件的任務(wù)界面主要包含主界面的日程顯示以及對應(yīng)日期內(nèi)的任務(wù)顯示 ,還有任務(wù)的添加與刪除等。首先任務(wù)界面所涉及到的就是日程數(shù)據(jù)的存儲,以下先做介紹。 ( 1) 數(shù)據(jù)庫表的建立: 主要建立了兩個表: schedule 表(日程的表)和scheduletagdate(標(biāo)記日期所需的表) 。 Android 提供了標(biāo)準(zhǔn)的數(shù)據(jù)庫創(chuàng)建方式。建立 DBOpenHelper 類繼承到 SQLiteOpenHelper ,實現(xiàn) onCreate 和 onUpgrade 兩個方法。 16 首先對 schedule 表 進(jìn)行建立,在其中包括日程及日程類型的 ID,日程重復(fù)類型的ID,日程的正文內(nèi)容和日程時間這幾個參數(shù),在創(chuàng)建時需要填 寫上參數(shù)名、參數(shù)類型及主鍵等。 (CREATE TABLE IF NOT EXISTS schedule(scheduleID integer primary key autoincrement,scheduleTypeID integer,remindID integer,scheduleContent text,scheduleDate text))。 接下來 是 對 scheduletagdate表的建立 ,在這個表中包括了標(biāo)記的 ID、年信息、月信息、日信息、日程 ID這幾個參數(shù) 。 (CREATE TABLE IF NOT EXISTS scheduletagdate(tagID integer primary key autoincrement,year integer,month integer,day integer,scheduleID integer))。 建立完表后是繼續(xù)寫入 onUpgrade 方法,這個方法 在數(shù)據(jù)庫升級時會被觸發(fā) ,以便于軟件升級時更新表結(jié)構(gòu)。 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { (DROP TABLE IF EXISTS schedule)。 (DROP TABLE IF EXISTS scheduletagdate)。 onCreate(db)。 } ( 2)再分別建立 ScheduleVO 和 ScheduleDateTag ,里面分別寫了表里面各個數(shù)據(jù)的 get(表示獲取某個變量值)和 set(表示設(shè)置某個變量值)方法,以便于調(diào)用。 ( 3)建立 ScheduleDAO文件,這個文件是用來寫數(shù)據(jù)庫的查找、刪除等方法。 首先是需要實例化 DBOpenHelper用于數(shù)據(jù)庫數(shù)據(jù)的 get與 set。 private DBOpenHelper dbOpenHelper = null。 public ScheduleDAO(Context context){ dbOpenHelper = new DBOpenHelper(context, )。 } 下面就是對表中數(shù)據(jù)的操作了,包括了保存日程信息、查詢某一條日程信息、查詢所 有的信息、刪除日程、將日程標(biāo)記的日期保存到數(shù)據(jù)庫中。 ( 1) 保存日程信息:首先需要從日程添加頁面里獲取日程類型的 ID、日程重復(fù)類型的 ID、日程的正文內(nèi)容、日程時間這幾個參數(shù),接下來使用 ContentValues類(這個類是一個鍵值對,是用來存儲名值對,它的名一般是 String類型,而值都是基本類型)來 NEW一個參數(shù),然后用這個參數(shù)的 PUT方法將這些參數(shù)放入到數(shù)據(jù)庫中。 (scheduleTypeID, ())。 (remindID, ())。 (scheduleContent, ())。 (scheduleDate, ())。 最后調(diào)用添加方法 insert。 (schedule, null, values)。 然后需要用到 moveToFirst方法來判斷是否為 空 ,從而進(jìn)行一系列相關(guān)操作。 ( 2) 查詢某一條日程信息: 本系統(tǒng)的設(shè)計是 通過對日程的點擊來查看當(dāng)前日期內(nèi)的詳細(xì)信息,也就是根據(jù)日程的 ID來 查看。 Android sqlite的查詢方法是 query方法 ,查詢語句是: (schedule, new String[]{scheduleID,scheduleTypeID,remindID,scheduleContent,scheduleDate}, 17 scheduleID=?, new String
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1