五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

新建 Microsoft Word 文檔

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

安卓期末大作業(yè)

30個(gè)

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

計(jì)算機(jī)學(xué)院

項(xiàng)?目 報(bào) 告

2020 - 2021 學(xué)年 第 2 學(xué)期

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

項(xiàng)目名稱:?單詞本

學(xué)生姓名:

小組成員:

2021年 6 月

題目:單詞本APP

1需求分析與系統(tǒng)設(shè)計(jì)

1.項(xiàng)目介紹

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

1.功能需求

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

2.用戶可以隨意開關(guān)某個(gè)單詞的中文釋義

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

4.用戶關(guān)機(jī)或者退出應(yīng)用不會導(dǎo)致單詞本內(nèi)的單詞丟失

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

6.可以選擇自己喜歡的界面風(fēng)格

7.用戶可以快捷的查找某個(gè)單詞在有道上的詳細(xì)信息

8.用戶可以查找某個(gè)單詞

1.功能需求及示意圖

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

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

向右滑可以刪除單詞,同時(shí)底部有提示信息,可以撤銷刪除,點(diǎn)擊撤銷可以還原被刪除的單詞

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

??????

搜索可以搜索相關(guān)的單詞

??????

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

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

1.4本程序需解決的有關(guān)技術(shù)問題

1. CardView 和 constraintLayout的布局切換

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

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

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

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

6.各個(gè)framgement之間的切換導(dǎo)航

1.5程序流程

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

1.進(jìn)入wordsFramgment類,通過MyAdaper new出單詞列表

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

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

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

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

2.1類分析與設(shè)計(jì)

(1)Word類:

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

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

(2)WordDao類:

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

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

A.

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

(3)WordDatabase類:

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

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

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

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

(4)WordRepository類:

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

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

(5)WordViewModel類:

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

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

(6)MainActivity類:

1.設(shè)置了視圖導(dǎo)航。

2.重寫了返回鍵的方法

(7)AddFragment類:

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

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

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

(8)MyAdapter類

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

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

(9)WordFragment類

1搜索功能

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

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

4.點(diǎn)擊懸浮按鈕跳到添加單詞界面

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

2.2 界面布局

2.3關(guān)鍵實(shí)現(xiàn)

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

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

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

4.滑動刪除后會彈出一個(gè)snackbar,點(diǎn)擊即可撤銷刪除

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

3系統(tǒng)測試

3.1程序存在的問題

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

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

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

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

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

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

解決方法?再每個(gè)列表?xiàng)l目上添加下劃線。

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

3.2運(yùn)行過程示例

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

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

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

(4)切換視圖:-成功

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

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

4總結(jié)與建議

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

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

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

分享到微博請遵守國家法律
女性| 鱼台县| 文山县| 廊坊市| 古丈县| 麻江县| 沂水县| 阿拉善左旗| 灌阳县| 铅山县| 兴隆县| 海城市| 龙江县| 棋牌| 满城县| 同江市| 新疆| 普兰店市| 扎鲁特旗| 汉沽区| 达拉特旗| 阳信县| 东城区| 博乐市| 噶尔县| 象山县| 凌云县| 汽车| 林芝县| 措美县| 鹤庆县| 山阴县| 浪卡子县| 井研县| 大埔区| 万州区| 岐山县| 璧山县| 星座| 谢通门县| 万州区|