freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于新浪微博開放平臺(tái)的android應(yīng)用開發(fā)畢業(yè)設(shè)計(jì)-資料下載頁

2025-06-30 13:30本頁面

【導(dǎo)讀】設(shè)計(jì)并實(shí)現(xiàn)基于新浪微博開放平臺(tái)的Android終端微博應(yīng)用軟件,包括登錄模塊,微博,瀏覽用戶信息,軟件介紹等。要求與規(guī)范》編排、打印文稿;上交論文(紙質(zhì))打印文稿和系統(tǒng)源碼(電子版);[主要對(duì)學(xué)生畢業(yè)設(shè)計(jì)(論文)的工作態(tài)度,研究?jī)?nèi)容與方法,工作量,文獻(xiàn)應(yīng)用,創(chuàng)新性,實(shí)用性,主流最受歡迎的微博,微博正式進(jìn)入網(wǎng)民的視野。供開發(fā)者開發(fā)多種平臺(tái)上的第三方微博應(yīng)用。于此同時(shí),Google公司推出的Android. 操作系統(tǒng)在移動(dòng)互聯(lián)網(wǎng)市場(chǎng)上大放光彩,成為主流的移動(dòng)操作系統(tǒng)。本課題的重點(diǎn)是實(shí)現(xiàn)新浪微博的OAuth認(rèn)證,解析數(shù)據(jù),界面設(shè)計(jì)以。及優(yōu)化用戶體驗(yàn)等。闡述了本課題涉及到的相關(guān)技術(shù)和系統(tǒng)理論。最后,總結(jié)本課題研究的成果和收獲。

  

