日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

移动平台课程设计--日记本

發布時間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 移动平台课程设计--日记本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

瞬時日記

一、概述

(一)研究背景

??人們在生活或工作中,都會有很多事情需要記錄下來,比如美好的生活瞬間和重要的大事件等等,以便于保存和查看。瞬間日記的基本功能就是記錄,不需要紙和筆,隨時可以記錄信息,以文字形式,圖片形式,語言形式等多種方式瞬間記錄,這樣更自由與便攜。

(二)研究意義

??幫助我們珍藏哪些回憶,歲月流逝,當我們翻開日記的時候,往日就會重視。那些美好的事物與歲月總是能讓我們欣然一笑。那些不開心的也可以重新品味。也許日后翻閱以前的日記,我們會覺得當初的做法不是最好的解決方法,事情可以換一個角度去思考,或許會有更好的效果,讓我們學會自我反省,而且不斷的完善子自我個方面的不足之處。

二、系統設計

(一)關鍵設計

??讓瞬間日記APP包含搜索功能、日記鎖功能、分享功能、拍照保存、獲取照片和到時提醒功能等

(二)系統設計

1.系統管理結構圖

2.數據庫設計

??創建bean文件夾存放共公類,它們相對應數據庫中的數據表,這些模型將被訪問數據庫的SQLBean類和程序中各個模塊和控件所使用。數據模型是對數據表中所有字段的封存,主要通過get和set方法實現獲取數據和存儲數據。

??為了實現日記信息的保存,需要用到數據庫,片刻日記采用SQLite數據庫,在創建數據庫時,是在DatabaseOperation類里創建create_db()方法來實現創建數據庫和數據表。
??其中使用openOrCreateDatabase()方法實現數據庫的創建,使用execSQL()方法實現數據表創建。Insert_ab()插入日記,update_db()更新日記,query_db()查詢日記,query_db(int item_ID)通過主鍵查詢日記,query_db(String keword)通過日記內容查詢,query_db (String starttime, String endtime)時間范圍內查詢日記,delete_db(int item_ID)刪除日記。

主要實現功能

三、系統實現

1.首頁日記列表功能


MianActivity主要函數圖
??在首頁上顯示日記列表及創建日期,點擊界面下面的新增按鈕,可以添加日記。為了實現在首頁上顯示日記列表,需要從數據庫里獲取日記信息,并將信息顯示在首頁上。首先在MainActivity類中,創建showNotesList()方法,在該方法中,使用Cursor類讀取數據庫信息,然后通過while循環取出數據內容,最后使用自定義適配器MainAdapter將數據裝載到首頁記事列表里。

主頁面跳轉跳轉結構圖

2.實現列表長按編輯/刪除功能

??為首頁日記列表中單條日記添加編輯和刪除功能,長按首頁中的單條日記會彈出對話框,可以選擇對日記是進行編輯還是刪除操作。
??為了實現列表長按功能,需要為首頁列表添加setOnItemLong ClickListener()方法實現長按事件,在Android生命周期的onStrart()方法里添加該事件,啟動當前頁面就會給列表綁定長按事件。
??創建ItemLongClickEvent類,讓其繼承OnItemLongClickListener用于監聽列表長按事件,在onItemLongClick()方法里實現長按事件需要實現的內容。首先初始化單條列表上的控件,然后獲取控件上的內容,再把獲取到的單條日記id,是否已添加了鎖,以及日記鎖密碼傳遞給simpleList()方法,用于接下來的操作。其中,日記id用于操作,日記鎖信息用于解鎖和判斷是否跳轉到解鎖頁面。
??使用AlertDialog控件實現彈出編輯/刪除選擇彈窗,根據傳遞過來的信息保存日記id:日記鎖信息用于處理onClick()方法里編輯和刪除后的操作。單擊“編輯”按鈕,如果沒有密碼鎖,則進入編輯頁面,如果有密碼,則彈出解鎖彈窗,需要輸入密碼:單擊刪除按鈕,如果沒有密碼,則刪除日記,則彈出密碼解鎖彈窗,輸出正確密碼則刪除該條信息。

3.搜索功能設計

搜索功能包括按關鍵字搜索和按日期搜索

(1)關鍵字搜索

?? 實現按關鍵字進行搜索的具體步驟如下:
① 通過getText()方法,獲取搜索控件上輸入的關鍵字,并判斷是否為空,然后使用putExtra()方法,傳遞關鍵字到搜索結果頁。
② 在SearchActivity類中使用getStringExtra()方法獲取傳遞過來的參數。
③ 為了實現顯示搜索結果列表,首先需要使用query_db()方法
??根據關鍵字從數據庫中獲取搜索結果,并保存在Cursor中,然后通過while循環列表獲取的單條信息保存到List數組里,最后使用自定義適配器MainAdapter將List數組里的日記信息顯示到頁面上在DatabaseOperation類中,使用rawQuery()方法,根據關鍵字從數據庫中模糊查詢需要的內容。

(2)按日期搜索

??使用query_db()方法根據開始日期和結束日期查詢相關記事信息。在DatabaseOperation類中,使用rawQuery()方法,根據日期查詢某個日記范圍內數據庫里的數據。

4.新增日記功能設計

(1)新增日記布局設計

??點擊首頁頁面下方的添加按鈕,進入新增記事頁面,在layout目錄下創建布局文件,作為新增日記的布局。

(2)保存日記信息功能

