android畢業(yè)設(shè)計(jì)報(bào)告_第1頁
已閱讀1頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  摘 要</b></p><p>  現(xiàn)在,人們越來越重視互聯(lián)網(wǎng)。花田小憩可以為花卉愛好者們提供一個(gè)交流以及交易的平臺,在這里花卉愛好者們可以的到最新的花卉信息以及購買到喜歡的花卉品種。</p><p>  本文綜合運(yùn)用Android技術(shù)、Android Studio開發(fā)平臺、JSON等技術(shù)和工具對花田小憩進(jìn)行了分析、設(shè)計(jì)和實(shí)現(xiàn)。給出了

2、系統(tǒng)的功能分析、環(huán)境和質(zhì)量要求;建立了系統(tǒng)軟、硬件體系結(jié)構(gòu)模型;完成了功能模塊設(shè)計(jì)和數(shù)據(jù)接口的對接;同時(shí)確定了各個(gè)功能模塊的測試環(huán)境,并制定了測試方案對各個(gè)模塊進(jìn)行有效的測試和分析;最終實(shí)現(xiàn)了Android平臺端的應(yīng)用。</p><p>  項(xiàng)目采用MVP架構(gòu),MVP模式是MVC模式的一個(gè)演化版本,MVP全稱Model-View-Presenter。MVP模式會解除View與Model的耦合,有效的降低View的

3、復(fù)雜性。同時(shí)又帶來了良好的可擴(kuò)展性、可測試性,保證系統(tǒng)的整潔性和靈活性。MVP模式可以分離顯示層與邏輯層,它們之間通過接口進(jìn)行通信,降低耦合。理想化的MVP模式可以實(shí)現(xiàn)同一份邏輯代碼搭配不同的顯示界面,因?yàn)樗鼈冎g并不依賴與具體,而是依賴于抽象。這使得Presenter可以運(yùn)用于任何實(shí)現(xiàn)了View邏輯接口的UI,使之具有更廣泛的適用性,保證了靈活度。</p><p>  總之,本系統(tǒng)可以通過對智能家居系統(tǒng)的控制和

4、受控方狀態(tài)的反饋,從而使操作者可以及時(shí)掌握受控方信息,使其達(dá)到交互式智能化。更好地服務(wù)于我們的生活,使人們的日常生活更加方便、智能、快捷。</p><p>  關(guān)鍵詞:花卉;Android;JSON;MVP;在線購物</p><p><b>  Abstract</b></p><p>  Nowadays , people are payi

5、ng more and more attention to the internet. Flower nap provides a platform for the exchange and exchange of flower lovers , where the flower lovers can get the latest information about flowers and buy the flowers they l

6、ike.</p><p>  In this paper , Android technology , Android Studio development platform , JSON and other techniques and tools are used to analyze , design and implement the nap. The analysis , given the

7、function of the system environment and quality requirements; establish a system structure model of software and hardware system; the completion of the docking module design and data interface; while determining the test

8、environment of each module , and developed a test scheme for testing and analysis of t</p><p>  The project uses the MVP architecture , and the MVP model is an evolved version of the MVC schema , MVP , f

9、ull name Model-View-Presenter. The MVP pattern removes the coupling of View and Model , effectively reducing the complexity of View. At the same time , it also brings good scalability and testability , and ensures the

10、 neatness and flexibility of the system. The MVP model can separate the display layer from the logical layer , through which they can communicate and reduce the coupling</p><p>  In a word , the system can

11、 control the intelligent home system and the feedback of the controlled state , so that the operator can grasp the information of the accuser in time and make it interactive and intelligent. Better serve our life , mak

12、e people's daily life more convenient , intelligent and quick.</p><p>  keywords: flower; Android; JSON; MVP; shopping online</p><p><b>  目 錄</b></p><p><b>

13、  1 緒論1</b></p><p>  1.1 研發(fā)背景1</p><p>  1.2 主要研究內(nèi)容2</p><p>  1.3 論文組織結(jié)構(gòu)2</p><p>  2 課題研究相關(guān)技術(shù)綜述4</p><p>  2.1 Android 系統(tǒng)4</p><p

14、>  2.2 Sqlite數(shù)據(jù)庫9</p><p>  2.3 JSON數(shù)據(jù)11</p><p>  2.4 Java環(huán)境12</p><p>  2.5 設(shè)備環(huán)境16</p><p>  3 系統(tǒng)需求分析17</p><p>  3.1 需求調(diào)查17</p><p&g

15、t;  3.2 功能分析18</p><p>  4 系統(tǒng)需求分析19</p><p>  4.1 系統(tǒng)設(shè)計(jì)環(huán)境19</p><p>  4.2 系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)19</p><p>  5.1 項(xiàng)目設(shè)計(jì)20</p><p>  5.2 數(shù)據(jù)接口設(shè)計(jì)23</p><p>

16、  6 系統(tǒng)實(shí)現(xiàn)28</p><p>  6.2 系統(tǒng)測試41</p><p>  7 總結(jié)與展望44</p><p>  7.1 總結(jié)44</p><p>  7.2 展望44</p><p><b>  參考文獻(xiàn)45</b></p><p><

17、;b>  致謝46</b></p><p>  附錄一:英文原文47</p><p>  附錄二:中文譯文48</p><p><b>  1 緒論</b></p><p><b>  1.1 研發(fā)背景</b></p><p>  近些年,隨著In

18、ternet和計(jì)算機(jī)網(wǎng)絡(luò)通信技術(shù)的飛速發(fā)展、人們生活水平的不斷提高,以及人們精神需求的不斷增長,移動應(yīng)用已幾乎成為每個(gè)人都會使用的東西,無論男女老少,就比如我外公,前幾年就在學(xué)習(xí)怎么使用瀏覽器百度養(yǎng)生知識,雖然我外公之前沒有接觸過這些,但是在我的耐心講解下,而且移動應(yīng)用的操作也比較好上手,我外公還是輕松地學(xué)會了。大家對移動應(yīng)用充滿了好奇心以及求知欲,并且隨著移動手機(jī)越來越成為人們生活中不可缺失的一部分,移動應(yīng)用便隨著這個(gè)趨勢大大發(fā)展了起

19、來。然后互聯(lián)網(wǎng)+模式順勢而生,它能夠做到讓人們不出門,甚至是躺在床上,光是動動手指就可以獲取各種最新信息或者購買遠(yuǎn)在天邊的商品,給人們的生活帶來了極大的便利。</p><p>  再說到我這個(gè)軟件,花田小憩是一款花藝愛好者的App,它不僅僅是有專業(yè)的花藝教學(xué)內(nèi)容,它還是一個(gè)活躍的百萬花藝愛好者社區(qū)。在這里,你可以看到各式各樣的話題討論,不僅限于花藝,還延伸至家居、植物、雜物等生活美學(xué)領(lǐng)域。</p>

