天天看點

【安卓開發】開源Notepad記事本APP項目(完整代碼+說明文檔)

作業:記事本APP。要求:

(1) 給出實作源程式,對源程式加以說明;

(2) 給出螢幕運作結果的截圖,運作結果含有個人特征;

(3) 用word文檔送出,檔案名:班号-姓名-學号後3位-作業。

1.頁面設計美觀,可以正确顯示資料(20分)。

2.實作資料儲存、查詢、修改和讀取功能(20分)。

3.調用系統相機錄制視訊,應用内播放(20分)。

4.拍攝照片,儲存在圖庫中,應用内顯示 (20分)。

5.應用繪圖闆手寫記錄,将圖檔儲存在圖庫中(20分)。

下載下傳位址 https://gitee.com/Cutele/notepad

運作結果

【安卓開發】開源Notepad記事本APP項目(完整代碼+說明文檔)
【安卓開發】開源Notepad記事本APP項目(完整代碼+說明文檔)
【安卓開發】開源Notepad記事本APP項目(完整代碼+說明文檔)
【安卓開發】開源Notepad記事本APP項目(完整代碼+說明文檔)
【安卓開發】開源Notepad記事本APP項目(完整代碼+說明文檔)
【安卓開發】開源Notepad記事本APP項目(完整代碼+說明文檔)
【安卓開發】開源Notepad記事本APP項目(完整代碼+說明文檔)

說明文檔 懶得貼圖檔了

具體見word吧

目錄

一、基本UI頁面的編寫 2

1.1 首頁面 2

1.2 記事頁面 3

1.3 錄音頁面 4

1.4 手寫闆頁面 5

1.5 錄音詳情頁面 6

1.6 圖檔詳情頁面 6

1.7 錄像詳情頁面 7

二、資料的儲存、查詢、修改和讀取功能 7

2.1 資料庫的建立 7

2.2 資料庫字段的設定 7

2.3 資料接口的設立 8

2.4 記事的增加 8

2.5 記事的查找 9

2.6 記事的删除 9

2.7 記事的修改 10

三、多媒體功能的應用 10

3.1 文字 11

3.2 錄音 11

3.3 拍照 13

3.4 視訊 14

3.5 手寫闆 14

四、實驗總結 16

4.1 運作結果展示 16

一、基本UI頁面的編寫

1.1首頁面

首頁面主要是展現所有筆記的縮略圖以及跳轉到新增記事頁面。

對于展現筆記的縮略圖,用listview來動态擷取資料庫中存的資訊。

在右下角設定圖示,點選後即可跳轉到記事頁面。

對于listview中的每一項筆記,都展現題目和建立日期,友善使用者對所有筆記做出區分。

xml的基本布局代碼:

MainActivity中的初始化

給右下角圖示添加點選事件,點選後跳轉到新增記事頁面。

1.2記事頁面

記事頁面由上、中、下三個部分構成。

上部分為該頁面的導航欄,左邊為傳回上一級的圖示,右邊為儲存本記事的圖示,中間可以輸入該記事的标題。

中間部分為記事的編輯框部分,可以在這裡輸入五種内容,分别為文字、錄音、視訊、照相和手寫。

下部分為多媒體的選項,點選圖示可以插入對應的内容。

在中間部分的編輯框中,新寫了一個類繼承EditText,對每一行的文字都添加了下劃線,友善區分,使得頁面更加美觀。

1.3錄音頁面

錄音頁面是在記事頁面後點選下方的錄音圖示跳轉後的頁面。在該頁面可以進行錄音,試聽錄音,儲存錄音。該頁面也是上中下三部分。上部分主要是導航欄,有傳回和确定兩個按鈕,點選傳回可以傳回上一級頁面,點選确定可以儲存資料。

中間部分為錄音圖示和計時器,點選錄音圖示可以試聽錄音和停止試聽錄音。下面的計時器是動态顯示的,随着錄音的試聽動态變化。

下部分為錄音、停止錄音的按鈕。初次點選按鈕後,開始錄音;正在錄音時,點選該按鈕錄音停止并且自動儲存到本地。如果再次點選該按鈕,将重新進行錄音并且替換上次儲存的檔案,這樣每次不會儲存重複的檔案。

1.4手寫闆頁面

手寫闆的頁面有兩部分構成,上部分為導航欄,有傳回和确定兩個按鈕。點選傳回可以傳回到編輯記事頁面,點選确定可以将圖檔儲存到本地并且展現到記事頁面上。

下部分為手寫的主要區域,可以設定畫筆的顔色、粗細和橡皮擦。橡皮擦實際上就是白色顔色的畫筆。還設定了imgview用來展現使用者的軌迹和圖像。

1.5錄音詳情頁面

錄音詳情頁面是在編輯記事裡插入錄音後,會将錄音圖示展現到頁面上,再次點選該圖示就可以進入錄音詳情,播放錄音。

導航欄隻有傳回按鈕,設立在左上角,點選該按鈕可以傳回編輯記事頁面。中間為錄音圖示和動态更新的計時器。

1.6圖檔詳情頁面

圖檔詳情頁面是在編輯記事頁面插入圖檔後,再點選該圖檔就可以檢視圖檔的放大圖。導航欄為傳回上一級,下面添加了imgview用來展現圖檔。

1.7錄像詳情頁面

在編輯記事頁面點選錄像後,進入此頁面。點選錄像可以調用系統相機進行拍照。下面的VideoView,可以展現剛剛錄制的視訊。

二、資料的儲存、查詢、修改和讀取功能

2.1 資料庫的建立

采用room架構建立資料庫,并且使用了單例模式進行設計,這樣確定隻有一個對象被建立。