??實現保存日記信息功能的步驟如下:
① 為了實現將記事內容保存到數據庫,需要判斷是否為新增數據,如果是新增數據,則使用insert_db()方法將內容插入到數據庫中:如果不是新增數據,則使用update_db()方法對數據原有內容進行更新,單擊保存按鈕保存信息。
② DatabaseOperation類中插入數據信息,在insert_db()方法中使用execSQL()方法向數據庫中插入信息。

5.加載底部菜單

??底部菜單包括拍照,選擇手機本地圖片,選擇拍照照片和設置提醒時間共三個功能按鈕
(1) 對相關控件進行聲明,包括底部菜單GridView控制以及底部菜單圖片集合,用于完成底部菜單的加載
(2) 為了顯示底部菜單,需要在initBottomMenu()方法中,使用for循環,循環插入底部菜單圖片,并使用SimpleAdapter適配器配置底部菜單。
(3) 為了實現底部菜單單擊事件,需要使用setOnItemClickListene
方法,為底部菜單綁定單擊事件。
(4) 根據功能綁定底部菜單單擊事件,其中包含照片,拍照,提醒設置,并使用Intent跳轉到相應的功能頁面,其中startActivityFor Result()為回調方法,在onActivity()方法里對接收回調回來的信息進行處理。

6.日記分享功能設計

獲取Android自定義分享功能,將日記內容生成圖片。

(1)實現獲取日記內容生成圖片

獲取日記內容并將其生成圖片,因為日記內容包含在ScrollView控件中,所以需要獲取ScrollView控件中內容生成圖片并保存
為了實現保存圖片,需要先使用File類創建文件,再使用FileOut putStream將圖片換成“.jpg”格式文件,并將其保存在文件中。

(2)分享圖片

實現分享圖片功能,首先需要使用Environment.getExternal
StorageDirectory()方法獲取文件,然后使用Uri.fromFile()方法獲取字符串形式的文件路徑,最后使用Intent調用分享功能,實現分享文件路徑下的日記內容圖片。

7.設置/取消日記鎖功能

設置日記鎖會彈出設置密碼框,設置日記鎖頁面樣式。

(1)密碼輸入框設計

為了實現密碼輸入框,自定義AlertDialog樣式,用于密碼的設置。首先創建EditText輸入框,將其加入到AlertDialog中作為密碼輸入框,然后在“確定”按鈕的onClick()方法單擊事件中,判斷是否設置密碼成功,如果設置成功,則使用setBackgroundResource()方法設置添加密碼鎖后的圖片背景,并使用Toast方法彈出消息提示框,提示是否設置成功。

(2)設置取消日記鎖

設置取消日記鎖,需要先使用locktype判斷日記狀態是否設置了密碼,如果沒有設置密碼,則使用inputlockDialog()方法彈出設置密碼鎖:如果已經設置了密碼,則使用inputunlockDialog()方法彈出取消密碼鎖彈窗
自定義AlertDialog,實現取消密碼鎖彈窗。其中,首先使用set Title()方法設置標題,然后使用setPositiveButton()方法設置按鈕,在使用setBackgroundResource()方法設置沒有密碼鎖后的背景圖片,并使用Toast方法彈出提示框,提示密碼已經取消,最后使用show()方法設置彈出成功取消密碼鎖的彈出窗

8.選擇本地圖片保存到日記

選擇本地圖片保存到日記,實現步驟如下:
① 使用Intent調用相冊,選擇要保存的圖片。此時需要使用setType()方法設置intent類型,并且使用startActivityResult()方法把選擇的圖片信息傳到上一個頁面
② 選擇圖拍后,回到程序。首先使用onActivityResult()回調方法接收回調信息,然后使用MediaStore.Images.Media.DATA獲取圖拍呢路徑,再使用BitmapFactory.decodeStream()方法將接受的圖片保存到Bitmap中,最后使用InsertBitmap()方法將圖片插入到日記信息里。

9.調用相冊拍照圖片保存到日記

調用手機相機拍照,并且返回拍照圖片路徑。把拍照圖片保存到日記里,具體步驟如下:
① 使用Intent調用相機拍照,需要使用startActivityForResult()方法將照片信息回調到上一個界面。
② 將拍照照片保存到指定的文件夾,首先使用System.current TimeMillis()方法獲得系統當前時間,并以該時間作為文件名,然后使用onActivityResult()回調方法接收回調信息,再使用MediaStore.
Image.Media.DATA獲取圖片路徑,并使用BitmapFactory.decodeStrea方法將接收的圖片保存到Bitmap中,最后使用InsertBitmap()方法將圖片插入到日記信息里。

10.到時提醒功能

(1)自定義時間選擇彈窗

??創建data文件夾,在該文件夾中創建DataTimePickDialog類,用于自定義提醒時間設置的選擇彈窗。

(2)設置提醒時間

??到時提醒功能,需要設置提醒時間,設置提醒時間的彈窗樣式。
??實現設置提醒時間選擇框,首先需要調用自定義DataTimePickDialog類,用于實現日期及時間的選擇彈窗,然后使用onDataTimeSet()方法獲取選擇時間,再使用formatter.format()方法設置時間格式,最后使用setText()方法設置顯示的提醒時間。

四、系統測試






五、文章總結

這里放上代碼歡迎大家來踩踩

總結

以上是生活随笔為你收集整理的移动平台课程设计--日记本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。