20、<p>  「花田小憩」還提供了眾多高清花藝壁紙,供你下載換桌面,可以適配各種屏幕尺寸。手機(jī)的美觀再也不愁了。</p><p>  「花田小憩」是一款花藝愛好者不容錯(cuò)過的生活應(yīng)用。在這里,收獲的不僅僅是花藝知識,還有同道中人和美的生活方式。讓你的節(jié)奏,慢下來,美下去。</p><p>  作為一個(gè)植物生活美學(xué)平臺,「花田小憩」還提供跟花藝與生活美學(xué)相關(guān)的物品販賣,如鮮花、器皿、干

21、花、書籍等。你可以在這里尋找生活的美。</p><p>  「花田小憩」創(chuàng)辦初衷是想為所有喜歡植物和美學(xué)的人們,通過花草與時(shí)間的疊加,營造一個(gè)小而美的精致生活。希望能讓用戶在繁瑣的生活之中,享受一種靜雅恬淡的生活之美,制造一份專屬的美學(xué)生活態(tài)度。</p><p>  1.2 主要研究內(nèi)容</p><p>  本文采用面向?qū)ο筌浖_發(fā)方法,遵照軟件工程的概念、原理和

22、方法,利用Android Studio開發(fā)平臺控制系統(tǒng)的分析、設(shè)計(jì)和實(shí)現(xiàn)。所開發(fā)的控制系統(tǒng)主要具備以下功能:</p><p> ?。?)瀏覽帖子:可以通過App來查看其他用戶發(fā)布的與花卉有關(guān)的帖子。</p><p>  (2)購買花卉:可以通過App來進(jìn)行在線的花卉購買。</p><p>  (3)發(fā)布帖子:可以發(fā)布帖子,并且上傳圖片以及選擇分類等。</p&g

23、t;<p>  1.3 論文組織結(jié)構(gòu)</p><p>  本文共分七章,各章的主要內(nèi)容如下:</p><p>  第一章“緒論”部分主要綜述了系統(tǒng)的開發(fā)背景、論文研究的主要內(nèi)容以及組織結(jié)構(gòu)。</p><p>  第二章“課題研究相關(guān)技術(shù)綜述”部分對論文研究中所用到的開發(fā)工具、平臺及技術(shù)、設(shè)備環(huán)境做了簡單的介紹。</p><p>

24、;  第三章“系統(tǒng)需求分析”部分主要描述了系統(tǒng)的需求分析過程,包括系統(tǒng)的需求調(diào)查、功能分析環(huán)境和質(zhì)量要求。</p><p>  第四章“系統(tǒng)總體設(shè)計(jì)”部分對系統(tǒng)的總體設(shè)計(jì)過程做了闡述,主要包括系統(tǒng)的設(shè)計(jì)環(huán)境,系統(tǒng)體系結(jié)構(gòu)和數(shù)據(jù)庫的邏輯設(shè)計(jì)。</p><p>  第五章“系統(tǒng)詳細(xì)設(shè)計(jì)”部分?jǐn)⑹隽讼到y(tǒng)的詳細(xì)設(shè)計(jì)過程,包括項(xiàng)目設(shè)計(jì)、系統(tǒng)的功能模塊設(shè)計(jì)和數(shù)據(jù)接口的設(shè)計(jì)。</p>&l

25、t;p>  第六章“系統(tǒng)實(shí)現(xiàn)”部分對系統(tǒng)實(shí)現(xiàn)和測試做了概述,主要包括系統(tǒng)各功能模塊的實(shí)現(xiàn)、核心技術(shù)編碼、系統(tǒng)的測試過程等。</p><p>  第七章“總結(jié)與展望”部分講述了對系統(tǒng)開發(fā)的總結(jié)和對下一步工作的預(yù)測。</p><p>  2 課題研究相關(guān)技術(shù)綜述</p><p>  2.1 Android 系統(tǒng)</p><p>  An

26、droid是一種以l i n u x為基礎(chǔ)的開放源代碼操作系統(tǒng),主要使用于便攜設(shè)備。目前尚未有統(tǒng)一中文名稱,中國大陸地區(qū)較多人使用“安卓”或“安致”。Android操作系統(tǒng)最初由Andy Rubin開發(fā),最初主要支持手機(jī)。2005年由谷歌收購注資,并組建開放手機(jī)聯(lián)盟開發(fā)改良,逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上。Android的主要競爭對手是蘋果公司的i o s以及RIM的Blackberry OS。2011年第一季度,Android在全球的

27、市場份額首次超過塞班系統(tǒng),躍居全球第一。 2012年2月數(shù)據(jù),Android占據(jù)全球智能手機(jī)操作系統(tǒng)市場52.5%的份額,中國市場占有率為68.4%。 </p><p>  Android的系統(tǒng)架構(gòu)和其它操作系統(tǒng)一樣,采用了分層的架構(gòu)。android分為四個(gè)層,從高層到低層分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運(yùn)行庫層和l i n u x核心層。 </p><p>  Android是以

28、Linux為核心的手機(jī)操作平臺,作為一款開放式的操作系統(tǒng),隨著Android的快速發(fā)展,如今已允許開發(fā)者使用多種編程語言來開發(fā)Android應(yīng)用程序,而不再是以前只能使用Java開發(fā)Android應(yīng)用程序的單一局面,因而受到眾多開發(fā)者的歡迎,成為真正意義上的開放式操作系統(tǒng)。 </p><p>  在Android中,開發(fā)者可以使用Java作為編程語言來開發(fā)應(yīng)用程序,也可以通過NDK使用C/C++作為編程語言來開

29、發(fā)應(yīng)用程序,也可使用SL4A來使用其他各種腳本語言進(jìn)行編程(如:python、l u a、t cl、p h p等等),還有其他諸如:QT(qt for android)、Mono(mono for android)等一些著名編程框架也開始支持Android編程,甚至通過Mon o Droid,開發(fā)者還可以使用C#作為編程語言來開發(fā)應(yīng)用程序。另外,谷歌還在2009年特別發(fā)布了針對初學(xué)者的Android Simple語言,該語言類似Basi

30、c語言。而在網(wǎng)頁編程語言方面,JavaScript , HTML5等等都已經(jīng)支持Android開發(fā)。</p><p>  2.1.1 Android 基本架構(gòu)</p><p>  Android系統(tǒng)架構(gòu)自上而下可分為應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運(yùn)行庫層、系統(tǒng)內(nèi)核層四個(gè)層次,如圖 2.1 所示。</p><p>  圖 2.1 Android 系統(tǒng)架構(gòu)圖<

