購買設計請充值后下載,,資源目錄下的文件所見即所得,都可以點開預覽,,資料完整,充值下載可得到資源目錄里的所有文件。。。【注】:dwg后綴為CAD圖紙,doc,docx為WORD文檔,原稿無水印,可編輯。。。具體請見文件預覽,有不明白之處,可咨詢QQ:12401814
四川大學錦江學院畢業(yè)論文(設計)
畢業(yè)論文(設計)
題 目 qDou(豆瓣Symbian客戶端)
院 系 機械工程學院
專 業(yè) 機械設計制造及其自動化 年級 2009級
學生姓名 XXX
學 號 XXXXXXXXX
指導教師 XXX
- IV -
qDou(豆瓣Symbian客戶端)三號,黑體字,居中;
目錄、摘要、關鍵詞等非正文部分要設立頁碼,用羅馬數(shù)字Ⅰ、Ⅱ……編排,居中
XXX專業(yè)楷體小四號字,居中,上下空一行
學生 指導教師楷體小四號字,居中,上下空一行
【摘 要】小四號,黑體加粗
qDou---豆瓣Symbian客戶端,采用的是Qt進行編寫。豆瓣是一家Web2.0網(wǎng)站,豆瓣主要通過用戶點擊及購買電子商務網(wǎng)站的相關產(chǎn)品,來獲得收入。
本次設計的qDou將主要是采用Qt的Graphics View框架編寫,部分框架運用Declarative UI(Qt的下一代控件),在與豆瓣官方數(shù)據(jù)接口的交換上,利用豆瓣提供的Api key,通過OAuth協(xié)議進行對豆瓣數(shù)據(jù)的訪問,修改以及提交。
利用豆瓣網(wǎng)提供的API結合Qt的下一代控件Declarative UI 輕松的實現(xiàn)了具有平滑,收放自如, 動態(tài)變換的一款豆瓣客戶端,這種控件主要針對于移動平臺上,比如手機或者上網(wǎng)本。采用Qml語言使開發(fā)者和設計者在完成他們工作的時候更多的高效。另一方面這種簡單易學的語言,是那些不熟悉C++的開發(fā)人員可以方便的使用Qt。為了保護豆瓣用戶私有數(shù)據(jù)的安全,豆瓣采用OAuth協(xié)議來完成數(shù)據(jù)的寫入,修改和刪除。
S60下豆瓣客戶端新增了如搜索書籍,電影,音樂查詢,收發(fā)豆郵等更強大的功能,同時你可以讀取他們的評論,看看其他豆瓣的用戶對這個條目時什么觀點或者推薦好的條目給你的好友。另一方面,qdou 提供了朋友之間的數(shù)據(jù)可視化,通過豆瓣這個巨大的網(wǎng)絡,你可以發(fā)現(xiàn)你與其他人之間的聯(lián)系,共同的愛好.這些功能滿足了時下網(wǎng)絡社交生活的需要,更增加了無窮樂趣。由于使用Qt進行開發(fā),所以qDou可以輕松的發(fā)布到Symbian Maemo,webOs,甚至Android上。
小四號,楷體
【關鍵詞】小四號,黑體加粗
豆瓣 APIKey Declarative UI OAuth協(xié)議 Qt小四號,楷體,用空格隔開
qDou(Douban Client On Symbian)三號,Times New Roman,加粗,居中
【Abstract】小四號,Times New Roman,加粗
qDou (watercress Symbian client) is developed with Qt.Douban is a Web2.0 website mainly through users to click and buy related e-commerce site products to obtain income.
The?design?of?qDou?will?be?mainly?used?the?framework?of?Graphics?View?of?Qt?to?complie,?and?part?of?the?framework?uses?Declarative?UI?which?is?the?next?generation?control?of?Qt,?in?terms?of?the?interface?data?switching?of???www.douban.com,?it?uses?API?Key?afford?by???www.douban.com,?calling,?modifying?and?submitting?the?data?of???www.douban.com?through?OAuth?protocol.
? With API provided from douban network and combining the next generation widget (Declarative UI) of Qt,qDou has a fabulous fluid user experiences with smooth controls,dynamic user interfaces.The next generation widget is applied to mobile platforms or notebook.It adopts Qml language to make developers and designers more efficient when they work on their projects.On the other hand, this language is easy to learn so that those who are not familiar with C++ developers can easily use the Qt.In order to ensure data security, it uses OAuth protocol for data writing, modification and deletion. It is an open protocol to allow secure API authorization in a simple and standard method from desktop and web applications.
qDou on Symbian added new powerful features such as searching books, movies, music critic, send and receive Douban email.At the same time, you can read these item critic to pay attention the views of other Douban users or recommend a good item to your friends .On the other hand,qdou provided a data visualization about friends through the large network. You may find the relationship or common interests between you and your friends.So it meets the needs of social networks life nowadays. because of adopting Qt for development,It’s easy to realease qDou on multi-platform like Symbian, Maemo ,WebOs, even Android.
小四號,Times New Roman
【Key words】小四號,Times New Roman,加粗
Douban API Key Declarative UI OAuth protocol Qt小四號,Times New Roman,用空格隔開
目 錄三號,黑體,居中
緒 論 1
1. 開發(fā)概述 2
1.1背 景 2
1.2課題來源 4
1.3國內(nèi)外研究現(xiàn)狀 4
1.4論文主要工作 7
1.5論文結構 7
2. 相關技術概念 8
2.1關于Qt 8
2.2 OAuth協(xié)議 9
2.3 豆瓣API 11
2.4 cookies 11
3. qDou的設計 12
3.1概要設計 12
3.1.1程序流程圖 13
3.1.2模塊框架圖 14
3.1.3系統(tǒng)數(shù)據(jù)流程圖 14
3.1.4系統(tǒng)數(shù)據(jù)結構設計 14
3.2系統(tǒng)界面設計 18
3.2.1 MVC模型 18
3.2.2 qDou中的MVC模型 19
3.2.3 C++向qml擴展 20
3.2.4 qml中調用 C++形式函數(shù) 21
3.3 qDou認證 21
3.3.1獲取未授權的Request Token 22
3.3.2請求用戶授權Request Token 22
3.3.3使用授權后的Request Token換取Access Token 22
3.3.4使用 Access Token 訪問或修改受保護資源 23
3.4利用NetworkAccessManager在本地儲存Cookies 23
3.4.1 NetworkCookiejar與NetworkCookie的關系 23
3.4.2將Cookies導入Webkit 24
3.5 PhotoView (豆瓣關系可視化) 24
3.5.1基于GraphicsView 24
3.5.2豆瓣用戶信息的獲取數(shù)據(jù)的獲取 .25
4. 實現(xiàn)運行 25
5. 測試 26
總結以及展望 28
參考文獻 29
附錄 32
致謝. 33
小四號,宋體;
理工科類標題序次結構為四級:1. 1.1 1.1.1 1.1.1.1
緒論小三號,黑體,頂格;
從緒論一直到致謝,這部分要設立頁碼,頁碼用小五號宋體,居中,下同。
現(xiàn)實社會中,人與人的交流是通過人與人之間的介紹、握手來形成一個朋友圈、聯(lián)系圈的,每個人不需要直接認識所有人,只需要通過他的朋友,朋友的朋友,就能促成一次握手。而普通的網(wǎng)絡交際,則大多數(shù)通過某些平臺來實現(xiàn),比如將自己放到一個平臺中去,讓很多人看到,并且聯(lián)系你認識你。兩者的優(yōu)缺點明顯,社會性交際優(yōu)點是可靠,彼此關系建立在可靠的人際網(wǎng)絡上,缺點是產(chǎn)生握手的時間長、代價較高;平臺式的網(wǎng)絡交際優(yōu)點是成本低,但不可靠。凡屬于正文內(nèi)容:宋體,小四,下同。
那么在網(wǎng)絡中將這套機制拷貝,即在理論上,獲得可靠與低成本的雙重優(yōu)點。還有一些優(yōu)點就是,SNS中,在朋友圈內(nèi)關系往往真實度很高,非常可靠,互相之間不存在所謂網(wǎng)絡的“假面具”,因此,比較容易實現(xiàn)實名制;sns基于人傳人聯(lián)系網(wǎng)絡,一傳多,多傳多,利用網(wǎng)絡這一低廉而快速的平臺,網(wǎng)絡建立的速度會非??欤@又使得建立人脈網(wǎng)絡的成本進一步降低。
先說個題外話,其實有關Web 2.0,除開技術細節(jié),完全由網(wǎng)民去發(fā)表內(nèi)容、形成輿論,在我看來,并非完全行得通。如果是服務信息性的還好,但敏感信息呢?把輿論不加控制地放任自流,在一個完全理想化的民主社會是可能的,但目前還不行,這里面有多種原因。并且,網(wǎng)民實名制目前未能推行,每個人在網(wǎng)上說話不需要負責這種想法到處都是,如何控制不負責任的言論?所以Web 2.0在現(xiàn)實環(huán)境中,不可能放得很開。
說了這么多題外話,其實只是說,如果真要做不需網(wǎng)站管理員控制的言論網(wǎng)站,SNS算是一個較為理想的Web 2.0手段。理由很簡單,SNS較為貼近實名制,線上線下的身份比較一致。由此可看出來,SNS是未來一個有前景的東西,至少在國內(nèi)是如此。這方面的市場缺口很大,既然傳統(tǒng)媒體都轉向網(wǎng)絡了,社會交際,又如何只能光靠見面吃飯打電話呢?
到2000年,搜索引擎的發(fā)展影響了人們的生活方式,谷歌已經(jīng)成為人們?nèi)粘I畈豢扇鄙俚囊徊糠帧kS后,互聯(lián)網(wǎng)的發(fā)展進一步擴展到Y一代人群(1978年及其后出生的一代),社交網(wǎng)站也隨之興起,并迅速吸引了一大批25歲至34歲、甚至年齡更大的用戶群。
社交網(wǎng)站正在改變我們使用互聯(lián)網(wǎng)的方式,而搜索引擎不再是美國流量最大的網(wǎng)站也就不讓人意外了。數(shù)據(jù)顯示,社交網(wǎng)站在2006年6月超越搜索引擎,成為流量最大的網(wǎng)站類別,而Facebook的熱門程度甚至超過某些色情網(wǎng)站。
社交網(wǎng)站將取代搜索引擎嗎?我不想深究。也許危機本來就存在于搜索引擎的自身特性中。比如,過去,我們一邊在谷歌中輸入問題,一邊撥打遠在印度的呼叫中心尋求支持。但現(xiàn)在,我們不再需要谷歌,我們?nèi)acebook。在Facebook上,用戶不需要找信息,相反,信息自動找上門。
搜索引擎在互聯(lián)網(wǎng)發(fā)展初期,為廣大對網(wǎng)絡一竅不通的用戶指明了方向,通過最簡單的信息索引推薦服務為大眾提供了便利!但是隨著網(wǎng)絡的發(fā)展,用戶的自主性和能動性也逐漸提升,網(wǎng)絡習慣也在發(fā)生著潛移默化的微妙變化。雖然我并不認同互聯(lián)網(wǎng)使用模式將在近期有大的變遷,但是隨著社交網(wǎng)絡的發(fā)展和網(wǎng)民網(wǎng)絡熟練性的提升,這種趨勢非常明顯!也就是說,要尋求長遠的發(fā)展規(guī)劃,就必須考慮如何創(chuàng)建這種社交并應用到不同行業(yè)的網(wǎng)絡運營規(guī)劃中去。
1 開發(fā)概述所有一級標題:小三號,黑體,頂格,上下各空一行,下同。
隨著互聯(lián)網(wǎng)高速的發(fā)展,社交網(wǎng)站也日益壯大,有人甚至預測社交網(wǎng)站引爆互聯(lián)網(wǎng)的第三次革命,Google也在此時宣傳下一代的搜索應該是社交化搜索,那么社交網(wǎng)絡是如何吸引年輕人的呢,它是怎樣改變?nèi)藗儌鹘y(tǒng)的生活和工作方式,社交網(wǎng)絡在傳統(tǒng)的媒體的影響下是如何快速成才并不斷壯大的呢?它與傳統(tǒng)媒體有何區(qū)別呢?
1.1 背景所有的二級標題:四號,黑體,頂格,上空一行,下同
讓我們先來看一組數(shù)據(jù),看看全球各大社交網(wǎng)站也在創(chuàng)造著自己的奇跡:
1. 2010年2月2日, 據(jù)國外媒體報道,F(xiàn)acebook正趕超雅虎將成為全球第 三大網(wǎng)站,與微軟谷歌領銜前三。
2. 2009年12月,F(xiàn)acebook的獨立人次達到了4.69億。
3.美國互聯(lián)網(wǎng)流量監(jiān)測機構Experian?Hitwise日前公布報告稱,在截至3月15日的一周里,社交網(wǎng)站Facebook超過Google成為美國 訪問量最大的網(wǎng)站。
4.Twitter作為移動社交網(wǎng)站,其研究小組發(fā)現(xiàn)平均每天的 Tweets 數(shù)量從 2009 年的 250 萬一直上漲到了 2010 年 1 月的 500 萬。
5. 2009年移動Twitter用戶的增長速度達到驚人的2800%。
6. Twitter宣布收購第三方iPhone客戶端Tweetie。
7. Facebook是全球第一大社交網(wǎng)站,用戶數(shù)量近5億。
3 qDou的設計
本章將詳細敘述qDou設計過程,包含具體的程序流程,數(shù)據(jù)流程,數(shù)據(jù)結構,OAuth在qDou中一步一步完成認證的過程。Qml中mvc架構,photoview中的GraphicsView框架,在qDou中儲存本地cookies。
3.1 概要設計
UI方面:關于Declarative UI,是基于Graphics View框架打造的下一代控件。主要針對于移動平臺上,比如手機或者上網(wǎng)本,并且具有獨特的Flick特性,使其本身通過很簡單的接口調用便可具有平滑,動態(tài)變換的UI,同時加上Declarative本身所采用的Qml語言是基于ECMAScript。這種比較松散的聲明性編程語言使得懂得JavaScript或者ActionScript的編程人員,也可寫出漂亮的應用程序。由于Declarative UI的屬性綁定(Property Binding),對網(wǎng)絡訪問的透明(Network Transparency: 內(nèi)部自動加載請求資源)以及良好的C++擴展(Extending QML),使得其不僅可適用手機上的開發(fā),同時利用良好的C++擴展特性也可打造豐富的pc平臺上的應用。對于簡單的手機應用來說,在不使用C++擴展的情況下,已經(jīng)能滿足開發(fā)者的需求,但是對于qDou來說,由于豆瓣API支持OAuth協(xié)議,為了更好的使用遵循協(xié)議要求和第三方開發(fā)的規(guī)范,使qDou在支持QML的同時能夠支持C++,也是必要的,同時這種語言采用的是MVC結構。
數(shù)據(jù)方面: 豆瓣提供了第三方API,通過xml文件來進行交互,而對數(shù)據(jù)進行修改,提交的,需要適用OAuth協(xié)議進行授權,關于OAUTH協(xié)議,它為用戶資源的授權提供了一個安全的、開放而又簡易的標準。與以往的授權方式不同之處是OAUTH的授權不會使第三方觸及到用戶的帳號信息(如用戶名與密碼),即第三方無需使用用戶的用戶名與密碼就可以申請獲得該用戶資源的授權。
3.1.1 程序流程圖所有三級標題,小四號,黑體,頂格,下同
圖 3-1程序流程圖每一圖片應以章分組編號,該編號應在正文中相應處標明
表3.1用戶信息表表格名稱用五號黑體,表格用五號宋體,每一表格應以章分組編號,該編號應在正文中相應處標明
名稱
字段名稱
類型
主鍵
非空
用戶編號
UserID
數(shù)字
Yes
Yes
用戶名稱
db:uid
文本
No
Yes
簽名
Isadmin
文本
No
No
城市
db:location
文本
No
No
用戶頭像圖片地址
link rel="icon"
文本
No
No
表3.4音樂表
名稱
字段名稱
類型
主鍵
非空
音樂編號
ItemID
數(shù)字
Yes
Yes
音樂名稱
Itemname
文本
No
Yes
表演者
Author
文本
No
Yes
唱片數(shù)
Number
數(shù)字
No
Yes
ISRC
Ean
文本
No
No
發(fā)行時間
Pubdate
日期
No
No
版本特性
Language
數(shù)字
No
No
表3.4音樂表(續(xù)表)續(xù)表(即一頁未排完,下一頁接著排的表)應在接排面的表上方加“續(xù)表”
出版商
Publisher
文本
No
No
介質
Type
數(shù)字
No
No
評級
Date
數(shù)字
No
No
參考文獻四號,楷體,加粗,居中;參考文獻另起一頁;
[1] Qt參考手冊
http://doc.trolltech.com/4.6/assistant-manual.html
http://doc.qt.nokia.com/4.7-snapshot/qt4-7-intro.html#declarative-ui-development-with-qt-quick 2009-012-09
五號,宋體,凡參考文獻著錄文字轉行時,應與上行作者名首字對齊;
[2] OAuth無痛入門指南
http://atomti.javaeye.com/blog/510070 2009-12-09
附錄:四號黑體,頂格,另起一頁
qDou就在家里的兩臺機子上測試了一下,可能有很多不足的地方,最終是要部署到移動設備上Maemo(輕松些),S60上恐怕到時候要裁剪很多(原因有三:1硬件條件 2oAuth協(xié)議 3photoView),便先寫了一個PC版本,現(xiàn)在正忙著發(fā)布KDE下的版本和源代碼,因為涉及到openssl,qca,qca-ssl,qoauth,還有qtdeclarative現(xiàn)在還處于技術預覽版的階段,3月份 qtdeclarative應該正式被納入qt標準庫里面.所以,我這段時間還沒有開發(fā)源碼,大家也多提意見和報bug上來,把畢業(yè)設計報告提交了,開放源碼。五號宋體
qDou圖片:http://www.douban.com/photos/album/23769514/
qDou視頻:http://v.youku.com/v_show/id_XMTU0NTkzMjI0.html
qDou下載地址:http://qdou.googlecode.com/files/qDou%200.2.5-setup.exe (這是0.2.5最新的)
qDou小組:http://www.douban.com/group/223244/
更多qDou的詳細信息見此:http://code.google.com/p/qdou/
致 謝四號黑體居中
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………小四號,宋體
頁面設置:頁邊距為上2.5cm, 下2.5cm, 左2.5cm, 右2 cm,裝訂線0;
頁眉邊距為1.5cm,頁腳邊距為1.5cm;
行間距:最小值20磅
- 7 -