• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    智能記事本APP的實(shí)現(xiàn)與研究

    2022-11-16 02:16:08連壯
    電子技術(shù)與軟件工程 2022年16期
    關(guān)鍵詞:動(dòng)畫界面數(shù)據(jù)庫

    連壯

    (廈門城市職業(yè)學(xué)院 福建省廈門市 361008)

    隨著社會(huì)的飛速發(fā)展,數(shù)據(jù)呈現(xiàn)爆炸式增長(zhǎng),如何避免忘記工作、生活和學(xué)習(xí)中的諸多事情而造成的不良后果就顯得非常重要。為此,筆者開發(fā)一款基于Android 系統(tǒng)的智能記事本APP,通過記事本APP 能夠便攜記錄生活和工作的諸多事情,記錄學(xué)習(xí)的知識(shí)要點(diǎn),從而幫助人們有條理地進(jìn)行時(shí)間管理,提升學(xué)習(xí)效率。

    2021 年是中國共產(chǎn)黨成立100 周年,習(xí)近平總書記在黨史學(xué)習(xí)教育動(dòng)員大會(huì)上強(qiáng)調(diào),“在慶祝我們黨百年華誕的重大時(shí)刻,在‘兩個(gè)一百年’奮斗目標(biāo)歷史交匯的關(guān)鍵節(jié)點(diǎn),在全黨集中開展黨史學(xué)習(xí)教育,正當(dāng)其時(shí),十分必要。[1]”2022年3 月,中共中央辦公廳印發(fā)《關(guān)于推動(dòng)黨史學(xué)習(xí)教育常態(tài)化長(zhǎng)效化的意見》,要求各地區(qū)各部門結(jié)合實(shí)際認(rèn)真貫徹落實(shí)[2]。在此背景下,用戶通過智能記事本APP 可以隨時(shí)隨地記錄下學(xué)習(xí)黨史的心得體會(huì),同時(shí)在記事本APP 開頭設(shè)計(jì)添加黨史學(xué)習(xí)、慶祝建黨百年等動(dòng)畫、在記事本界面中設(shè)計(jì)實(shí)現(xiàn)百年黨史新聞和黨史知識(shí)測(cè)試等功能,可以幫助用戶更好地學(xué)習(xí)黨史,推動(dòng)黨史學(xué)習(xí)的常態(tài)化和長(zhǎng)效化。

    1 架構(gòu)分析

    智能記事本APP 經(jīng)過開始?xì)g迎動(dòng)畫后會(huì)進(jìn)入記事本界面,記事本界面主要包含內(nèi)容列表、添加按鈕、百年黨史新聞和黨史知識(shí)測(cè)試。當(dāng)長(zhǎng)按列表?xiàng)l目(Item)時(shí),會(huì)彈出一個(gè)提示是否刪除列表?xiàng)l目Item 的對(duì)話框,當(dāng)點(diǎn)擊對(duì)話框中“確定”按鈕時(shí),程序?qū)?huì)刪除該筆記條目,當(dāng)點(diǎn)擊對(duì)話框中的“取消”按鈕時(shí),則會(huì)取消刪除該條目,避免用戶誤操作。當(dāng)點(diǎn)擊記事本界面列表中的Item時(shí),會(huì)跳轉(zhuǎn)到修改記錄界面,該界面可以查看和修改記錄。當(dāng)點(diǎn)擊記事本界面中的“添加”按鈕時(shí),會(huì)跳轉(zhuǎn)到添加記錄界面,該界面可以添加記錄內(nèi)容。當(dāng)點(diǎn)擊百年黨史新聞時(shí),界面會(huì)跳轉(zhuǎn)到黨史百年的新聞頁面,單擊每個(gè)新聞列表可以閱讀對(duì)應(yīng)的黨史新聞。當(dāng)點(diǎn)擊答題按鈕,界面會(huì)跳轉(zhuǎn)到黨史知識(shí)測(cè)試界面,單擊開始答題后即可進(jìn)入答題,如果答錯(cuò)程序會(huì)進(jìn)行提示,直到回答正確后跳轉(zhuǎn)到下一題。記事本應(yīng)用的系統(tǒng)架構(gòu)如圖1 所示。

    圖1:記事本應(yīng)用系統(tǒng)架構(gòu)圖

    2 功能實(shí)現(xiàn)與研究

    智能記事本APP 采用Java 語言和Android Studio 開發(fā)工具開發(fā),本文針對(duì)記事本APP 中如何實(shí)現(xiàn)APP 開始?xì)g迎動(dòng)畫,如何實(shí)現(xiàn)存儲(chǔ)管理大規(guī)模記錄數(shù)據(jù),如何進(jìn)行網(wǎng)絡(luò)交互訪問這3 個(gè)關(guān)鍵功能進(jìn)行深入的分析與研究。開始?xì)g迎動(dòng)畫、數(shù)據(jù)庫存儲(chǔ)和網(wǎng)絡(luò)交互訪問的技術(shù)實(shí)現(xiàn)思路和方法也同樣適用于其他APP 開發(fā)。

    2.1 實(shí)現(xiàn)開始?xì)g迎界面(動(dòng)畫)

    記事本APP 的開始?xì)g迎界面是指用戶進(jìn)入記事本APP之前,短暫停留在手機(jī)界面的指引性頁面。歡迎界面是用戶對(duì)記事本APP 的第一印象,直接關(guān)系到用戶對(duì)APP 應(yīng)用的整體感受[3]53,好的歡迎界面可以迅速吸引用戶的注意力,提升產(chǎn)品的價(jià)值,能夠起到很好的宣傳教育作用。有些公司在歡迎界面中放置廣告,以此獲得收益。

    在Android 系統(tǒng)中通常有兩種動(dòng)畫效果的實(shí)現(xiàn)方式:補(bǔ)間動(dòng)畫及逐幀動(dòng)畫。補(bǔ)間動(dòng)畫是將View 進(jìn)行圖形變化來達(dá)到相應(yīng)的動(dòng)畫效果,包括縮放、改變透明度、平移、旋轉(zhuǎn)四種。逐幀動(dòng)畫是按照預(yù)先設(shè)置好的靜態(tài)圖片順序播放,通過眼睛的“視覺暫留”原理,讓人出現(xiàn)動(dòng)畫的錯(cuò)覺。逐幀動(dòng)畫的原理類似放膠片電影的原理,都是通過播放預(yù)先設(shè)置好的一組靜態(tài)圖片來實(shí)現(xiàn)[4]272。在本文描述的記事本APP 中,筆者采用補(bǔ)間動(dòng)畫實(shí)現(xiàn)記事本APP 的開始?xì)g迎界面。

    補(bǔ)間動(dòng)畫的效果可以通過直接編寫代碼的方式實(shí)現(xiàn),也可以通過編寫XML 文件的方式來實(shí)現(xiàn),為了讓邏輯業(yè)務(wù)代碼和視圖動(dòng)畫代碼分離,讓記事本APP 的整體代碼更有條理,更清晰易懂,采用XML 文件的方式來定義動(dòng)畫。在Android 系統(tǒng)中,補(bǔ)間動(dòng)畫包含縮放動(dòng)畫(ScaleAnimation)、平移動(dòng)畫(TranslateAnimation)、旋轉(zhuǎn)動(dòng)畫(RotateAnimation)、透明度漸變動(dòng)畫(AlphaAnimation)。縮放動(dòng)畫是通過指定動(dòng)畫開始時(shí)的縮放系數(shù)、結(jié)束時(shí)的縮放系數(shù)以及動(dòng)畫持續(xù)時(shí)長(zhǎng)來實(shí)現(xiàn)。平移動(dòng)畫是通過指定動(dòng)畫的開始位置、結(jié)束位置以及動(dòng)畫持續(xù)時(shí)長(zhǎng)來實(shí)現(xiàn)。旋轉(zhuǎn)動(dòng)畫是通過對(duì)View 指定動(dòng)畫開始時(shí)的旋轉(zhuǎn)角度、結(jié)束時(shí)的旋轉(zhuǎn)角度以及動(dòng)畫播放時(shí)長(zhǎng)來實(shí)現(xiàn)。透明度漸變動(dòng)畫主要是通過指定動(dòng)畫開始時(shí)View的透明度、結(jié)束時(shí)View 的透明度以及動(dòng)畫持續(xù)時(shí)間來實(shí)現(xiàn)[4]273‐274。在本文描述的記事本APP 中分別嘗試采用縮放動(dòng)畫和透明度漸變動(dòng)畫實(shí)現(xiàn)開始?xì)g迎界面,動(dòng)畫的時(shí)長(zhǎng)設(shè)置在4000‐5000毫秒左右,兩種動(dòng)畫各具特色,均受到用戶的喜愛,取得較好的用戶體驗(yàn)。

    為實(shí)現(xiàn)記事本APP 的開始?xì)g迎界面(動(dòng)畫),采用以下設(shè)計(jì)思路:

    (1)將補(bǔ)間動(dòng)畫界面需要的圖片導(dǎo)入到項(xiàng)目工程的drawable 文件夾中。

    (2)在對(duì)應(yīng)的布局文件XML 中,放置ImageView 等界面控件。

    (3)把程序中定義動(dòng)畫的XML 文件存放在項(xiàng)目工程的anim 文件夾中。以縮放動(dòng)畫為例,把圖片從屏幕中央由50%放大到100%。創(chuàng)建名為scale 的XML 文件,在該文件中通過設(shè)置縮放點(diǎn)的X 軸和Y 軸坐標(biāo)、動(dòng)畫開始時(shí)在X 軸和Y 軸的縮放系數(shù)、動(dòng)畫結(jié)束時(shí)在X 軸和Y 軸的縮放系數(shù)、動(dòng)畫持續(xù)時(shí)間,動(dòng)畫縮放速度等屬性,實(shí)現(xiàn)圖片的縮放動(dòng)畫效果。此外還可以根據(jù)需求自行選擇創(chuàng)建alpha.xml、rotate.xml 和translate.xml 等文件實(shí)現(xiàn)透明度漸變、旋轉(zhuǎn)、平移動(dòng)畫效果。

    (4)編寫界面交互代碼。通過調(diào)用AnimationUtils 類的loadAnimation()方法來加載步驟3 中定義補(bǔ)間動(dòng)畫效果的XML 文件。同時(shí)設(shè)置動(dòng)畫監(jiān)聽器,監(jiān)聽動(dòng)畫開始、結(jié)束和重復(fù)事件,在動(dòng)畫結(jié)束時(shí)進(jìn)行界面跳轉(zhuǎn),跳轉(zhuǎn)到記事本APP界面。最后通過startAnimation 方法啟動(dòng)動(dòng)畫。

    界面交互代碼如下(以加載縮放動(dòng)畫效果為例):

    (5)修改AndroidManifest.xml 文件,設(shè)置動(dòng)畫Activity為主啟動(dòng)項(xiàng)。

    實(shí)現(xiàn)APP 開始動(dòng)畫設(shè)計(jì)思路如圖2 所示??s放效果如圖3 所示。

    圖3:開始?xì)g迎動(dòng)畫(縮放效果)

    2.2 實(shí)現(xiàn)數(shù)據(jù)庫存儲(chǔ)

    在記事本APP 中需要保存數(shù)據(jù)量大、結(jié)構(gòu)性復(fù)雜的筆記記錄數(shù)據(jù)。如果使用文件存儲(chǔ)或SharedPreferences存儲(chǔ)只能保存一些簡(jiǎn)單的數(shù)據(jù)和鍵值對(duì),文件存儲(chǔ)或SharedPreferences 存儲(chǔ)很難存儲(chǔ)大量復(fù)雜的關(guān)系型記錄數(shù)據(jù),為此采用Android 系統(tǒng)內(nèi)置的SQLite 數(shù)據(jù)庫。SQLite是由D.Richard Hipp 用C 語言開發(fā)的一款輕量級(jí)別的關(guān)系型數(shù)據(jù)庫,只需很少的存儲(chǔ)空間而且響應(yīng)快速,一般只占用約220KB 的存儲(chǔ)空間,由于手機(jī)等設(shè)備存儲(chǔ)空間有限,所以選擇使用SQLite 數(shù)據(jù)庫非常合適。雖然SQLite 占用空間小,但它能使用SQL 語句在同一時(shí)間內(nèi)管理高達(dá)4TB 的數(shù)據(jù),并使用B‐Tree 存儲(chǔ)數(shù)據(jù)[5]8。SQLite 支持事務(wù)管理、視圖創(chuàng)建、內(nèi)外嵌套查詢、多重條件組合查詢、約束檢測(cè)和處理外鍵在內(nèi)的ANSI SQL92 標(biāo)準(zhǔn)大子集,且SQLite 的API 設(shè)計(jì)簡(jiǎn)單易懂,所以使用者可以很快學(xué)會(huì)使用SQLite。SQLite 具備小型、快速、簡(jiǎn)單、安全和高可靠等特點(diǎn),同時(shí)SQLite 不用配置、能夠單獨(dú)運(yùn)行、具備事務(wù)管理能力,是當(dāng)今世界上運(yùn)用最多的嵌入式SQL 數(shù)據(jù)庫引擎[5]8。在記事本APP 中使用了SQLite 這種功能強(qiáng)大的數(shù)據(jù)庫,能夠顯著提升管理數(shù)據(jù)記錄的性能。

    2.2.1 數(shù)據(jù)庫的創(chuàng)建

    Android 系統(tǒng)中有一個(gè)SQLiteOpenHelper 類,通過SQLiteOpenHelper 類可以方便地對(duì)記事本APP 數(shù)據(jù)庫進(jìn)行創(chuàng)建和升級(jí)。由于SQLiteOpenHelper 是抽象類,要?jiǎng)?chuàng)建一個(gè)類去繼承SQLiteOpenHelper 類,并且重寫該類中的onCreate()方法和onUpgrade()方法。onCreate()方法是在記事本APP 數(shù)據(jù)庫第1 次創(chuàng)建時(shí)調(diào)用,該方法通常用于初始化表結(jié)構(gòu)。onUpgrade()方法在遇到未來記事本APP數(shù)據(jù)庫變更升級(jí)時(shí)通過增加數(shù)據(jù)庫版本號(hào)進(jìn)行調(diào)用,如果版本號(hào)不增加則該方法不調(diào)用。創(chuàng)建或打開一個(gè)現(xiàn)有的數(shù)據(jù)庫是通過SQLiteOpenHelper 的getReadableDatabase()和getWritableDatabase()兩個(gè)實(shí)例方法來實(shí)現(xiàn)的,這兩個(gè)實(shí)例方法都可以返回能實(shí)現(xiàn)數(shù)據(jù)庫讀寫操作的對(duì)象。但getWritableDatabase()在數(shù)據(jù)庫不能寫入時(shí)會(huì)拋出異常,而getReadableDatabase()方法返回的對(duì)象能以只讀的方式打開數(shù)據(jù)庫[6]345。

    2.2.2 數(shù)據(jù)的添加、修改、刪除操作

    SQLiteOpenHelper 創(chuàng)建和升級(jí)數(shù)據(jù)庫是通過getReadableDatabase()或getWritableDatabase()方法實(shí)現(xiàn),而且會(huì)返回一個(gè)SQLiteDatabase 對(duì)象,通個(gè)這個(gè)對(duì)象可以對(duì)記事本記錄數(shù)據(jù)進(jìn)行添加、修改、刪除、查詢等操作[6]354。

    在SQLiteDatabase 中有一個(gè)insert()方法,可用于在記事本APP 中添加數(shù)據(jù)。insert()方法接收3 個(gè)參數(shù):第一個(gè)參數(shù)是要添加記錄的記事本APP 數(shù)據(jù)表名稱。第二個(gè)參數(shù)用于在未指定添加數(shù)據(jù)的情況下給某些可以為空的列自動(dòng)賦值NULL。第三個(gè)參數(shù)為ContentValues 對(duì)象,ContentValues類相當(dāng)于Map 類,可以通過鍵值對(duì)的形式存入數(shù)據(jù),這里的key 表示插入數(shù)據(jù)的列名,value 表示要插入的數(shù)據(jù)。

    在添加完數(shù)據(jù)后,如何才能修改記事本APP 表中已有的數(shù)據(jù)。SQLiteDatabase 中提供了一個(gè)十分好用的update()方法,這個(gè)方法是對(duì)記事本中的數(shù)據(jù)表記錄進(jìn)行更新。update()方法接收4 個(gè)參數(shù),第一個(gè)參數(shù)表示數(shù)據(jù)庫表的名稱,第二個(gè)參數(shù)是要更新的數(shù)據(jù)。第三個(gè)參數(shù)表示要更新修改數(shù)據(jù)的查詢條件。第四個(gè)參數(shù)表示查詢條件的參數(shù)。

    SQLiteDatabase 中同樣也提供了delete 方法,專門用于刪除數(shù)據(jù)。delete()方法可接收3 個(gè)參數(shù),第一個(gè)參數(shù)是記事本APP 對(duì)應(yīng)數(shù)據(jù)庫的表名,第二、第三個(gè)參數(shù)用于指定刪除什么數(shù)據(jù),如果沒有指定則默認(rèn)會(huì)刪除對(duì)應(yīng)表中的所有數(shù)據(jù)[6]360。

    2.2.3 數(shù)據(jù)的查詢操作

    在記事本APP 中“增刪改”只是其中的一小部分功能,使用最多的功能就是查詢數(shù)據(jù),例如記事本的記錄列表查看和某一記錄筆記的詳細(xì)內(nèi)容查看,同時(shí)查詢數(shù)據(jù)也是比較復(fù)雜的一種操作。進(jìn)行數(shù)據(jù)查詢的時(shí)候使用的是SQLiteDatabase 提供的query()方法,該方法返回的是一個(gè)行數(shù)集合Cursor,Cursor 是一個(gè)游標(biāo)接口,提供遍歷查詢的方法。需要注意的是,使用完Curesor 對(duì)象后,需要及時(shí)關(guān)閉,否則會(huì)造成內(nèi)存泄露。query()方法包含7 個(gè)參數(shù),第1個(gè)參數(shù)表示記事本APP 表名稱,第2 個(gè)參數(shù)表示查詢的列名,第3 個(gè)參數(shù)表示的是接收查詢條件的子句,第4 個(gè)參數(shù)表示接收查詢子句對(duì)應(yīng)的條件值,第5 個(gè)參數(shù)表示分組方式,第6 個(gè)參數(shù)接收having 條件,第7 個(gè)參數(shù)表示排序方式[4]125,通過設(shè)定對(duì)應(yīng)字段的排序方式,可以輕松實(shí)現(xiàn)記事本記錄按ID 或編輯時(shí)間升序或降序展示。

    2.3 實(shí)現(xiàn)網(wǎng)絡(luò)交互訪問

    2.3.1 WebView 控件訪問互聯(lián)網(wǎng)資源

    21世紀(jì)是互聯(lián)網(wǎng)的時(shí)代,如果記事本APP 不能夠利用互聯(lián)網(wǎng)資源,那么用戶一定會(huì)感到枯燥乏味。在記事本APP 中希望能夠展示一些百年黨史新聞網(wǎng)頁或黨史知識(shí)測(cè)試網(wǎng)頁,但加載和顯示網(wǎng)頁通常是瀏覽器的任務(wù),如果在使用記事本APP 中需要用戶打開系統(tǒng)瀏覽器則會(huì)影響用戶體驗(yàn),開發(fā)人員自己去編寫瀏覽器則開發(fā)成本太高。筆者選擇采用WebView 來實(shí)現(xiàn)這一功能,WebView 控件不僅可以指定URL,還可以加載并執(zhí)行HTML 代碼,同時(shí)還能支持JavaScript,通過該控件可以輕松展示各種各樣的網(wǎng)頁。

    WebView 類是由Android 系統(tǒng)中View 類擴(kuò)展而來的,可以將WebView 類添加到對(duì)應(yīng)的布局中,顯示特定的網(wǎng)頁內(nèi)容,WebView 不會(huì)顯示出地址欄或?qū)Ш綑冢怀尸F(xiàn)所需要的網(wǎng)頁內(nèi)容[7]11。通過WebView 的getSettings()方法可以設(shè)置一些瀏覽器的屬性,在記事本APP 中黨史知識(shí)測(cè)試H5 網(wǎng)頁需要支持JavaScript 腳本和使用localStorage,否則網(wǎng)頁無法正常顯示。因此調(diào)用setJavaScriptEnabled()方法和setDomStorageEnabled() 方法,讓W(xué)ebView 支持JavaScript腳本和DOM 緩存,程序代碼如下:

    在記事本APP 中,遇到一個(gè)網(wǎng)頁變換到其他網(wǎng)頁時(shí),用戶希望不打開瀏覽器,仍然在當(dāng)前WebView 中顯示目標(biāo)網(wǎng)頁,那么可以使用WebView 的setWebViewClient()方法,并傳遞一個(gè)WebViewClient 的實(shí)例。最后調(diào)用WebView 的loadUrl()方法,并將網(wǎng)址傳入,即可展示相應(yīng)的網(wǎng)頁內(nèi)容[6]507。

    最后記事本APP 通過互聯(lián)網(wǎng)訪問資源,需要在Android Manifest.xml 文件中加入網(wǎng)絡(luò)權(quán)限聲明[8]43,否則應(yīng)用程序會(huì)出現(xiàn)無法訪問互聯(lián)網(wǎng)資源的情況。

    2.3.2 Retrofit 框架實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)交互解析

    此外,能源行業(yè)效益、效率獲得總體改善。前8個(gè)月,利潤(rùn)總額同比增長(zhǎng)25.1%,占工業(yè)企業(yè)的17.8%,比去年同期提高5個(gè)百分點(diǎn)。前三季度,全國發(fā)電設(shè)備利用率結(jié)束連續(xù)6年下降的局面,發(fā)電設(shè)備利用小時(shí)比去年同期增加94個(gè)小時(shí)。

    WebView 控件能夠方便訪問互聯(lián)網(wǎng)資源,但這種交互通常是單向的。如果記事本應(yīng)用中需要與后臺(tái)遠(yuǎn)程服務(wù)器進(jìn)行雙向交互通信,比如實(shí)現(xiàn)注冊(cè)、登錄和數(shù)據(jù)備份等功能,并且能夠?qū)⒎?wù)器返回的JSON 數(shù)據(jù)自動(dòng)解析成對(duì)象,這就需要用到Retrofit 網(wǎng)絡(luò)庫。Retrofit 是Square 公司在OkHttp 的基礎(chǔ)上進(jìn)一步開發(fā)出來的應(yīng)用層網(wǎng)絡(luò)通信庫,能夠讓開發(fā)者以更加面向?qū)ο蟮乃季S進(jìn)行網(wǎng)絡(luò)操作。OkHttp 側(cè)重的是底層通信的實(shí)現(xiàn),Retrofit 側(cè)重上層接口的封裝,Retrofit 是當(dāng)前Android 開發(fā)中最流行的網(wǎng)絡(luò)請(qǐng)求框架。Android 應(yīng)用程序通過Retrofit 框架與遠(yuǎn)程服務(wù)器交互通信時(shí),Android 應(yīng)用程序首先向Retrofit 接口層提出網(wǎng)絡(luò)請(qǐng)求,Retrofit 封裝網(wǎng)絡(luò)請(qǐng)求頭部、網(wǎng)絡(luò)請(qǐng)求參數(shù)、Url 等信息,之后 OkHttp 處理后續(xù)的網(wǎng)絡(luò)請(qǐng)求,并從服務(wù)端獲得返回?cái)?shù)據(jù),OkHttp 將原始結(jié)果傳遞給Retrofit,Retrofit 根據(jù)之前設(shè)定好的格式進(jìn)行解析[9]9。

    記事本APP 使用Retrofit 框架與遠(yuǎn)程服務(wù)器進(jìn)行交互通信的基本用法如下:

    (1)添加軟件依賴包。在app/build.gradle 文件中添加Retrofit 所需要的依賴包,添加Retrofit 和Retrofit 轉(zhuǎn)換庫到dependencies 閉包中。由于Retrofit 是在OkHttp 的基礎(chǔ)上開發(fā)的,所以無需額外再添加OkHttp 庫。Retrofit 轉(zhuǎn)換庫使用GSON 解析JSON 數(shù)據(jù),因此不用再添加GSON 庫。

    (2)創(chuàng)建實(shí)體類。從服務(wù)器端返回的數(shù)據(jù)經(jīng)過Retrofit轉(zhuǎn)換器轉(zhuǎn)換后為JSON 格式,需要?jiǎng)?chuàng)建對(duì)應(yīng)的實(shí)體類進(jìn)行接收。

    (3)創(chuàng)建RetrofitUtil 工具類。在工具類里面定義基礎(chǔ)URL,定義Retrofit 對(duì)象和OkHttpClient 對(duì)象。在OkHttpClient 對(duì)象中設(shè)置連接超時(shí)參數(shù)和攔截器,并在攔截器中設(shè)置token 鑒權(quán)參數(shù)。設(shè)置好OkHttpClient 對(duì)象后作為參數(shù)傳入Retrofit 對(duì)象的client 屬性中,并根據(jù)需要設(shè)置Retrofit 對(duì)象的格式轉(zhuǎn)換器。最后將RetrofitUtil 設(shè)置成單例模式,生成唯一實(shí)例。

    (5)封裝客戶端訪問程序。創(chuàng)建RetrofitClient 類實(shí)現(xiàn)Retrofit 框架的Callback 接口并重寫onResponse 和onFailure方法。在對(duì)應(yīng)的構(gòu)造函數(shù)里面通過RetrofitUtil 實(shí)例傳入IService 接口實(shí)例,在RetrofitClient 類里面定義GET、POST、PUT 等方法,在方法里面?zhèn)魅險(xiǎn)RL、網(wǎng)絡(luò)請(qǐng)求數(shù)據(jù)等參數(shù),當(dāng)調(diào)用GET、POST 等方法時(shí)返回Call<>對(duì)象,再調(diào)用enqueue()方法,Retrofit 框架會(huì)發(fā)起網(wǎng)絡(luò)異步請(qǐng)求,服務(wù)器響應(yīng)的數(shù)據(jù)會(huì)在enqueue()方法中Callback 里面實(shí)現(xiàn)[10]83‐84。

    通過Retrofit 框架可以方便實(shí)現(xiàn)與遠(yuǎn)程服務(wù)器進(jìn)行數(shù)據(jù)交互并對(duì)返回的數(shù)據(jù)進(jìn)行解析,能夠讓記事本APP 在互聯(lián)網(wǎng)時(shí)代更加智能。

    3 結(jié)語

    本文分析和研究了實(shí)現(xiàn)智能記事本APP 開始?xì)g迎界面的思路、方法及關(guān)鍵代碼,使用縮放動(dòng)畫和透明度漸變動(dòng)畫實(shí)現(xiàn)APP 的開始?xì)g迎界面,分析通過SQLite 數(shù)據(jù)庫管理記事本APP 的記錄數(shù)據(jù),研究數(shù)據(jù)庫如何創(chuàng)建以及如何對(duì)數(shù)據(jù)進(jìn)行增刪查改操作,分析如何使用WebView 控件,實(shí)現(xiàn)訪問百年黨史新聞、黨史知識(shí)測(cè)試等互聯(lián)網(wǎng)資源,使用Retrofit 網(wǎng)絡(luò)框架與遠(yuǎn)端服務(wù)器進(jìn)行交互解析,取得了較好的用戶體驗(yàn),其實(shí)現(xiàn)思路和方法也可適用于其他APP 開發(fā)。該智能記事本APP 不但可以幫助用戶便捷記錄生活、工作和學(xué)習(xí)中的諸多事情,幫助人們有條理地進(jìn)行時(shí)間管理,而且可以有助于用戶隨時(shí)隨地記錄下學(xué)習(xí)黨史的心得體會(huì),幫助用戶更好地學(xué)習(xí)黨史知識(shí)。

    猜你喜歡
    動(dòng)畫界面數(shù)據(jù)庫
    做個(gè)動(dòng)畫給你看
    動(dòng)畫發(fā)展史
    國企黨委前置研究的“四個(gè)界面”
    我的動(dòng)畫夢(mèng)
    文苑(2019年22期)2019-12-07 05:28:56
    基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
    數(shù)據(jù)庫
    人機(jī)交互界面發(fā)展趨勢(shì)研究
    數(shù)據(jù)庫
    我是動(dòng)畫迷
    數(shù)據(jù)庫
    中文字幕高清在线视频| 亚洲aⅴ乱码一区二区在线播放 | 精品一区二区三区视频在线观看免费 | 亚洲精品国产一区二区精华液| 中文字幕最新亚洲高清| 亚洲第一欧美日韩一区二区三区| 精品无人区乱码1区二区| 欧美黑人欧美精品刺激| 男女下面进入的视频免费午夜 | 亚洲在线自拍视频| 日韩一卡2卡3卡4卡2021年| 日韩中文字幕欧美一区二区| 欧美日韩一级在线毛片| 在线观看一区二区三区| 国产片内射在线| 欧美av亚洲av综合av国产av| 桃红色精品国产亚洲av| 他把我摸到了高潮在线观看| 可以免费在线观看a视频的电影网站| 色婷婷久久久亚洲欧美| 在线观看午夜福利视频| av天堂在线播放| 69精品国产乱码久久久| avwww免费| av电影中文网址| 女人被狂操c到高潮| 亚洲国产看品久久| av网站在线播放免费| 国产一区二区在线av高清观看| 黄色怎么调成土黄色| 国产精品九九99| 女同久久另类99精品国产91| 精品国内亚洲2022精品成人| 亚洲avbb在线观看| 丝袜在线中文字幕| 成年人黄色毛片网站| 欧美av亚洲av综合av国产av| 午夜福利影视在线免费观看| 中文字幕另类日韩欧美亚洲嫩草| 最好的美女福利视频网| 搡老熟女国产l中国老女人| 欧美日韩一级在线毛片| 久久精品影院6| av中文乱码字幕在线| 午夜日韩欧美国产| 成人免费观看视频高清| 亚洲欧美精品综合久久99| 女性生殖器流出的白浆| 国产又爽黄色视频| 老司机深夜福利视频在线观看| 香蕉国产在线看| 国产亚洲精品第一综合不卡| 欧美成人免费av一区二区三区| 国产精品二区激情视频| 久99久视频精品免费| 欧美激情极品国产一区二区三区| 国产精品秋霞免费鲁丝片| 亚洲精品美女久久久久99蜜臀| 91精品国产国语对白视频| 免费在线观看日本一区| 一二三四社区在线视频社区8| 欧美日韩视频精品一区| 久久久久国产一级毛片高清牌| xxx96com| 国产欧美日韩综合在线一区二区| 欧美老熟妇乱子伦牲交| 精品日产1卡2卡| 国产精品久久视频播放| 最新美女视频免费是黄的| 免费日韩欧美在线观看| aaaaa片日本免费| 国产精品日韩av在线免费观看 | 大码成人一级视频| 88av欧美| 亚洲国产看品久久| 国产精品99久久99久久久不卡| 国产一区二区三区综合在线观看| 国内久久婷婷六月综合欲色啪| 亚洲aⅴ乱码一区二区在线播放 | 国产午夜精品久久久久久| 一二三四在线观看免费中文在| www国产在线视频色| 久久久久久免费高清国产稀缺| 新久久久久国产一级毛片| 午夜福利免费观看在线| av福利片在线| 咕卡用的链子| av在线播放免费不卡| 色综合站精品国产| 日韩国内少妇激情av| 久久中文字幕人妻熟女| 亚洲av片天天在线观看| 一级a爱视频在线免费观看| 无遮挡黄片免费观看| 最近最新免费中文字幕在线| 亚洲av成人不卡在线观看播放网| 99国产精品一区二区三区| a级毛片在线看网站| 亚洲精品在线观看二区| 亚洲中文日韩欧美视频| 国产主播在线观看一区二区| 亚洲国产精品sss在线观看 | av网站免费在线观看视频| 国产单亲对白刺激| 天天影视国产精品| 亚洲国产欧美网| 国产成人精品久久二区二区91| 欧美精品啪啪一区二区三区| 两人在一起打扑克的视频| av视频免费观看在线观看| 国产免费男女视频| 黄色片一级片一级黄色片| 亚洲av成人不卡在线观看播放网| 搡老乐熟女国产| 老鸭窝网址在线观看| 亚洲av片天天在线观看| 欧美色视频一区免费| 黄色女人牲交| 国产1区2区3区精品| 国产一区二区在线av高清观看| 欧美日韩福利视频一区二区| 国产真人三级小视频在线观看| 精品久久久精品久久久| 精品无人区乱码1区二区| 免费观看人在逋| 999精品在线视频| 国产精品一区二区在线不卡| 免费高清视频大片| 成人精品一区二区免费| 国产精品国产av在线观看| 99久久99久久久精品蜜桃| 色精品久久人妻99蜜桃| 美女大奶头视频| 色老头精品视频在线观看| 日本免费a在线| 一区二区三区激情视频| 日韩大尺度精品在线看网址 | 欧美黄色片欧美黄色片| 亚洲欧美日韩另类电影网站| 黄色丝袜av网址大全| 一个人观看的视频www高清免费观看 | a级毛片在线看网站| 国产不卡一卡二| 久久久久久久久中文| 老鸭窝网址在线观看| 婷婷六月久久综合丁香| 满18在线观看网站| 日韩欧美国产一区二区入口| 韩国av一区二区三区四区| 亚洲精品久久午夜乱码| 午夜精品国产一区二区电影| 日韩免费av在线播放| 久久精品国产99精品国产亚洲性色 | 黑人猛操日本美女一级片| 女性生殖器流出的白浆| 亚洲专区字幕在线| 久久久久久久午夜电影 | 久久九九热精品免费| 日韩国内少妇激情av| 无人区码免费观看不卡| 日本精品一区二区三区蜜桃| 久久性视频一级片| 久久精品国产亚洲av高清一级| 狠狠狠狠99中文字幕| 激情视频va一区二区三区| 亚洲av第一区精品v没综合| 12—13女人毛片做爰片一| 亚洲欧美精品综合久久99| 天堂动漫精品| 欧美色视频一区免费| av中文乱码字幕在线| 韩国av一区二区三区四区| 搡老乐熟女国产| 精品午夜福利视频在线观看一区| 超碰97精品在线观看| 欧美最黄视频在线播放免费 | 精品无人区乱码1区二区| 欧美在线黄色| 国产成人啪精品午夜网站| 久久久国产精品麻豆| 亚洲欧美激情在线| 在线观看免费日韩欧美大片| 一进一出抽搐gif免费好疼 | 欧美大码av| 欧美黑人欧美精品刺激| 亚洲国产精品合色在线| 黑丝袜美女国产一区| 99久久99久久久精品蜜桃| 嫁个100分男人电影在线观看| 不卡av一区二区三区| 亚洲欧美激情综合另类| 久久精品影院6| 国产成人免费无遮挡视频| 亚洲精品av麻豆狂野| 成人精品一区二区免费| 一级毛片女人18水好多| 搡老乐熟女国产| 精品一区二区三区av网在线观看| 三级毛片av免费| 18美女黄网站色大片免费观看| 又大又爽又粗| av超薄肉色丝袜交足视频| 国产精品影院久久| 麻豆久久精品国产亚洲av | 妹子高潮喷水视频| 免费在线观看黄色视频的| 久久亚洲精品不卡| 一区福利在线观看| 一本综合久久免费| 亚洲人成电影免费在线| 长腿黑丝高跟| 伊人久久大香线蕉亚洲五| 亚洲欧美日韩高清在线视频| 黄色片一级片一级黄色片| 中文欧美无线码| 亚洲色图 男人天堂 中文字幕| av超薄肉色丝袜交足视频| 久久香蕉激情| 女人被狂操c到高潮| 在线av久久热| 欧美中文日本在线观看视频| 国产一区二区在线av高清观看| 久久精品亚洲熟妇少妇任你| 18禁黄网站禁片午夜丰满| 国产一卡二卡三卡精品| 欧美精品啪啪一区二区三区| 国产亚洲欧美精品永久| 少妇裸体淫交视频免费看高清 | 欧美成人免费av一区二区三区| 操出白浆在线播放| 久久国产精品男人的天堂亚洲| 老司机午夜福利在线观看视频| 人成视频在线观看免费观看| 国产91精品成人一区二区三区| 12—13女人毛片做爰片一| 亚洲午夜理论影院| 精品国内亚洲2022精品成人| 久久性视频一级片| 一进一出抽搐gif免费好疼 | 99国产精品免费福利视频| 亚洲精品国产精品久久久不卡| 99久久久亚洲精品蜜臀av| 亚洲国产欧美网| 精品欧美一区二区三区在线| av超薄肉色丝袜交足视频| 亚洲激情在线av| 精品电影一区二区在线| 国产在线精品亚洲第一网站| 免费在线观看黄色视频的| 亚洲熟妇中文字幕五十中出 | 日本黄色日本黄色录像| 好男人电影高清在线观看| 一本大道久久a久久精品| √禁漫天堂资源中文www| 中国美女看黄片| 19禁男女啪啪无遮挡网站| 久久欧美精品欧美久久欧美| 天天躁夜夜躁狠狠躁躁| 亚洲视频免费观看视频| videosex国产| 三级毛片av免费| 欧美一级毛片孕妇| 成人亚洲精品av一区二区 | 亚洲精品一区av在线观看| 神马国产精品三级电影在线观看| 在线观看av片永久免费下载| 赤兔流量卡办理| 婷婷精品国产亚洲av| 国产单亲对白刺激| 中亚洲国语对白在线视频| 最新中文字幕久久久久| 国产白丝娇喘喷水9色精品| 夜夜躁狠狠躁天天躁| 可以在线观看的亚洲视频| 亚洲欧美清纯卡通| 欧美性猛交黑人性爽| 久久久久久久久大av| 一级a爱片免费观看的视频| 成人毛片a级毛片在线播放| 国产av一区在线观看免费| 天堂影院成人在线观看| 免费黄网站久久成人精品 | 色综合欧美亚洲国产小说| 国产精品久久久久久久久免 | 亚洲激情在线av| 日韩欧美精品v在线| 深夜精品福利| 久久久成人免费电影| 少妇人妻一区二区三区视频| 亚洲国产精品999在线| 国产精品影院久久| 免费无遮挡裸体视频| 国产免费男女视频| 激情在线观看视频在线高清| 少妇的逼水好多| 欧美乱妇无乱码| 欧美日韩乱码在线| 乱人视频在线观看| 成人特级av手机在线观看| 18禁黄网站禁片免费观看直播| 一a级毛片在线观看| 99久久精品一区二区三区| 亚洲午夜理论影院| 欧美一级a爱片免费观看看| 免费看光身美女| 欧美3d第一页| 99久久无色码亚洲精品果冻| 免费看a级黄色片| 午夜精品一区二区三区免费看| 日韩av在线大香蕉| 99国产极品粉嫩在线观看| 精品国内亚洲2022精品成人| 简卡轻食公司| 一本久久中文字幕| 午夜精品在线福利| 成年免费大片在线观看| 婷婷丁香在线五月| 国内精品久久久久精免费| 国产aⅴ精品一区二区三区波| 国内精品久久久久久久电影| 禁无遮挡网站| 欧美中文日本在线观看视频| 真人一进一出gif抽搐免费| 在线十欧美十亚洲十日本专区| 99国产精品一区二区三区| 久久久久久久久久成人| 国产精品1区2区在线观看.| 久久久久久久久久成人| ponron亚洲| 美女黄网站色视频| 亚洲aⅴ乱码一区二区在线播放| 最新在线观看一区二区三区| 欧美潮喷喷水| 国产午夜福利久久久久久| 精品一区二区免费观看| 美女黄网站色视频| 嫩草影院精品99| 老鸭窝网址在线观看| 欧美色欧美亚洲另类二区| 内地一区二区视频在线| 中文字幕人妻熟人妻熟丝袜美| 国产成人欧美在线观看| 欧美另类亚洲清纯唯美| 免费在线观看亚洲国产| 一级av片app| 校园春色视频在线观看| 亚洲不卡免费看| 日日夜夜操网爽| 九色国产91popny在线| 亚洲精品456在线播放app | 国产成+人综合+亚洲专区| 国产欧美日韩精品一区二区| 又紧又爽又黄一区二区| 美女黄网站色视频| 搡老岳熟女国产| 少妇的逼好多水| 在线观看美女被高潮喷水网站 | 在线免费观看不下载黄p国产 | 两个人的视频大全免费| 好男人电影高清在线观看| 美女大奶头视频| 国产午夜精品久久久久久一区二区三区 | av黄色大香蕉| 在线国产一区二区在线| 成年版毛片免费区| 此物有八面人人有两片| 丰满的人妻完整版| 午夜亚洲福利在线播放| 精品欧美国产一区二区三| 色尼玛亚洲综合影院| 又紧又爽又黄一区二区| 国产激情偷乱视频一区二区| 99热精品在线国产| 欧美日韩综合久久久久久 | 亚洲国产日韩欧美精品在线观看| 两个人的视频大全免费| 日本精品一区二区三区蜜桃| 夜夜爽天天搞| 欧美xxxx性猛交bbbb| 怎么达到女性高潮| 女同久久另类99精品国产91| 少妇被粗大猛烈的视频| 欧美性感艳星| 亚洲欧美激情综合另类| 国内久久婷婷六月综合欲色啪| 欧美绝顶高潮抽搐喷水| 亚洲欧美日韩无卡精品| 欧美成人a在线观看| 成人一区二区视频在线观看| 午夜影院日韩av| 女人十人毛片免费观看3o分钟| 黄色丝袜av网址大全| 精品一区二区三区人妻视频| 久久久久久大精品| 人妻久久中文字幕网| 99久久99久久久精品蜜桃| 国产主播在线观看一区二区| 日本一二三区视频观看| 精品人妻一区二区三区麻豆 | 日韩欧美在线乱码| 91午夜精品亚洲一区二区三区 | 久久久久久大精品| 中文字幕免费在线视频6| 一区二区三区激情视频| 午夜福利免费观看在线| 欧美色欧美亚洲另类二区| 一个人看的www免费观看视频| 长腿黑丝高跟| 99在线视频只有这里精品首页| 国产熟女xx| 亚洲激情在线av| 国产精品美女特级片免费视频播放器| 免费看光身美女| 十八禁网站免费在线| 国产69精品久久久久777片| 欧美最新免费一区二区三区 | 亚洲av一区综合| 观看免费一级毛片| 搡老岳熟女国产| 精品欧美国产一区二区三| 日日摸夜夜添夜夜添av毛片 | 国产午夜精品久久久久久一区二区三区 | 亚洲内射少妇av| 久久99热6这里只有精品| 熟妇人妻久久中文字幕3abv| 丰满的人妻完整版| 非洲黑人性xxxx精品又粗又长| 日韩国内少妇激情av| 久久亚洲精品不卡| 禁无遮挡网站| 国产激情偷乱视频一区二区| 国产蜜桃级精品一区二区三区| 99久久精品国产亚洲精品| 欧美最新免费一区二区三区 | 久久精品人妻少妇| 99久久精品一区二区三区| 美女大奶头视频| 国产真实乱freesex| 欧美日韩瑟瑟在线播放| 99在线人妻在线中文字幕| 男人狂女人下面高潮的视频| 在线天堂最新版资源| 最近视频中文字幕2019在线8| 国产成人啪精品午夜网站| 国产乱人视频| 我要看日韩黄色一级片| 久99久视频精品免费| 少妇熟女aⅴ在线视频| 精品久久久久久,| 99在线视频只有这里精品首页| 伦理电影大哥的女人| 97超视频在线观看视频| 男人狂女人下面高潮的视频| 亚洲中文字幕一区二区三区有码在线看| 欧美精品国产亚洲| 99热6这里只有精品| 伦理电影大哥的女人| 五月玫瑰六月丁香| 日本撒尿小便嘘嘘汇集6| 国产精品乱码一区二三区的特点| 少妇丰满av| 午夜精品在线福利| 欧美日韩国产亚洲二区| 欧美一区二区国产精品久久精品| 欧美乱妇无乱码| 少妇的逼水好多| 99久久精品热视频| x7x7x7水蜜桃| 99视频精品全部免费 在线| 听说在线观看完整版免费高清| 直男gayav资源| 午夜影院日韩av| 亚洲欧美清纯卡通| 三级男女做爰猛烈吃奶摸视频| 琪琪午夜伦伦电影理论片6080| 一卡2卡三卡四卡精品乱码亚洲| 悠悠久久av| 久久亚洲真实| 国产精品人妻久久久久久| 国产高清激情床上av| 狂野欧美白嫩少妇大欣赏| 国产精品98久久久久久宅男小说| 90打野战视频偷拍视频| 国产综合懂色| 婷婷精品国产亚洲av在线| 欧美成人a在线观看| 搞女人的毛片| 99久久精品热视频| 老司机午夜十八禁免费视频| 亚洲人成网站在线播放欧美日韩| 国产黄a三级三级三级人| 成年女人毛片免费观看观看9| 97碰自拍视频| 精品欧美国产一区二区三| 在线a可以看的网站| 深爱激情五月婷婷| 内地一区二区视频在线| 少妇人妻一区二区三区视频| 午夜激情欧美在线| 欧美最新免费一区二区三区 | 在线免费观看的www视频| 99热这里只有精品一区| 国内少妇人妻偷人精品xxx网站| 久久久精品欧美日韩精品| 国产高清三级在线| 男女下面进入的视频免费午夜| 国产真实乱freesex| 国产亚洲精品久久久久久毛片| 嫩草影院新地址| 午夜视频国产福利| 国产精品久久久久久精品电影| 无人区码免费观看不卡| 中文字幕av成人在线电影| 日韩 亚洲 欧美在线| 亚洲中文字幕一区二区三区有码在线看| 久久久色成人| 国产爱豆传媒在线观看| 亚洲人与动物交配视频| 国产爱豆传媒在线观看| 国产精华一区二区三区| netflix在线观看网站| 在线免费观看的www视频| 成年女人毛片免费观看观看9| 日韩欧美 国产精品| 美女xxoo啪啪120秒动态图 | 亚洲成人精品中文字幕电影| 很黄的视频免费| 久久精品91蜜桃| 亚洲五月婷婷丁香| 国产精品1区2区在线观看.| 欧美激情在线99| 久久久精品大字幕| 国产精品久久久久久精品电影| 最新在线观看一区二区三区| 好男人电影高清在线观看| 俺也久久电影网| 婷婷精品国产亚洲av| 搡老妇女老女人老熟妇| 伊人久久精品亚洲午夜| 美女xxoo啪啪120秒动态图 | 日本免费a在线| 搞女人的毛片| 成人午夜高清在线视频| 老司机深夜福利视频在线观看| 久久亚洲真实| 亚洲中文字幕一区二区三区有码在线看| 亚洲最大成人手机在线| 亚洲电影在线观看av| 欧美成狂野欧美在线观看| 国产亚洲精品久久久久久毛片| 欧美成人一区二区免费高清观看| 久久久久国产精品人妻aⅴ院| АⅤ资源中文在线天堂| 中文在线观看免费www的网站| 2021天堂中文幕一二区在线观| 久久亚洲真实| 日韩国内少妇激情av| 久久久久久国产a免费观看| 日本在线视频免费播放| 少妇人妻一区二区三区视频| 国产高清三级在线| 久久精品夜夜夜夜夜久久蜜豆| 亚洲成a人片在线一区二区| 久久久久久九九精品二区国产| 国产成人影院久久av| 亚洲,欧美,日韩| 露出奶头的视频| 日日摸夜夜添夜夜添小说| 88av欧美| 老女人水多毛片| 88av欧美| 欧美一级a爱片免费观看看| 淫秽高清视频在线观看| 伊人久久精品亚洲午夜| 亚洲欧美清纯卡通| 国产午夜福利久久久久久| 亚洲欧美清纯卡通| 免费在线观看影片大全网站| 日韩欧美精品免费久久 | 日本精品一区二区三区蜜桃| 亚洲精品456在线播放app | 国产精品综合久久久久久久免费| 亚洲五月天丁香| 成年版毛片免费区| 久久精品影院6| 一本精品99久久精品77| 亚洲自偷自拍三级| 亚洲在线观看片| 国产精品三级大全| 国产精品亚洲美女久久久| 免费搜索国产男女视频| 看十八女毛片水多多多| 啪啪无遮挡十八禁网站| 在线观看66精品国产| 18禁裸乳无遮挡免费网站照片| 在线观看66精品国产| 国模一区二区三区四区视频| 在线观看免费视频日本深夜| 久久久久国内视频| 在线a可以看的网站| 日韩亚洲欧美综合| 99国产精品一区二区三区| 两个人视频免费观看高清| 搞女人的毛片| 69av精品久久久久久| 久久久久久久久久成人| 亚洲av电影在线进入| 国产精品野战在线观看| 综合色av麻豆| 小蜜桃在线观看免费完整版高清| 九九热线精品视视频播放| 啦啦啦观看免费观看视频高清| 久久久成人免费电影| 日韩欧美在线二视频| av国产免费在线观看|