31、/p><p> ?。?)應(yīng)用程序(Applications)</p><p>  該層提供一些核心應(yīng)用程序包,例如電子郵件、短信、日歷、地圖、瀏覽器和聯(lián)系人管理等。同時(shí),開發(fā)者可以利用Java語言設(shè)計(jì)和編寫屬于自己的應(yīng)用程序,而這些程序與那些核心應(yīng)用程序彼此平等、友好共處。</p><p> ?。?)應(yīng)用程序框架(Application Framework)</p

32、><p>  該層是Android應(yīng)用開發(fā)的基礎(chǔ),開發(fā)人員大部分情況是在和她打交道。應(yīng)用程序框架層包括活動管理器、窗口管理器、內(nèi)容提供者、視圖系統(tǒng)、包管理器、電話管理器、資源管理器、位置管理器、通知管理器和XMPP服務(wù)十個(gè)部分。在Android平臺上,開發(fā)人員可以完全訪問核心應(yīng)用程序所使用的API框架。并且,任何一個(gè)應(yīng)用程序都可以發(fā)布自身的功能模塊,而其他應(yīng)用程序則可以使用這些已發(fā)布的功能模塊?;谶@樣的重用機(jī)制,用

33、戶就可以方便地替換平臺本身的各種應(yīng)用程序組件。</p><p> ?。?)系統(tǒng)運(yùn)行庫(Libraries)</p><p>  系統(tǒng)庫包括九個(gè)子系統(tǒng),分別是圖層管理、媒體庫、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。Android運(yùn)行時(shí)包括核心庫和Dalvik虛擬機(jī),前者既兼容了大多數(shù)Java語言所需要調(diào)用的功能函數(shù),又包括了Andr

34、oid的核心庫,比如android.os、android.NET、android.media等等。后者是一種基于寄存器的java虛擬機(jī),Dalvik虛擬機(jī)主要是完成對生命周期的管理、堆棧的管理、線程的管理、安全和異常的管理以及垃圾回收等重要功能。</p><p> ?。?)系統(tǒng)內(nèi)核(Linux Kernel)</p><p>  Android核心系統(tǒng)服務(wù)依賴于Linux2.6內(nèi)核,如安全

35、性、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議棧和驅(qū)動模型。Linux內(nèi)核也是作為硬件與軟件棧的抽象層。驅(qū)動:顯示驅(qū)動、攝像頭驅(qū)動、鍵盤驅(qū)動、WiFi驅(qū)動、Audio驅(qū)動、flash內(nèi)存驅(qū)動、Binder(IPC)驅(qū)動、電源管理等。</p><p>  2.1.2 Android 開發(fā)環(huán)境搭建</p><p>  Android 平臺為開發(fā)者提供了免費(fèi)并且開放的開發(fā)環(huán)境,而且使用其提供的幫助文檔和工具

36、,開發(fā)者能夠快速地編寫出需要的APP。學(xué)習(xí)Android開發(fā)的第一步就是搭建Android的開發(fā)環(huán)境,開發(fā)環(huán)境的搭建步驟如下:</p><p> ?。?)第一步:安裝JDK</p><p>  下載Oracle公司的JDK可以百度“JDK”進(jìn)入Oracle公司的JDK下載頁面,選擇自己電腦系統(tǒng)的對應(yīng)版本即可。</p><p>  JDK的全稱是Java SE Dev

37、elopment Kit,也就是Java 開發(fā)工具箱。SE表示標(biāo)準(zhǔn)版。JDK是Java的核心,包含了Java的運(yùn)行環(huán)境(Java Runtime Environment),一堆Java工具和給開發(fā)者開發(fā)應(yīng)用程序時(shí)調(diào)用的Java類庫。</p><p>  JDK包含的基本工具主要有:</p><p>  javac:Java編譯器,將源代碼轉(zhuǎn)成字節(jié)碼。</p><p>

38、;  jar:打包工具,將相關(guān)的類文件打包成一個(gè)文件。</p><p>  javadoc:文檔生成器,從源碼注釋中提取文檔。</p><p>  jdb:debugger,調(diào)試查錯(cuò)工具。</p><p>  java:運(yùn)行編譯后的java程序。</p><p> ?。?)配置JDK的變量環(huán)境</p><p>  為了

39、配置JDK的系統(tǒng)變量環(huán)境,我們需要設(shè)置三個(gè)系統(tǒng)變量,分別是JAVA_HOME,Path和CLASSPATH。下面是這三個(gè)變量的設(shè)置防范。</p><p><b>  JAVA_HOME</b></p><p>  先設(shè)置這個(gè)系統(tǒng)變量名稱,變量值為JDK在你電腦上的安裝路徑:C:\Program Files\Java\jdk1.8.0_20。創(chuàng)建好后則可以利用%JAVA

40、_HOME%作為JDK安裝目錄的統(tǒng)一引用路徑。</p><p><b>  PATH</b></p><p>  PATH屬性已存在,可直接編輯,在原來變量后追加:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 。</p><p>  CLASSPATH </p><p>  設(shè)置系統(tǒng)變量名為:

41、CLASSPATH 變量值為:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 。</p><p>  注意變量值字符串前面有一個(gè)"."表示當(dāng)前目錄,設(shè)置CLASSPATH 的目的,在于告訴Java執(zhí)行環(huán)境,在哪些目錄下可以找到您所要執(zhí)行的Java程序所需要的類或者包。</p><p>  (3)下載 Android

42、 Studio</p><p>  Android Studio 是一個(gè)Android集成開發(fā)工具,基于IntelliJ IDEA. 類似 Eclipse ADT,Android Studio 提供了集成的 Android 開發(fā)工具用于開發(fā)和調(diào)試。</p><p>  2013年5月16日,在I/O大會上,谷歌推出新的Android開發(fā)環(huán)境——Android Studio,并對開發(fā)者控制臺

43、進(jìn)行了改進(jìn),增加了五個(gè)新的功能。</p><p>  Android Studio是谷歌推出了新的Android開發(fā)環(huán)境,開發(fā)者可以在編寫程序的同時(shí)看到自己的應(yīng)用在不同尺寸屏幕中的樣子。</p><p>  2015年5月29日,在谷歌I/O開發(fā)者大會上,谷歌發(fā)布Android Studio 1.3版,支持C++編輯和查錯(cuò)功能。Android Studio 1.3版開發(fā)碼代碼變得更加容易,

