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

正文內(nèi)容

基于安卓的手機(jī)日歷管理系統(tǒng)-資料下載頁

2024-11-17 21:28本頁面

【導(dǎo)讀】常工作、領(lǐng)導(dǎo)的重要會議、個人重要日期或者時間等。這些工作都需要在特定的時間給予。醒目標(biāo)識或者提示。而為了能盡可能的減少人們的負(fù)擔(dān),來更有效率的工作和更舒適的生。人一般日程和重要日程安排并提供提醒和查看的功能。而且現(xiàn)如今手機(jī)安卓系統(tǒng)已經(jīng)成為一。門及其熱門的技術(shù),因此我選擇將基于安卓的手機(jī)日程管理系統(tǒng)作為我的畢業(yè)設(shè)計課題。查功能,在日歷瀏覽中可突出顯示有安排的日期。用戶可根據(jù)不同的活動設(shè)置任務(wù),便于。系統(tǒng)還具備提醒程序,可幫助管理重要活動,并且實現(xiàn)與網(wǎng)絡(luò)數(shù)據(jù)同步的。系統(tǒng)是基于安卓的基礎(chǔ)知識和Java語言,以及SQLite提供的數(shù)據(jù)的管理來開發(fā)的,最終取得了較圓滿的成果。

  

【正文】 月天數(shù),以及對每月的第一天星期的判斷。 閏年通過傳回年值通過函數(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。 第四章 系統(tǒng)詳細(xì)設(shè)計 22 } 最終的效果如圖 42: 圖 42 日歷界面的最終實現(xiàn)圖 系統(tǒng)任務(wù)界面的設(shè)計 任務(wù)界面包括任務(wù)主界面(所有日程的顯示)和對應(yīng)日期任務(wù)的顯示 ,任務(wù)的添加等。 在任務(wù)界面涉及到日程的數(shù)據(jù)存儲,所以先介紹下關(guān)于日程的數(shù)據(jù)存儲以及有日程的日期存儲(為日歷界面的標(biāo)記服務(wù))。 任務(wù)界面的數(shù)據(jù)庫準(zhǔn)備 ( 1)數(shù)據(jù)庫里表的建立 分別建立了 schedule 表(日程的表)和 scheduletagdate(標(biāo)記日期所需的表) Android 提供了標(biāo)準(zhǔn)的數(shù)據(jù)庫創(chuàng)建方式。 建立 DBOpenHelper 類 繼承 到 SQLiteOpenHelper ,實現(xiàn) onCreate 和 onUpgrade 兩個方法 。 OnCreate 方法是 用于初次使用軟件時生成數(shù)據(jù)庫, onUpgrade 方法是 用于升級軟件時大學(xué)本科生畢業(yè)設(shè)計(論文) 23 更新數(shù)據(jù)庫表結(jié)構(gòu)。 首先是 schedule 表的建立,在這個表中包括日程 ID、日程類型的 ID、日程重復(fù)類型的 ID、日程正文內(nèi)容、日程日程時間這幾個參數(shù)。建立時對應(yī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ù)庫中。 第四章 系統(tǒng)詳細(xì)設(shè)計 24 (scheduleTypeID, ())。 //放入日程類型 ID (remindID, ())。 //放入重復(fù)類型 ID (scheduleContent, ())。 //放入日程正文內(nèi)容 (scheduleDate, ())。 //放入日程日期信息 最后調(diào)用添加方法 insert。 (schedule, null, values)。//插入信息 另外需要 moveToFirst方法來判斷是否為空,進(jìn)行相關(guān)的操作。 ( 2) 查詢某一條日程信息 ,由于我這里的設(shè)計是通過對日程的點擊來查看當(dāng)前點擊日期的詳細(xì)信息,即是根據(jù)日程的 ID來查看的。 android sqlite的 查詢方法是 query方法 ,它的查詢語句是: (schedule, new String[]{scheduleID,scheduleTypeID,remindID,scheduleContent,scheduleDate}, scheduleID=?, new String[]{(scheduleID)}, null, null, null)。 另外還需要的是判斷語句,先用 ()判斷 curor 是否為空值,不為空則就給 cursor 賦值,空著直接 ()來 關(guān)閉。 ( 3) 查詢所有的日程信息 ,由于所有日期可能不止一個,所以返回值設(shè)為數(shù)組形式。查詢依舊是用 query方法,這里的的 where語句相關(guān)的就直接設(shè)為 null值。其他的依舊與查詢一條語句相仿。 ( 4) 刪除日程 ,這里的刪除日程需要將日程及對應(yīng)日期上的標(biāo)記一起刪除,這樣才可以便于管理,刪除使用的語句是 delete。 (schedule, scheduleID=?, new String[]{(scheduleID)})。//刪除日程信息 (scheduletagdate, scheduleID=?, new String[]{(scheduleID)})。//刪除日程對應(yīng)的日期標(biāo)識信息 ( 5) 將日程標(biāo)志日期保存到數(shù)據(jù)庫中 ,這里是為了將在日期上標(biāo)識的信息存儲到數(shù)據(jù)庫中,方法同第一步的保存相仿,只是數(shù)據(jù)的不一樣,而且使用的是數(shù)組形式。 for(int i = 0。 i ()。 i++){//以 for循環(huán)的方式進(jìn)行 dateTag = (i)。 ContentValues values = new ContentValues()。 (year, ())。//放入年信息 (month, ())。//放入月信息 (day, ())。//放入日信息 大學(xué)本科生畢業(yè)設(shè)計(論文) 25 (scheduleID, ())。//翻入日程的 ID (scheduletagdate, null, values)。//插入到表 scheduletagdate中 } ( 6) 只查詢出當(dāng)前日程 的 日期 ,這個查詢語句是通過當(dāng)前月的年和月信息來得到日程標(biāo)記上的所有信息。這里也是使用 query語句進(jìn)行查詢的,只不過改變了里面的查詢使用的參數(shù)。所以方法類同于上面所有日程的查詢。 ( 7) 當(dāng)點擊每一個 gridview中 item時 ,查詢出此日期上所有的日程標(biāo)記 (scheduleID), 通過點擊后得到對應(yīng)日期的年月 日信息,然后用 query方法 得到次日程標(biāo)記的 ID,用于后面得到想到相關(guān)的日程信息。 query(scheduletagdate, new String[]{scheduleID}, year=? and month=? and day=?, new String[]{(year),(month),(day)}, null, null, null)。 ( 8) 關(guān)閉 數(shù)據(jù)庫。判斷后直接關(guān)閉當(dāng)前數(shù)據(jù)庫。 if(dbOpenHelper != null){ ()。 任務(wù)界面之新增界面 新增界面是通過對日歷界面上單一日期的點擊來實現(xiàn)跳轉(zhuǎn)的。 ( 1)首先為了界面的美觀我建了幾個帶邊框的類,這些類是在原有的 textview等基本類的基礎(chǔ)上進(jìn)行美化后形成的。這里一共做了下面的三個實現(xiàn)了畫筆效果的類。 首先是帶下邊框的 TextView,這里 TextView類的基礎(chǔ)上用畫筆實現(xiàn)了下邊框的效果。 Paint paint = new Paint()。// 實例化一支畫筆 ()。 // 設(shè)置所繪制的邊框顏色為黑色 (0, () 1, () 1, this .getHeight() 1, paint)。 // 繪制下邊框 帶邊框的 EditText,這原本是一個基本的 EditText,文本編輯框的類,在這里加上了特殊的樣式、顏色及邊框的圓弧效果。 Paint paint = new Paint()。// 實例化一支畫筆 (1)。//設(shè)置空心現(xiàn)款 ()。//設(shè)置樣式 ()。//設(shè)置顏色 (true)。//抗鋸齒方法 RectF rectF = new RectF(2,0,()2,()2)。 //現(xiàn)在設(shè)置相關(guān)的參 數(shù)用于下面的操作。 (rectF, 8, 8, paint)。//畫上圓弧 第四章 系統(tǒng)詳細(xì)設(shè)計 26 最后一個是帶邊框的 TextView,這個 與上述的 EditText相類似,完成這個列。 完成這些邊框類之后就是使用它們,這個與以前的基本類相似,只是將布局中原來的基本類名類,如 TextView,改為對應(yīng)路徑的名稱為 。( BorderTextView是新建的 TextView類的文件名。) ( 2)新增日程界面的布局,建立一個 名為 schedule的空布局文件。 這里的使用的是相對布局 RelativeLayout。這樣可以更清晰將各個框框組合在一起,使得更加美觀。 在這個界面中,總體的以 RelativeLayout這個相對布局名為總體的布局類,最上面是標(biāo)題欄,這就是一個上述建立的一個帶邊框的 TextView類。 android:id=@+id/scheduleTop//id號 android:gravity=center//位置居中 android:layout_width=fill_parent android:layout_height=40dp//這兩個分別為寬和高 android:background=@drawable/top_day//背景圖片的位置 android:textStyle=bold//文本的樣式加粗 android:clickable=true//可點擊的選項 android:textColor=000000//文本顏色設(shè)為黑色 android:text=編輯日程 //文本框上的文字 / 下面分別為日程類型及重復(fù)類型這兩個類型的選擇的點擊框。由于使用的相對布局,那么就需要自己設(shè)置這兩個點擊框的位置。這里先建立了日程類型的文本框,以layout_below來 將這個文本框放在標(biāo)題框(用 id來定位標(biāo)題框)下面,下面幾個需要特殊設(shè)定的參數(shù): android:layout_below=@id/scheduleTop//文本框的位置設(shè)置 android:layout_width=160dp//文本框的寬 android:layout_height=40dp//文本框的高 android:drawableRight=@drawable/schedule_type//在這個文本框右邊添加一個圖標(biāo)然后是添加日程重復(fù)方式的文本框,這需要放在日程類型文本框的右邊,這是利用 layout_ toRightOf來實現(xiàn),相應(yīng)的也要設(shè)置位于標(biāo)題框下方,其他的與上面的相類似。 android:layout_toRightOf=@id/scheduleType//文本框的位置設(shè)置位于右方 android:drawableRight=@drawable/schedule_type//文本框的位置設(shè)置位于下方 大學(xué)本科生畢業(yè)設(shè)計(論文) 27 下面還有時間的點擊修改框、日程文本框及最后的保存及取消的按鈕。最后效果如圖43。 圖 43 日程添加界面效果圖 ( 2)寫一個 ScheduleAddActivity 類來調(diào)用布局和書寫方法 新增界面的上方有兩個 TextView 是用來選擇類型的,另有一個時間顯示框可以用來顯示傳過來的時間或者修改時間。 選擇類型的實現(xiàn)方法以其中一個為例
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1