国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

新建 Microsoft Word 文檔

2022-12-27 22:32 作者:考研保研直通車  | 我要投稿

安卓期末大作業(yè)

30個

源碼鏈接:https://yunjunet.cn/568075.html源碼鏈接:https://yunjunet.cn/568075.html

計算機學院

項?目 報 告

2020 - 2021 學年 第 2 學期

課程名稱:?Android移動開發(fā)技術

項目名稱:?單詞本

學生姓名:

小組成員:

2021年 6 月

題目:單詞本APP

1需求分析與系統(tǒng)設計

1.項目介紹

此項目是一個幫助記憶單詞的單詞本,用戶輸入要記憶的單詞,系統(tǒng)會自動保存到sqllte數(shù)據(jù)庫中,用戶可以自行設置界面風格。設置單詞記憶順序等,可以查找單詞,刪除單詞,以及隱藏中文??梢詭椭脩舾玫挠洃泦卧~。

1.功能需求

1.單詞本可以通過用戶輸入中英文,來實現(xiàn)單詞的添加。

2.用戶可以隨意開關某個單詞的中文釋義

3.用戶可以刪除已經(jīng)添加的單詞

4.用戶關機或者退出應用不會導致單詞本內(nèi)的單詞丟失

5.用戶可以自定義單詞本中單詞的順序

6.可以選擇自己喜歡的界面風格

7.用戶可以快捷的查找某個單詞在有道上的詳細信息

8.用戶可以查找某個單詞

1.功能需求及示意圖

用戶點擊加號按鈕輸入單詞,鍵盤會自動彈出并焦點在輸入框,用戶輸入英文和中文釋義,單詞本上將在最上面顯示這個單詞,并會有下拉動畫。用戶可以通過上方放回箭頭取消輸入。

用戶可以通過單詞盤邊的按鈕來關閉或開啟中文意思

向右滑可以刪除單詞,同時底部有提示信息,可以撤銷刪除,點擊撤銷可以還原被刪除的單詞

長按拖住上下滑動可以設置單詞的優(yōu)先級

??????

搜索可以搜索相關的單詞

??????

菜單可以選擇切換界面或者刪除全部單詞,將以卡片/列表顯示單詞

注:由于時間倉促,該部分的示意圖以截圖的形式替代。

1.4本程序需解決的有關技術問題

1. CardView 和 constraintLayout的布局切換

2.通過繼承asyncTask實現(xiàn)多線程查詢數(shù)據(jù)庫

3.查詢數(shù)據(jù)庫過程中多個類的調(diào)用和封裝解耦,模塊化開發(fā)

4.通過livedate監(jiān)聽數(shù)據(jù)變化來改變視圖顯示。

5.如何通過滑動刪除單詞和如何改變單詞位置

6.各個framgement之間的切換導航

1.5程序流程

1.程序啟動后先通過MainActivity的onCreate方法

1.進入wordsFramgment類,通過MyAdaper new出單詞列表

1.當通過監(jiān)聽WordViewModel發(fā)現(xiàn)數(shù)據(jù)發(fā)生改變時,會同時增刪改單詞列表條數(shù)

1.對數(shù)據(jù)改變的方法通過WordViewModel類中的方法調(diào)用WordReposity中的方法再調(diào)用WordDatabase或WordDao中的方法進行增刪改或者查詢

5.通過Word 建立數(shù)據(jù)庫表和映射關系。

2系統(tǒng)實現(xiàn)

2.1類分析與設計

(1)Word類:

1.這個這個類定義了單詞條目的屬性:id word chineseWord chineseInvisible 并同時映射到數(shù)據(jù)庫對應的屬性字段;

2.定義了set/get方法用于存取數(shù)據(jù)

(2)WordDao類:

1.dao層用注解定義了增刪改查方法

對于復雜查詢,再注解中定義了sql語句:

A.

B.模糊查詢并按倒敘排序

(3)WordDatabase類:

1.利用單例工廠模式,new了一個WordDataBase類,這個類繼承了RoomDatabase,建立了數(shù)據(jù)庫,用來通過getDatabase來實例化WordDao

Static 可以不需要new 就可以調(diào)用方法

Synchronized同步塊只有一個再執(zhí)行,反正多線程而new了多個實例

此方法構(gòu)建并返回一個wordDao。同時此方法中還包含數(shù)據(jù)庫的升級及修改方法

(4)WordRepository類:

1.多線程調(diào)用WordDao的方法完成增刪改查。

2.主要功能是實現(xiàn)多線程

(5)WordViewModel類:

1.通過調(diào)用WordRepository類的方法完成增刪改查

2.主要功能是處理數(shù)據(jù)相關功能,返回的LiveData可以監(jiān)控數(shù)據(jù)變化,并再變化時調(diào)用相應方法來處理視圖等。

(6)MainActivity類:

1.設置了視圖導航。

2.重寫了返回鍵的方法

(7)AddFragment類:

1.定義了添加單詞界面的功能

2.進入界面后,將輸入框聚焦在英語輸入框上,并彈出鍵盤。

3.點擊添加按鈕后,通過WordViewModel將數(shù)據(jù)寫入數(shù)據(jù)庫,并通過導航回到主界面

(8)MyAdapter類

1.通過點擊單詞條,用intent并傳入一個網(wǎng)址可以跳到有道詞典搜索

2.通過查詢數(shù)據(jù)庫ChineseInvisible字段,初始化設置是否顯示中文釋義

(9)WordFragment類

1搜索功能

2.在WordsFragment中設置了菜單功能,點擊清空數(shù)據(jù)會彈出alertDialog對話框,若選擇確認,則調(diào)用wordViewModel中的deleteAll()方法刪除所以數(shù)據(jù);點擊切換視圖時,會先在SharePreferences中獲得現(xiàn)在時什么視圖的值,然后調(diào)用recyclerView的方法設置另一個視圖。

3.用onChildDraw畫滑動后面的灰色陰影和垃圾桶圖標

4.點擊懸浮按鈕跳到添加單詞界面

5.移動單詞和滑動刪除單詞功能

2.2 界面布局

2.3關鍵實現(xiàn)

1.在AddFramgent中,若輸入框兩個都不為空,設置添加按鈕可用

2.在MyAdapter中,監(jiān)聽開關,若發(fā)生改變顯示/隱藏中文釋義,同時修改數(shù)據(jù)庫中ChineseVisible字段的值。

3.在WordsFragment中設置了菜單功能,點擊清空數(shù)據(jù)會彈出alertDialog對話框,若選擇確認,則調(diào)用wordViewModel中的deleteAll()方法刪除所以數(shù)據(jù);點擊切換視圖時,會先在SharePreferences中獲得現(xiàn)在時什么視圖的值,然后調(diào)用recyclerView的方法設置另一個視圖。

4.滑動刪除后會彈出一個snackbar,點擊即可撤銷刪除

5.onMove()方法處理長按拖動事件,發(fā)生拖動時,替換兩個Word的id,livedate檢測到數(shù)據(jù)發(fā)生改變,就重新繪畫界面

3系統(tǒng)測試

3.1程序存在的問題

(1)再添加單詞頁面點擊上方或下方的返回,鍵盤不會消失

解決方法:再AddFagment中button觸發(fā)方法中添加鍵盤回縮方法:

(2)在添加單詞頁面中,沒有自動聚焦到英語單詞輸入框

解決方法:再onActivityCreate中添加方法

(3)若長按拖動速度過快,會導致有些單詞的中文意思會自動隱藏。

(4)列表界面單詞之間的分界不夠明顯

解決方法?再每個列表條目上添加下劃線。

1.在部分手機版本中會出現(xiàn)搜索后單詞丟失bug;

3.2運行過程示例

(1)添加單詞:---單詞添加成功

(2)刪除單詞:---刪除單詞成功

(3)中文釋義顯示/隱層:-成功

(4)切換視圖:-成功

(5)搜索功能:--成功

(6)點擊單詞后跳到有道詞典搜索詳細詳細 --成功

4總結(jié)與建議

本課程學習了andorid的開發(fā),經(jīng)過本次項目,對android開發(fā)的整體把握更加清楚。

通過模塊化開發(fā),對每個類更加清楚,對liveData..SharePreference..navigation等類的使用和數(shù)據(jù)庫的操作有了更加深入的理解。

新建 Microsoft Word 文檔的評論 (共 條)

分享到微博請遵守國家法律
常山县| 兰坪| 蚌埠市| 尉氏县| 成安县| 永安市| 嘉善县| 伊通| 湛江市| 临漳县| 兴仁县| 涟水县| 同仁县| 太康县| 恭城| 舞钢市| 巴彦淖尔市| 闽清县| 定结县| 讷河市| 安化县| 龙胜| 丰宁| 虎林市| 陆河县| 吉林市| 驻马店市| 沙湾县| 土默特右旗| 阳原县| 丽水市| 湛江市| 彭泽县| 资兴市| 乐清市| 五莲县| 垦利县| 平顶山市| 资中县| 余庆县| 眉山市|