44、速度提升,而且支持C++編輯和查錯(cuò)功能。</p><p> ?。?)下載Android SDK</p><p>  配置了JDK變量環(huán)境,安裝好了Eclipse,這個(gè)時(shí)候如果只是開發(fā)普通的JAVA應(yīng)用程序,那么Java的開發(fā)環(huán)境已經(jīng)準(zhǔn)備好了。我們要通過Eclipse來開發(fā)Android應(yīng)用程序,那么我們需要下載Android SDK(Software Development Kit)和在E

45、clipse安裝ADT插件,這個(gè)插件能讓Eclipse和Android SDK關(guān)聯(lián)起來。</p><p>  Android SDK提供了開發(fā)Android應(yīng)用程序所需的API庫和構(gòu)建、測試和調(diào)試Android應(yīng)用程序所需的開發(fā)工具。</p><p>  下載后雙擊安裝,指定Android SDK的安裝目錄,為了方便使用Android SDK包含的開發(fā)工具,我們在系統(tǒng)環(huán)境變量中的Path設(shè)

46、置Android SDK的安裝目錄下的tools目錄。</p><p>  在Android SDK的安裝目錄下,雙擊“SDK Manager.exe”,打開Android SDK Manager,Android SDK Manage負(fù)責(zé)下載或更新不同版本的SDK包,我們看到默認(rèn)安裝的Android SDK Manager只安裝了一個(gè)版本的sdk tools。</p><p>  2.2

47、 Sqlite數(shù)據(jù)庫</p><p>  SQLite是D.Richard Hipp用C語言編寫的開源嵌入式數(shù)據(jù)庫引擎。它支持大多數(shù)的SQL92標(biāo)準(zhǔn),并且可以在所有主要的操作系統(tǒng)上運(yùn)行。</p><p>  SQLite由以下幾個(gè)部分組成:SQL編譯器、內(nèi)核、后端以及附件。SQLite通過利用虛擬機(jī)和虛擬數(shù)據(jù)庫引擎( VDBE ),是調(diào)試、修改和擴(kuò)展SQLite的內(nèi)核變得更加方便。所有SQ

48、L語句都被編譯成易讀的、可以在SQLite虛擬機(jī)中執(zhí)行的程序集。SQLite的整體結(jié)構(gòu)圖如下:</p><p>  值得一提的是,袖珍型的SQLite竟然可以支持高達(dá)2TB大小的數(shù)據(jù)庫,每個(gè)數(shù)據(jù)庫都是以單個(gè)文件的形式存在,這些數(shù)據(jù)都是以B-Tree的數(shù)據(jù)結(jié)構(gòu)形式存儲在磁盤上。</p><p>  在事務(wù)處理方面,SQLite通過數(shù)據(jù)庫級上的獨(dú)占性和共享鎖來實(shí)現(xiàn)獨(dú)立事務(wù)處理。這意味著多個(gè)進(jìn)程

49、可以在同一時(shí)間從同一數(shù)據(jù)庫讀取數(shù)據(jù),但只有一個(gè)可以寫入數(shù)據(jù)。在某個(gè)進(jìn)程或線程想數(shù)據(jù)庫執(zhí)行寫操作之前,必須獲得獨(dú)占鎖。在獲得獨(dú)占鎖之后,其他的讀或?qū)懖僮鲗⒉粫侔l(fā)生。</p><p>  SQLite采用動態(tài)數(shù)據(jù)類型,當(dāng)某個(gè)值插入到數(shù)據(jù)庫時(shí),SQLite將會檢查它的類型,如果該類型與關(guān)聯(lián)的列不匹配,SQLite則會嘗試將該值轉(zhuǎn)換成該列的類型,如果不能轉(zhuǎn)換,則該值將作為本身的類型存儲,SQLite稱這為“弱類型”。但

50、有一個(gè)特例,如果是INTEGER PRIMARY KEY,則其他類型不會被轉(zhuǎn)換,會報(bào)一個(gè)“datatype missmatch”的錯(cuò)誤。</p><p>  概括來講,SQLite支持NULL、INTEGER、REAL、TEXT和BLOB數(shù)據(jù)類型,分別代表空值、整型值、浮點(diǎn)值、字符串文本、二進(jìn)制對象。</p><p>  SQLite的特點(diǎn)大致總結(jié)如下:</p><p&

51、gt;<b>  1.輕量級</b></p><p>  使用 SQLite 只需要帶一個(gè)動態(tài)庫,就可以享受它的全部功能,而且那個(gè)動態(tài)庫的尺寸想當(dāng)小。</p><p><b>  2.獨(dú)立性</b></p><p>  SQLite 數(shù)據(jù)庫的核心引擎不需要依賴第三方軟件,也不需要所謂的“安裝”。</p>&l

52、t;p><b>  3.隔離性</b></p><p>  SQLite 數(shù)據(jù)庫中所有的信息(比如表、視圖、觸發(fā)器等)都包含在一個(gè)文件夾內(nèi),方便管理和維護(hù)。</p><p><b>  4.跨平臺</b></p><p>  SQLite 目前支持大部分操作系統(tǒng),不至電腦操作系統(tǒng)更在眾多的手機(jī)系統(tǒng)也是能夠運(yùn)行,比如:

53、Android和IOS。</p><p><b>  5.多語言接口</b></p><p>  SQLite 數(shù)據(jù)庫支持多語言編程接口。</p><p><b>  6.安全性</b></p><p>  2.3 JSON數(shù)據(jù)</p><p>  JSON( JavaSc

54、ript Object Notation , JS 對象標(biāo)記 ) 是一種輕量級的數(shù)據(jù)交換格式。它基于 ECMAScript ( w3c制定的js規(guī)范 )的一個(gè)子集,采用完全獨(dú)立于編程語言的文本格式來存儲和表示數(shù)據(jù)。簡潔和清晰的層次結(jié)構(gòu)使得 JSON 成為理想的數(shù)據(jù)交換語言。 易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成,并有效地提升網(wǎng)絡(luò)傳輸效率。</p><p>  在 JS 語言中,一切都是對象。因此,任何支持

55、的類型都可以通過 JSON 來表示,例如字符串、數(shù)字、對象、數(shù)組等。但是對象和數(shù)組是比較特殊且常用的兩種類型:對象表示為鍵值對、數(shù)據(jù)由逗號分隔、花括號保存對象、方括號保存數(shù)組。</p><p>  在 JS 語言中,一切都是對象。因此,任何支持的類型都可以通過 JSON 來表示,例如字符串、數(shù)字、對象、數(shù)組等。但是對象和數(shù)組是比較特殊且常用的兩種類型。</p><p>  對象:對象在 J