2.2 資料庫字段的設定

考慮一個記事本主要包含的内容,無異于标題、内容和建立時間,是以選擇這三個作為資料庫中表Data的字段。為了區分不同的筆記,還應當增加id自增使得其是Data的主鍵。注意多媒體的東西,如錄音、圖檔等等都是将路徑儲存到資料庫裡,等編輯記事的時候再将其從路徑中取出來并且展現在頁面上。

2.3 資料接口的設立

分析記事本的需求得到應當有以下幾種操作:增加記事,删除全部記事,查詢所有記事,按id删除記事,按id查找記事,更新記事。

2.4 記事的增加

在編輯記事頁面,點選右上角的圖示可以将記事儲存到資料庫。添加時,擷取編輯頁面的标題、内容和系統的時間。對于圖檔、錄音等多媒體而言,儲存的是他們在手機上存儲的路徑。

2.5 記事的查找

在首頁面上,應當顯示資料庫中所有筆記的清單視圖,這就用到了資料庫的查詢。

2.6 記事的删除

給清單中的每一項都添加長按事件,長按後彈出選擇框,可以選擇删除或修改。選擇删除的話,根據id查找到該項,删除。

2.7 記事的修改

點選修改後也進入編輯記事頁面,并且應當将原先的記事内容展現在頁面上。那麼新增記事和修改記事都是進入編輯記事頁面,可以在intent對象裡多增加一個參數來表示是編輯還是新增,并且傳一下編輯對象的id值,這樣進入編輯頁面的時候就可以将記事内容展現在頁面上了。

三、多媒體功能的應用

3.1 文字

正常的EditText就可以輸入文字,設定監聽事件就可以進行監聽和儲存。

3.2 錄音

錄音使用的是安卓自帶的MediaRecorder和MediaPlayer。在點選錄音的時候,調用new MediaRecorder()并且進行初始化設定。

在點選試聽的時候,調用MediaPlayer進行播放。

這樣就完成了基本錄音功能的實作。接下來實作各個圖示的點選事件和計時器的自動播放。

在試聽錄音、播放錄音或進行錄音時,下面的計時器是在變化的。對此計時器,開辟一個單獨的線程來處理。每次動态的設定時間的變化,并且修改textview的值。

對于麥克風的圖示來說,如果目前未錄音,點選應當提示使用者先錄音。是以可以設一個變量來标記使用者是否已經開始錄音。

如果已經有錄音檔案的話,應當區分現在點選是播放錄音和暫停播放錄音。設定變量isPlaying用來區分。

點選傳回後,删除已經儲存的錄音檔案,傳回編輯頁面。點選确定後,将路徑傳回給編輯頁面。

3.3 拍照

編輯頁面點選拍照後,調用系統自帶的相機進行拍照,跳轉到系統相機,拍照後儲存在本地圖庫,并且将路徑傳回。

重寫onActivityResult方法,記錄不同的requstcode對應不同的操作。用Uri存取回的資料。

檢視圖檔時,将圖檔的路徑放入intent中,跳轉到檢視圖檔頁面後,利用bitmap加載路徑中的圖檔,放到imgview中。

3.4 視訊

點選錄像跳轉到對應的錄像類

在錄像頁面中點選錄像可以調用系統相機進行錄像

系統相機錄像完成後,将對應的檔案執行個體化到播放器上。

3.5 手寫闆

編輯記事頁面點選手寫後,進入手寫闆頁面。

給手寫闆的imgview設定觸摸事件,記錄繪制的路徑。每次按下時記錄點選位置,移動時擷取目前位置并且繪制直線,結束時将重點設定為下一次的起點。

點選設定顔色按鈕可以設定畫筆的顔色,添加dialog對話框來提供可選擇的顔色。使用者選擇之後将修改paint的color屬性。

點選設定寬度按鈕可以設定畫筆的粗細,添加dialog對話框來提供可選擇的寬度。使用者選擇之後修改paint的width屬性。

由于底色是白色,是以橡皮擦實際上就是白色的畫筆。

儲存圖檔的時候,可以先将圖檔儲存到Bundle裡,再将Bundle放到intent對象裡。傳回上一級頁面。

四、實驗總結

4.1 運作結果展示

打開應用後首先進入首頁

點選右下角圖示後可以進行新增記事,進入編輯頁面。

點選下面的圖示可以在記事本内添加相關的内容。

首先在記事本内添加文字,直接将光标移動至相關位置輸入。

點選右下角的手寫可以跳轉到手寫頁面,可以選擇橡皮擦、畫筆顔色和畫筆寬度。

選擇橡皮擦後,進行塗抹。點選确定儲存到手機存儲,并且在編輯頁面上展現出來。

點選照相後調用系統相機

點選完成後傳回編輯頁面,并且在編輯頁面可以看到圖檔。點選錄音進入錄音頁面。

點選下面的錄音按鈕可以進行錄音,進度條和波形圖案動态變化。錄音結束後點選暫停按鈕,可以點選麥克風進行試聽。

點選确定後儲存到本地,并且在原先的頁面中展示錄音圖示。點選右上角的對号後傳回首頁面,并且将内容更新到頁面上。

長按該頁面出現選擇框,可以選擇修改檢視或删除。選擇檢視後進入編輯/檢視頁面。

點選錄音小圖示可以播放對應錄音。點選圖檔可以檢視大圖。

修改題目傳回首頁面。題目和時間都變了。

選擇删除後,該頁面自動重新整理。

編輯頁面選擇錄像按鈕後,進入錄像頁面。點選錄像後調用系統的錄像機。