最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

新建 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需求分析與系統設計

1.項目介紹

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

1.功能需求

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

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

3.用戶可以刪除已經添加的單詞

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

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

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

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

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

1.功能需求及示意圖

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

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

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

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

??????

搜索可以搜索相關的單詞

??????

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

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

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

1. CardView 和 constraintLayout的布局切換

2.通過繼承asyncTask實現多線程查詢數據庫

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

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

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

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

1.5程序流程

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

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

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

1.對數據改變的方法通過WordViewModel類中的方法調用WordReposity中的方法再調用WordDatabase或WordDao中的方法進行增刪改或者查詢

5.通過Word 建立數據庫表和映射關系。

2系統實現

2.1類分析與設計

(1)Word類:

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

2.定義了set/get方法用于存取數據

(2)WordDao類:

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

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

A.

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

(3)WordDatabase類:

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

Static 可以不需要new 就可以調用方法

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

此方法構建并返回一個wordDao。同時此方法中還包含數據庫的升級及修改方法

(4)WordRepository類:

1.多線程調用WordDao的方法完成增刪改查。

2.主要功能是實現多線程

(5)WordViewModel類:

1.通過調用WordRepository類的方法完成增刪改查

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

(6)MainActivity類:

1.設置了視圖導航。

2.重寫了返回鍵的方法

(7)AddFragment類:

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

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

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

(8)MyAdapter類

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

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

(9)WordFragment類

1搜索功能

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

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

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

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

2.2 界面布局

2.3關鍵實現

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

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

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

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

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

3系統測試

3.1程序存在的問題

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

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

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

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

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

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

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

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

3.2運行過程示例

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

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

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

(4)切換視圖:-成功

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

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

4總結與建議

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

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

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

分享到微博請遵守國家法律
海丰县| 马关县| 磴口县| 石阡县| 那曲县| 通江县| 盐边县| 临安市| 宿松县| 桓台县| 灵寿县| 天峻县| 宁蒗| 长岛县| 印江| 闻喜县| 镇原县| 宽城| 搜索| 威海市| 黄浦区| 阿城市| 禹城市| 曲水县| 兴海县| 木里| 开远市| 和田市| 湘西| 宁都县| 海盐县| 盐山县| 禄劝| 瑞丽市| 金山区| 张北县| 南岸区| 玛纳斯县| 息烽县| 合山市| 巴青县|