56、S 中是使用花括號包裹 {} 起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 {key1:value1 , key2:value2 , ...} 的鍵值對結(jié)構(gòu)。在面向?qū)ο蟮恼Z言中,key 為對象的屬性,value 為對應(yīng)的值。鍵名可以使用整數(shù)和字符串來表示。值的類型可以是任意類型。</p><p>  數(shù)組:數(shù)組在 JS 中是方括號 [] 包裹起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 ["java" , "javasc

57、ript" , "vb" , ...] 的索引結(jié)構(gòu)。在 JS 中,數(shù)組是一種比較特殊的數(shù)據(jù)類型,它也可以像對象那樣使用鍵值對,但還是索引使用得多。同樣,值的類型可以是任意類型。</p><p>  2.4 Java環(huán)境</p><p>  2.4.1 Java簡介</p><p>  Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C

58、++語言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強(qiáng)大和簡單易用兩個(gè)特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。</p><p>  Java具有簡單性、面向?qū)ο?、分布式、健壯性、安全性、平臺獨(dú)立與可移植性、多線程、動態(tài)性等特點(diǎn)。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用

59、程序等。</p><p>  2.4.2 Java特性</p><p><b> ?。?)簡單性</b></p><p>  Java看起來設(shè)計(jì)得很像C++,但是為了使語言小和容易熟悉,設(shè)計(jì)者們把C++語言中許多可用的特征去掉了,這些特征是一般程序員很少使用的。例如,Java不支持go to語句,代之以提供break和continue語句以及

60、異常處理。Java還剔除了C++的操作符過載(overload)和多繼承特征,并且不使用主文件,免去了預(yù)處理程序。因?yàn)镴ava沒有結(jié)構(gòu),數(shù)組和串都是對象,所以不需要指針。Java能夠自動處理對象的引用和間接引用,實(shí)現(xiàn)自動的無用單元收集,使用戶不必為存儲管理問題煩惱,能更多的時(shí)間和精力花在研發(fā)上。</p><p><b>  (2)面向?qū)ο?lt;/b></p><p>  

61、Java是一個(gè)面向?qū)ο蟮恼Z言。對程序員來說,這意味著要注意應(yīng)中的數(shù)據(jù)和操縱數(shù)據(jù)的方法(method),而不是嚴(yán)格地用過程來思考。在一個(gè)面向?qū)ο蟮南到y(tǒng)中,類(class)是數(shù)據(jù)和操作數(shù)據(jù)的方法的集合。數(shù)據(jù)和方法一起描述對象(object)的狀態(tài)和行為。每一對象是其狀態(tài)和行為的封裝。類是按一定體系和層次安排的,使得子類可以從超類繼承行為。在這個(gè)類層次體系中有一個(gè)根類,它是具有一般行為的類。Java程序是用類來組織的。</p>

62、<p>  Java還包括一個(gè)類的擴(kuò)展集合,分別組成各種程序包(Package),用戶可以在自己的程序中使用。例如,Java提供產(chǎn)生圖形用戶接口部件的類(java.awt包),這里awt是抽象窗口工具集(abstract windowing toolkit)的縮寫,處理輸入輸出的類(java.io包)和支持網(wǎng)絡(luò)功能的類(java.net包)。</p><p><b> ?。?)分布性</

63、b></p><p>  Java設(shè)計(jì)成支持在網(wǎng)絡(luò)上應(yīng)用,它是分布式語言。Java既支持各種層次的網(wǎng)絡(luò)連接,又以Socket類支持可靠的流(stream)網(wǎng)絡(luò)連接,所以用戶可以產(chǎn)生分布式的客戶機(jī)和服務(wù)器。</p><p>  網(wǎng)絡(luò)變成軟件應(yīng)用的分布運(yùn)載工具。Java程序只要編寫一次,就可到處運(yùn)行。</p><p><b> ?。?)編譯和解釋性<

64、;/b></p><p>  Java編譯程序生成字節(jié)碼(byte-code),而不是通常的機(jī)器碼。Java字節(jié)碼提供對體系結(jié)構(gòu)中性的目標(biāo)文件格式,代碼設(shè)計(jì)成可有效地傳送程序到多個(gè)平臺。Java程序可以在任何實(shí)現(xiàn)了Java解釋程序和運(yùn)行系統(tǒng)(run-time system)的系統(tǒng)上運(yùn)行。</p><p>  在一個(gè)解釋性的環(huán)境中,程序開發(fā)的標(biāo)準(zhǔn)“鏈接”階段大大消失了。如果說Java還

65、有一個(gè)鏈接階段,它只是把新類裝進(jìn)環(huán)境的過程,它是增量式的、輕量級的過程。因此,Java支持快速原型和容易試驗(yàn),它將導(dǎo)致快速程序開發(fā)。這是一個(gè)與傳統(tǒng)的、耗時(shí)的“編譯、鏈接和測試”形成鮮明對比的精巧的開發(fā)過程。</p><p><b> ?。?)穩(wěn)健性</b></p><p>  Java原來是用作編寫消費(fèi)類家用電子產(chǎn)品軟件的語言,所以它是被設(shè)計(jì)成寫高可靠和穩(wěn)健軟件的。J

66、ava消除了某些編程錯(cuò)誤,使得用它寫可靠軟件相當(dāng)容易。</p><p>  Java是一個(gè)強(qiáng)類型語言,它允許擴(kuò)展編譯時(shí)檢查潛在類型不匹配問題的功能。Java要求顯式的方法聲明,它不支持C風(fēng)格的隱式聲明。這些嚴(yán)格的要求保證編譯程序能捕捉調(diào)用錯(cuò)誤,這就導(dǎo)致更可靠的程序。</p><p>  可靠性方面最重要的增強(qiáng)之一是Java的存儲模型。Java不支持指針,它消除重寫存儲和訛誤數(shù)據(jù)的可能性。類

67、似地,Java自動的“無用單元收集”預(yù)防存儲漏泄和其它有關(guān)動態(tài)存儲分配和解除分配的有害錯(cuò)誤。Java解釋程序也執(zhí)行許多運(yùn)行時(shí)的檢查,諸如驗(yàn)證所有數(shù)組和串訪問是否在界限之內(nèi)。</p><p>  異常處理是Java中使得程序更穩(wěn)健的另一個(gè)特征。異常是某種類似于錯(cuò)誤的異常條件出現(xiàn)的信號。使用try/catch/finally語句,程序員可以找到出錯(cuò)的處理代碼,這就簡化了出錯(cuò)處理和恢復(fù)的任務(wù)</p>&l