【正文】 l Device(AVD) 依次填好相應(yīng)配置,然后點(diǎn)擊確認(rèn),模擬器創(chuàng)建完畢 [3]。效果圖如圖 所示。 圖 Android 模擬器圖 至此, Android 應(yīng)用開發(fā)環(huán)境搭建基本完畢。 Android 應(yīng)用的 UI 設(shè)計(jì) 在 Android 應(yīng)用程序中,界面的設(shè)計(jì)主要依靠 Activity 來實(shí)現(xiàn), Activity 可以完成很多的功能,比如界面顯示、事件處理等。 Android 應(yīng)用程序界面通常使用 View 和ViewGroup 控件配合 XML 樣式來進(jìn)行設(shè)計(jì);而事件則包括按鈕事件、觸屏事件以及一些高級(jí)組件的事件監(jiān)聽。 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 15 用戶界面設(shè)計(jì)的原理 Android 生成屏幕有三種方式: xml 配置生成;通過用戶界面接口生成;直接用代碼生成。在一個(gè) Android 應(yīng)用中,用戶界面是由 View 和 ViewGroup 對(duì)象構(gòu)建 而成的。View 與 ViewGroup 都有很多種類,而它們都是 View 類的子類,其構(gòu)成 Activity 的結(jié)構(gòu)如圖 所示。 圖 View和 ViewGroup 混合布局的 Activity 界面 [8] 一個(gè) Activity 界面可以包含多個(gè) ViewGroup 和 View,通過這樣的組合可以實(shí)現(xiàn)更復(fù)雜、更完美的界面。 當(dāng) Activity 調(diào)用它的 setContentView()方法并且傳遞一個(gè)參數(shù)給根節(jié)點(diǎn)對(duì)象時(shí),一旦Android 系統(tǒng)獲得了根節(jié)點(diǎn)的參數(shù),它就可以直接通過節(jié)點(diǎn)來測(cè)距和繪制樹。每個(gè)ViewGroup 都有測(cè)量它的有效空間、布局它的子對(duì)象并且調(diào)用每個(gè)子對(duì)象的 Draw()方法去繪制它們自己。子對(duì)象可能會(huì)請(qǐng)求獲得它們?cè)诟笇?duì)象中的大小和位置,但是父對(duì)象對(duì)每個(gè)子對(duì)象的大小和位置都有最終的決定權(quán)。 布局 在 Android 中,布局是完成 UI 設(shè)計(jì)的重要工具,布局通常通過一份 xml 文件進(jìn)行設(shè)計(jì),其設(shè)計(jì)風(fēng)格類似與 HTML 相似,每一個(gè)布局的元素都可以是一個(gè) View 或者ViewGroup[14]。布局之間可以嵌套,通過各種布局的組合,可以完成復(fù)雜多樣的界面設(shè)計(jì),下面是一個(gè)簡(jiǎn)單的垂直線性布局的代碼 [9]: 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 16 ?xml version= encoding=utf8? LinearLayout xmlns:android= android:layout_width=fill_parent android:layout_height=fill_parent android:orientation=vertical TextView android:id=@+id/text android:layout_width=wrap_content android:layout_height=wrap_content android:text=Hello, I am a TextView / /LinearLayout 登錄模塊 登錄模塊 UI 設(shè)計(jì) 登錄模塊界面主要有三個(gè),首先是一個(gè)動(dòng)畫界面,圖 所示,第二個(gè)界面是授權(quán)界面,圖 所示,第三個(gè)是登錄界面,圖 所示。其中圖 是瀏覽器授權(quán)界面,當(dāng)點(diǎn)擊圖 中的授權(quán)時(shí)本應(yīng)用會(huì)引導(dǎo)系統(tǒng)打開瀏覽器并跳轉(zhuǎn)到新浪微博授權(quán)地址引導(dǎo)用戶授權(quán)。 圖 登錄 Logo 界面 圖 授權(quán)界面 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 17 圖 瀏覽器授權(quán)界面 圖 登錄界面 啟動(dòng)應(yīng)用后首先顯示的是登錄 logo 界面,這個(gè)界面設(shè)置顯示 3 秒, logo 圖片從最初模糊到變清晰,動(dòng)畫期間判斷是否是第一次使用該應(yīng)用,如果是第一次使用該應(yīng)用,則動(dòng)畫結(jié)束后會(huì)跳轉(zhuǎn)至用戶授權(quán)界面,否則跳轉(zhuǎn)至加載模塊,加載模塊主要是加載用戶頭像和用戶名。這個(gè)效果運(yùn)用到了 Android API 中的漸變動(dòng)畫類AlphaAnimation。關(guān)鍵代碼如下: //設(shè)置漸變動(dòng)畫 AlphaAnimation alphaAnimation=new AlphaAnimation(,)。 (3000)。 (alphaAnimation)。 (new AnimationListener(){ //動(dòng)畫結(jié)束后執(zhí)行方法 //動(dòng)畫結(jié)束方法。動(dòng)畫結(jié)束后進(jìn)入 skipActivity public void onAnimationEnd(Animation animation) { Intent intent=new Intent()。 (,)。 startActivity(intent)。 finish()。 } 數(shù)據(jù)庫設(shè)計(jì) 本應(yīng)用中用到的數(shù)據(jù)庫的地方不多,只在登錄模塊中涉及到,用于保存登錄用戶的一些信息,方便下次登錄時(shí)查看用是否登錄。本應(yīng)用數(shù)據(jù)庫使用 SQLite 數(shù)據(jù)庫,數(shù)據(jù)庫名為“ ”,表名為“ users”。整個(gè)數(shù)據(jù)庫將以“ .db”格 式文件存放在工程中。 表設(shè)計(jì)如表 所示: 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 18 表 users 表 字段名稱 字段類型 字段說明 是否主鍵 備注 _id INTEGER 表 ID 是 非空 userId VARCHAR 用戶 ID 否 非空 token VARCHAR 授權(quán)訪問碼 否 — tokenSecret userName userIcon VARCHAR VARCHAR BLOB 授權(quán)訪問密碼 用戶名 用頭像 否 否 否 — — — 創(chuàng)建數(shù)據(jù)庫的代碼如下: //創(chuàng)建用戶信息表 public void onCreate(SQLiteDatabase db) { (CREATE TABLE IF NOT EXISTS + TB_NAME+(+ + integer primary key,+ //id + varchar,+ //用戶 id + varchar,+ //Access Token + varchar,+ //Access Secret + varchar,+ //用戶名 + blob+ //用戶頭像 ) )。 } 登陸過程中涉及到數(shù)據(jù)庫是這用工作的:應(yīng)用第一次登陸會(huì)授權(quán)該應(yīng)用,授權(quán)成功之后會(huì)向數(shù)據(jù)庫中存入數(shù)據(jù): userId, token , tokenSecret, userName, usereIcon,以后每次登陸,根據(jù) userId 向數(shù)據(jù)庫查詢,獲得用戶最新的用戶名和頭像更新數(shù)據(jù)庫,并將頭像和用名顯示在登陸界面中。 OAuth 認(rèn)證 新浪微博開放 API 采用 OAuth 認(rèn)證才能被調(diào)用,本應(yīng)用也采用 認(rèn)證方式。 OAUTH 協(xié)議為用戶資源的獲取提供了一個(gè)安全的、開放而又簡(jiǎn)易的標(biāo)準(zhǔn)。本應(yīng)用無需知道用戶的用戶名和密碼即可獲得用戶資源的授權(quán),因此 OAuth 認(rèn)證是比較安全的。 OAuth 認(rèn)證中用到的四組關(guān)鍵字。 第一組: (App Key 和 App Secret) 第二組: (Requset Token 和 Request Secret) 第三組: (oauth_verifier) 第四組: (user_id, Access Token 和 Access Secret) 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 19 新浪微博的 OAuth 認(rèn)證詳細(xì)過程: (1)獲取服務(wù)端信任過程。 當(dāng)用戶第一次使用本客戶端軟件的時(shí)候,客戶端用第一組參數(shù)向新浪微博發(fā)起請(qǐng)求,然后新浪微博經(jīng)過驗(yàn)證后返回第二組參數(shù)給客戶端軟件同時(shí)表示新浪微博信任本客戶端軟件。 (2)獲取用戶授權(quán)過程。 當(dāng)客戶端軟件獲取第二組參數(shù)時(shí)作為參數(shù)引 導(dǎo)用戶瀏覽器跳轉(zhuǎn)至新浪微博的授權(quán)頁面,然后用戶在授權(quán)頁面輸入自己的額微博賬號(hào)和密碼進(jìn)行授權(quán),授權(quán)成功后根據(jù)客戶端指定的回調(diào)地址把第三組參數(shù)返回給客戶端軟件并表示用戶信任本客戶端軟件。 (3)獲取通行證。 客戶端軟件把第二組參數(shù)和第三組參數(shù)作為參數(shù)再次向新浪微博發(fā)起請(qǐng)求,然后新浪微博返回第四組參數(shù)給客戶端軟件,第四組參數(shù)則需要客戶端軟件好好保存,這組參數(shù)是用來代替用戶名和密碼的,在后面調(diào)用新浪微博 API 時(shí)都需要 [11]。 OAuth 認(rèn)證過程如圖 所示。 第 三 方 應(yīng) 用 步 驟 新 浪 微 博 開 放 平 臺(tái)獲 取 r e q u s t t o k e n o a u t h / r e q u e s t _ t o k e n創(chuàng) 建 r e q u s t t o k e n 及 相 應(yīng) 的密 鑰 ( S e c r e t )將 用 戶 重 定 向 到 授 權(quán) 頁面詢 問 用 戶 是 否 對(duì) 應(yīng) 用 授 權(quán) 用 戶 授 權(quán) 或 者 拒 絕 授 權(quán)如 果 用 戶 同 意 授 權(quán) , 重 定向 至 C a l l b a c k _ u r l ( 您 的 應(yīng) 用 )創(chuàng) 建 并 返 回 A c c e s s T o k e n 及 S e c r e tO a u t h / a c c e s s _ t o k e n 用 戶R e q u e s t T o k e n 向 新 浪 微博 換 取 A c c e s s T o k e n返 回 該 T o k e n 的 信 息 及 對(duì) 應(yīng)的 用 戶 信 息A c c o u t / v e r i f y _ c r e d e n t i a l s獲 取 該 A c c e s s T o k e n 的 信息 及 對(duì) 用 戶 的 信 息1234 圖 OAuth 認(rèn)證流程圖 本項(xiàng)目為了方便采用 oauthsignpost 開源項(xiàng)目進(jìn)行 OAuth 認(rèn)證開發(fā)。新建 類文件對(duì) OAuth 類進(jìn)行了簡(jiǎn)單的封裝, OAuth 類主要有RequestAccessToken 、 GetAccessToken 、 SignRequst 三個(gè)方法,第一個(gè)方法RequestAccessToken是上面過程中獲取第三組參數(shù)用的, GetAccessToken方法是用來獲取第四組參數(shù)用的, SignRequst方法是用來調(diào)用 API用的,是獲取數(shù)據(jù)的主要方法 [15]。 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì)(論文) 20 OAuth 類主要成員和方法簡(jiǎn)介如下: public class OAuth { private CommonsHttpOAuthConsumer OauthConsumer。 //提供認(rèn)證 請(qǐng)求 private OAuthProvider Oauthprovider。 //認(rèn)證提供者接口 public String consumerKey。 //App Key 應(yīng)用序列碼 , 從新浪微博開放平臺(tái)申請(qǐng)應(yīng)用所得 public String consumerSecret。 //App Secret 應(yīng)用序列密碼,從新浪微博開放平臺(tái)申請(qǐng)應(yīng)用所得 // 用來獲取 oauth_verifier public Boolean RequestAccessToken(Activity activity,String callBackUrl) //獲取 user_id, Access Token 和 Access Secret public UserInfo GetAccessToken(Intent intent) //發(fā)送認(rèn)證請(qǐng)求 ,采用 post請(qǐng)求方式,得到服務(wù)端響應(yīng),是獲 取數(shù)據(jù)的主要方法 public HttpResponse SignRequest(String token,String tokenSecret,String url,List params) } 加載登錄用戶名和頭像 在登錄界面中有用戶頭像和用戶名,這兩個(gè)數(shù)據(jù)雖然保存在數(shù)據(jù)庫中,但是這兩個(gè)數(shù)據(jù)時(shí)即時(shí)更新的,因此需要根據(jù)數(shù)據(jù)庫中保存的用戶 id 重新向新浪微博發(fā)起訪問獲取最新的用戶名和頭像,這就是一個(gè)數(shù)據(jù)的加載過程。獲取用戶名和頭像就是一次 請(qǐng)求和一次數(shù)據(jù)解析的過程,其關(guān)鍵代碼如下: //獲微博用戶的頭像和用戶名 public void UpdateUserInfo(Context context, ListUserInfo userList) { OAuth auth = new OAuth()。 //初始化 OAuth類 String url = … ListBasicNameValuePair params = ne
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1