68、t;p><b>  (6)安全性</b></p><p>  Java的存儲分配模型是它防御惡意代碼的主要方法之一。Java沒有指針,所以程序員不能得到隱蔽起來的內(nèi)幕和偽造指針去指向存儲器。更重要的是,Java編譯程序不處理存儲安排決策,所以程序員不能通過查看聲明去猜測類的實(shí)際存儲安排。編譯的Java代碼中的存儲引用在運(yùn)行時(shí)由Java解釋程序決定實(shí)際存儲地址。</p>&

69、lt;p>  Java運(yùn)行系統(tǒng)使用字節(jié)碼驗(yàn)證過程來保證裝載到網(wǎng)絡(luò)上的代碼不違背任何Java語言限制。這個(gè)安全機(jī)制部分包括類如何從網(wǎng)上裝載。例如,裝載的類是放在分開的名字空間而不是局部類,預(yù)防惡意的小應(yīng)用程序用它自己的版本來代替標(biāo)準(zhǔn)Java類。</p><p><b> ?。?)可移植性</b></p><p>  Java使得語言聲明不依賴于實(shí)現(xiàn)的方面。例如,J

70、ava顯式說明每個(gè)基本數(shù)據(jù)類型的大小和它的運(yùn)算行為(這些數(shù)據(jù)類型由Java語法描述)。</p><p>  Java環(huán)境本身對新的硬件平臺和操作系統(tǒng)是可移植的。Java編譯程序也用Java編寫,而Java運(yùn)行系統(tǒng)用ANSIC語言編寫。</p><p><b>  (8)高性能</b></p><p>  Java是一種先編譯后解釋的語言,所以它

71、不如全編譯性語言快。但是有些情況下性能是很要緊的,為了支持這些情況,Java設(shè)計(jì)者制作了“及時(shí)”編譯程序,它能在運(yùn)行時(shí)把Java字節(jié)碼翻譯成特定CPU(中央處理器)的機(jī)器代碼,也就是實(shí)現(xiàn)全編譯了。</p><p>  Java字節(jié)碼格式設(shè)計(jì)時(shí)考慮到這些“及時(shí)”編譯程序的需要,所以生成機(jī)器代碼的過程相當(dāng)簡單,它能產(chǎn)生相當(dāng)好的代碼。</p><p><b>  (9)多線索性<

72、/b></p><p>  Java是多線索語言,它提供支持多線索的執(zhí)行(也稱為輕便過程),能處理不同任務(wù),使具有線索的程序設(shè)計(jì)很容易。Java的lang包提供一個(gè)Thread類,它支持開始線索、運(yùn)行線索、停止線索和檢查線索狀態(tài)的方法。</p><p>  Java的線索支持也包括一組同步原語。這些原語是基于監(jiān)督程序和條件變量風(fēng)范,由C.A.R.Haore開發(fā)的廣泛使用的同步化方案。

73、用關(guān)鍵詞synchronized,程序員可以說明某些方法在一個(gè)類中不能并發(fā)地運(yùn)行。這些方法在監(jiān)督程序控制之下,確保變量維持在一個(gè)一致的狀態(tài)。</p><p><b>  (10)動態(tài)性</b></p><p>  Java語言設(shè)計(jì)成適應(yīng)于變化的環(huán)境,它是一個(gè)動態(tài)的語言。例如,Java中的類是根據(jù)需要載入的,甚至有些是通過網(wǎng)絡(luò)獲取的。</p><p&

74、gt;<b>  2.5 設(shè)備環(huán)境</b></p><p>  設(shè)備名稱:LG Nexus 5(16GB)</p><p>  主屏尺寸:4.95英寸</p><p>  主屏分辨率:1920x1080像素</p><p>  后置攝像頭:800萬像素</p><p>  前置攝像頭:130萬像

75、素</p><p>  電池容量:2300mAh</p><p>  電池類型:不可拆卸式電池</p><p><b>  核心數(shù):四核</b></p><p><b>  內(nèi)存:2GB</b></p><p>  Android版本:Android 6.0.1</p&

76、gt;<p><b>  3 系統(tǒng)需求分析</b></p><p><b>  3.1 需求調(diào)查</b></p><p>  通過網(wǎng)絡(luò)搜索、查閱相關(guān)資料以及與用戶進(jìn)行訪談等方式,對用戶的需求進(jìn)行了詳細(xì)的調(diào)研,并對用戶在環(huán)境監(jiān)測、視頻監(jiān)控、家庭管理及開關(guān)控制和場景模式等方面的需求進(jìn)行了詳細(xì)的探討,確定了智能家居控制系統(tǒng)的主要功能需

77、求。功能分解圖如圖3.1所示。</p><p>  圖3.1 花田小憩的功能分解圖</p><p>  分析得主要功能如下:</p><p> ?。?)專題,該頁面分為小編推薦、專題分類、每日壁紙以及每日推薦。</p><p> ?。?)發(fā)現(xiàn):該頁面分為精選、圈子以及訂閱。</p><p> ?。?)發(fā)布帖子:如果未

78、登錄,點(diǎn)擊該按鈕跳轉(zhuǎn)到登陸頁面,如果已登錄,點(diǎn)擊該按鈕跳轉(zhuǎn)到發(fā)布帖子頁面。</p><p> ?。?)商城:可以在該頁面選購喜歡的花卉,并且加入購物車然后付款購買。</p><p> ?。?)我的:可以在該頁面中管理自己的個(gè)人信息以及點(diǎn)贊的帖子以及評論。</p><p><b>  3.2 功能分析</b></p><p&

79、gt;  3.2.1 系統(tǒng)框架圖</p><p>  根據(jù)在需求調(diào)查時(shí)得到的結(jié)果,本文通過對花田小憩系統(tǒng)功能分析,建立了系統(tǒng)的主體框架如圖3.2所示。</p><p>  圖3.2 花田小憩系統(tǒng)整體架構(gòu)圖</p><p>  3.2.2 系統(tǒng)各部分描述</p><p>  由圖3.2可以看出,系統(tǒng)主要包括五個(gè)部分:專題部分、發(fā)現(xiàn)部分、商城

80、部分、發(fā)表帖子部分以及我的部分。其中,每個(gè)部分的交互過程如下:</p><p><b> ?。?)專題部分</b></p><p>  此部分為這個(gè)系統(tǒng)的第一部分,它主要負(fù)責(zé)展示每日精選帖子、精選壁紙以及所有帖子分類。</p><p><b> ?。?)發(fā)現(xiàn)部分</b></p><p>  此部分是

81、用來顯示精選、圈子以及訂閱的內(nèi)容。</p><p><b> ?。?)商城</b></p><p>  此部分用來方便用戶購買各種花卉。</p><p><b>  (4)發(fā)表帖子</b></p><p>  此部分用于用戶發(fā)表自己的帖子。</p><p><b>

82、 ?。?)我的</b></p><p>  此部分用戶用戶查看以及修改自己的個(gè)人信息,查看自己的帖子的點(diǎn)贊情況。</p><p><b>  4 系統(tǒng)需求分析</b></p><p>  4.1 系統(tǒng)設(shè)計(jì)環(huán)境</p><p>  4.1.1 軟件環(huán)境</p><p> ?。?)J

83、ava,版本為1.8.0_112。</p><p> ?。?)Android Studio,版本為2.3.2。</p><p>  4.1.2 硬件環(huán)境</p><p> ?。?)Mac OS X EI Captian 10.11.6。</p><p>  (2)Android平臺:Android版本需要高于4.4。</p>

84、<p>  4.2 系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)</p><p>  4.2.1 C/S體系結(jié)構(gòu)</p><p>  B/S模式,相對于C/S結(jié)構(gòu)而言易于拓展,開發(fā)周期短,而且移植方便,不須安裝客戶端( 客戶端只使用瀏覽器 ),可以跨平臺使用。但其缺點(diǎn)是客戶端的處理能力差,無文件和目錄的操作能力,也不容易完成與其它程序之間的數(shù)據(jù)交互;同時(shí),考慮到要保證便攜性以及安全性,由于B/S模式在數(shù)

85、據(jù)交互時(shí),其數(shù)據(jù)的安全性很難保證;而C/S模式卻恰恰可以封裝Client和Server之間的數(shù)據(jù)交互,也能夠很好實(shí)現(xiàn)對Client的控制和操作,所以它適合于該App系統(tǒng)。</p><p>  可以說,支持采用C/S的理由主要有:應(yīng)用的不確定性,系統(tǒng)的擴(kuò)展性,逐步開發(fā)和增加新應(yīng)用的需要,適應(yīng)將來開放的異種網(wǎng)絡(luò)環(huán)境中應(yīng)用的需要,用戶數(shù)、數(shù)據(jù)量增長的可能性,適應(yīng)電腦開發(fā)、維護(hù)、供應(yīng)商與相關(guān)技術(shù)人員變更的需要,有利于動態(tài)

86、規(guī)劃與動態(tài)開發(fā)過程,對系統(tǒng)可靠性有保證。 </p><p><b>  5 系統(tǒng)詳細(xì)設(shè)計(jì)</b></p><p><b>  5.1 項(xiàng)目設(shè)計(jì)</b></p><p>  5.1.1 項(xiàng)目構(gòu)架 </p><p>  該項(xiàng)目采用MVP架構(gòu),該架構(gòu)是Android平臺MVC框架的升級,MVC全稱是

87、Model - View - Controller,是模型( model )-視圖( view )-控制器( controller )的縮寫。MVC是一種框架模式而非設(shè)計(jì)模式,GOF把MVC看作是3種設(shè)計(jì)模式:觀察者模式、策略模式與組合模式的合體,而核心是觀察者模式。簡而言之,框架是大智慧,用來對軟件設(shè)計(jì)進(jìn)行分工;設(shè)計(jì)模式是小技巧,對具體問題提出解決方案,以提高代碼復(fù)用率,降低耦合度。MVP架構(gòu)是在MVC的基礎(chǔ)上進(jìn)行的升級,MVP模式是

88、MVC模式的一個(gè)演化版本,MVP全稱Model-View-Presenter。目前MVP在Android應(yīng)用開發(fā)中越來越重要了。在Android中,業(yè)務(wù)邏輯和數(shù)據(jù)存取是緊緊耦合的,很多缺乏經(jīng)驗(yàn)的開發(fā)者很可能會將各種各樣的業(yè)務(wù)邏輯塞進(jìn)某個(gè)Activity、Fragment或者自定義View中,這樣會使得這些組件的單個(gè)類型臃腫不堪。如果不將具體的業(yè)務(wù)邏輯抽離出來,當(dāng)UI變化時(shí),你就需要去原來的View中抽離具體業(yè)務(wù)邏輯,這必然會很麻煩并且易

89、出錯(cuò)。MVP模式會解除View與Model</p><p>  MVP模式的三個(gè)角色</p><p> ?。?)Presenter – 交互中間人:Presenter主要作為溝通View與Model的橋梁,它從Model層檢索數(shù)據(jù)后,返回給View層,使得View與Model之間沒有耦合,也將業(yè)務(wù)邏輯從View角色上抽離出來。</p><p>  (2)View –

90、 用戶界面:View通常是指Activity、Fragment或者某個(gè)View控件,它含有一個(gè)Presenter成員變量。通常View需要實(shí)現(xiàn)一個(gè)邏輯接口,將View上的操作轉(zhuǎn)交給Presenter進(jìn)行實(shí)現(xiàn),最后,Presenter 調(diào)用View邏輯接口將結(jié)果返回給View元素。</p><p> ?。?)Model – 數(shù)據(jù)的存取:Model 角色主要是提供數(shù)據(jù)的存取功能。Presenter 需要通過Model

91、層存儲、獲取數(shù)據(jù),Model就像一個(gè)數(shù)據(jù)倉庫。更直白的說,Model是封裝了數(shù)據(jù)庫DAO或者網(wǎng)絡(luò)獲取數(shù)據(jù)的角色,或者兩種數(shù)據(jù)方式獲取的集合。</p><p>  項(xiàng)目中列表視圖采用第三方庫XRecyclerView,該框架繼承自RecyclerView,在RecyclerView的基礎(chǔ)上進(jìn)行了封裝,提供了一系列的下拉刷新以及上拉加載更多的方法,并且在其中提供了默認(rèn)的實(shí)現(xiàn),非常簡單易于使用;網(wǎng)絡(luò)請求采用谷歌官方出品

92、的網(wǎng)絡(luò)請求框架Volley,該框架具有自動調(diào)度網(wǎng)絡(luò)請求、支持多個(gè)并發(fā)的網(wǎng)絡(luò)連接、通過使用標(biāo)準(zhǔn)的HTTP緩存機(jī)制保持磁盤和內(nèi)存響應(yīng)的一致、支持請求優(yōu)先級、支持取消請求的強(qiáng)大API,可以取消單個(gè)請求或多個(gè)、易于定制、便于正確的更新UI和獲取數(shù)據(jù)、包含調(diào)試和追蹤工具的特點(diǎn);數(shù)據(jù)解析采用的是谷歌官方出品的數(shù)據(jù)解析框架Gson,該框架可以直接把請求回來的JSON數(shù)據(jù)解析成實(shí)體類,配合Android Studio中的Gson Format插件可以達(dá)

93、到快速開發(fā)的效果;</p><p>  5.1.2 項(xiàng)目目錄結(jié)構(gòu)</p><p>  項(xiàng)目采用的是MVP構(gòu)架,其中activity文件夾用來存儲登錄頁面的activity、注冊頁面的activity、驗(yàn)證頁面的activity以及主頁面的activity,adapter文件夾用來存儲ViewPager和XRecyclerView的適配器,application文件夾用來存儲自定義的app

94、lication,bean文件夾用來存儲數(shù)據(jù)的實(shí)體類,callback文件夾用來存儲定義的回調(diào)接口,config文件夾用來存儲整個(gè)App所用到的Api接口,contract文件夾是用來存儲MVP構(gòu)架中的協(xié)議類,fragment文件夾則是存儲每個(gè)具體頁面的fragment,同時(shí),model文件夾用來存儲MVP架構(gòu)中的Model層,presenter文件夾則用來存儲MVP架構(gòu)中的Presenter層,utils文件夾存儲的是各種工具類,如自

95、定義的用來管理所有Activity的AppManager類,以及Const常量類等,widget里面存儲的則是自定義的一系列控件和工具,如Glide加載圓角圖片的GlideRoundTransform類,自定義的攔截WebView中跳轉(zhuǎn)地址的MyWebVi</p><p>  5.2 數(shù)據(jù)接口設(shè)計(jì)</p><p>  5.2.1 數(shù)據(jù)解析格式</p><p> 

96、 系統(tǒng)的數(shù)據(jù)交互主要采用一種輕量級的數(shù)據(jù)交換格式JSON,JSON數(shù)據(jù)有以下優(yōu)點(diǎn):</p><p>  (1)方便于傳輸,較少冗余的字符。</p><p> ?。?)方便轉(zhuǎn)換。JSON接口提供了JSON字符串轉(zhuǎn)成對象、對象轉(zhuǎn)換成JSON串的方法。</p><p> ?。?)易于閱讀。JSON代碼結(jié)構(gòu)良好,可以直觀了解信息具體內(nèi)容。</p><p&

97、gt;  5.2.2 數(shù)據(jù)交互方式</p><p>  本系統(tǒng)的交互主要采用POST方式,部分接口采用GET方式。</p><p> ?。?)GET方法(從指定的服務(wù)器中獲取數(shù)據(jù)),使用GET方法時(shí),查詢字符串被附加在請求地址后面一起發(fā)送到服務(wù)器:</p><p>  /api/demo_form.php?name1 = value1&name2 =

98、value2</p><p><b>  特點(diǎn):</b></p><p> ?、貵ET請求能夠被緩存</p><p>  ②GET請求會保存在瀏覽器的瀏覽記錄中</p><p> ?、垡訥ET請求的URL能夠保存為瀏覽器書簽</p><p> ?、蹽ET請求有長度限制</p><

99、;p> ?、軬ET請求主要用以獲取數(shù)據(jù)</p><p>  (2)POST方法(提交數(shù)據(jù)給指定的服務(wù)器處理),使用POST方法時(shí),查詢字符串在請求信息中單獨(dú)存在,并發(fā)送到服務(wù)器:</p><p>  POST /api/demo_form.php HTTP/1.1</p><p>  Host: w3schools.com</p><p&g

100、t;  name1 = value1&name2 = value2</p><p><b>  特點(diǎn):</b></p><p> ?、貾OST請求不能被緩存下來</p><p>  ②POST請求不會保存在瀏覽器瀏覽記錄中</p><p> ?、垡訮OST請求的URL無法保存為瀏覽器書簽</p>

101、<p> ?、躊OST請求沒有長度限制</p><p>  5.2.3 數(shù)據(jù)接口定義</p><p><b>  1. 專題頁面:</b></p><p>  一級頁面: http://api.htxq.net/cactus/communityHomePage/getHomePage?city = %E5%85%A8%E5%9B

102、%BD</p><p>  專題: http://api.htxq.net/cactus/sysArticle/getRecommandArticleList?pageIndex = 0</p><p>  文章詳情:http://api.htxq.net/cactus/sysArticle/getArticleInfo?uId = &aId = 文章ID</p>

103、<p>  本周精選:http://app.htxq.net/servlet/SysArticleServlet</p><p><b>  專題分類:</b></p><p>  最新:http://api.htxq.net/cactus/sysArticle/getCartArticleList?id = 分類ID&pageIndex =

104、 0&type = new</p><p>  其他:http://api.htxq.net/cactus/sysArticle/getArticleCartList?id = 分類ID</p><p><b>  2. 發(fā)現(xiàn)頁面:</b></p><p><b>  輪播圖:</b></p>&

105、lt;p><b>  POST請求</b></p><p><b>  參數(shù):</b></p><p>  http://app.htxq.net/servlet/SysAdvertisingServlet</p><p>  輪播圖詳情頁Html:</p><p><b>  PO

106、ST請求</b></p><p><b>  參數(shù):</b></p><p>  http://app.htxq.net/servlet/SysActivityServlet</p><p><b>  輪播圖詳情頁評論:</b></p><p><b>  POST請求<

107、;/b></p><p><b>  參數(shù):</b></p><p>  http://app.htxq.net/servlet/SysActivityServlet</p><p><b>  每日精選:</b></p><p><b>  POST請求</b><

108、/p><p><b>  參數(shù):</b></p><p>  http://app.htxq.net/servlet/UserBbsServlet</p><p><b>  帖子詳情:</b></p><p><b>  POST請求</b></p><p&g

109、t;<b>  參數(shù):</b></p><p>  http://app.htxq.net/servlet/UserBbsServlet</p><p><b>  評論詳情:</b></p><p><b>  POST請求</b></p><p><b>  參數(shù)

110、:</b></p><p>  http://app.htxq.net/servlet/UserCommentServlet</p><p><b>  3. 發(fā)布帖子:</b></p><p><b>  獲取帖子分類:</b></p><p><b>  POST請求<

111、;/b></p><p><b>  參數(shù):</b></p><p>  http://app.htxq.net/servlet/UserBbsServlet</p><p><b>  發(fā)布帖子:</b></p><p><b>  POST請求</b><

112、/p><p><b>  參數(shù):</b></p><p>  http://app.htxq.net/servlet/UserBbsServlet</p><p><b>  4. 賬號信息:</b></p><p><b>  POST請求</b></p><

113、p><b>  參數(shù):</b></p><p>  http://app.htxq.net/servlet/SysIconServlet</p><p><b>  5. 注冊:</b></p><p><b>  POST請求</b></p><p><b>

114、  參數(shù):</b></p><p>  http://api.htxq.net/cactus/verifycode/login</p><p><b>  6. 登錄:</b></p><p><b>  POST請求</b></p><p><b>  參數(shù):</b&g

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論