999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android平臺的豆瓣網(wǎng)客戶端的設(shè)計與實現(xiàn)

2015-01-13 03:13:08宜昌市第七中學(xué)陳羽修
電子世界 2015年21期
關(guān)鍵詞:界面用戶功能

宜昌市第七中學(xué) 陳羽修

基于Android平臺的豆瓣網(wǎng)客戶端的設(shè)計與實現(xiàn)

宜昌市第七中學(xué) 陳羽修

豆瓣網(wǎng)是一個以生活文化為內(nèi)容的社區(qū)網(wǎng)站,提供圖書與影音作品信息及其他多種功能的服務(wù)。隨著Android智能手機的普及,加上Android操作系統(tǒng)強大的功能和開放性的特點,本文基于Android平臺及豆瓣網(wǎng),使用java語言設(shè)計并實現(xiàn)了豆瓣網(wǎng)手機客戶端,經(jīng)測試,該客戶端在Android手機上能正確有效的運行,具有一定的實用性。

Android;豆瓣網(wǎng);Java;智能手機

1  引言

Android是一種專為智能手機設(shè)計的操作系統(tǒng)平臺,除了操作系統(tǒng)以外,還包括中間件、手機應(yīng)用軟件、及Android SDK應(yīng)用開發(fā)組件,供開發(fā)人員開發(fā)Android平臺的應(yīng)用程序。目前Android限定所有的應(yīng)用程序用java語言來編寫。本文利用JDK、 Android SDK和eclipse相結(jié)合的開發(fā)環(huán)境實現(xiàn)了豆瓣網(wǎng)的手機客戶端,功能包括:首次登陸界面、豆瓣網(wǎng)客戶端授權(quán)、我說功能和友鄰廣播功能。

2  應(yīng)用開發(fā)環(huán)境介紹

Android開發(fā)環(huán)境搭建包括JDK、Eclipse、Android SDK、ADT的安裝以及AVD的創(chuàng)建,具體安裝內(nèi)容如下:

Java應(yīng)用程序開發(fā)環(huán)境JDK(Java Development Kit)安裝,安裝完成之后,檢查JDK是否安裝成功;

集成開發(fā)環(huán)境Eclipse安裝;

軟件開發(fā)工具包Android SDK(Software Development Kit)安裝,檢查SDK是否安裝成功;

集成開發(fā)環(huán)境插件ADT(Android Development Tools Plugin for the Eclipse IDE)安裝;

虛擬設(shè)備AVD(Android Virtual Devices),為使Android應(yīng)用程序可以在模擬器上運行,必須創(chuàng)建AVD,創(chuàng)建AVD完畢后,檢查測試環(huán)境是否搭建成功。

3  豆瓣網(wǎng)客戶端的設(shè)計思路與步驟

設(shè)計主要完成用戶第一次登錄界面,授權(quán)界面(用戶未登錄),用戶登錄界面,顯示“我說”界面,編輯框中輸入“我說”內(nèi)容,發(fā)送“我說”內(nèi)容。

3.1 認證及訪問資源的流程

豆瓣網(wǎng)API通過以下四個步驟完成認證授權(quán),并訪問或修改受限資源的流程。

步驟一:通過申請的apikey和他的私鑰來獲取未授權(quán)的請求令牌。

通過http://www.douban.com/service/auth/ request-token,獲取未授權(quán)的令牌。

步驟二:獲取請求令牌后請求用戶授權(quán)這個請求令牌。獲取請求令牌之后,需要請求用戶授權(quán)該請求令牌request token需要將瀏覽器跳轉(zhuǎn)到如下網(wǎng)站:http:// www.douban.com/service/oauth/authorize跳轉(zhuǎn)后,用戶會看到請求授權(quán)的頁面用戶可以選擇同意或拒絕授權(quán)。

步驟三:如果用戶授權(quán)了這個請求令牌,那么就用授權(quán)后的請求令牌換取訪問令牌用戶完成授權(quán)后第三方應(yīng)用可以通過訪問如下網(wǎng)址,將已授權(quán)的request token換取access token access token將被用于修改和訪問第三方應(yīng)用已完成授權(quán)http://www.douban.com/service/ auth/access-token。

步驟四:使用訪問令牌訪問或修改受保護的資源。獲得accesstoken后,用戶的應(yīng)用就可以使用accesstoken訪問或修改資源。

3.2 客戶端功能規(guī)劃設(shè)計

步驟一:用戶第一次登錄時程序會彈出一個對話框提示用戶。

步驟二:進入認證授權(quán)界面。

步驟三:顯示用戶登錄界面,提示輸入用戶名和密碼,用戶登錄后顯示API授權(quán)界面,單機確定完成授權(quán),完成授權(quán)后進入顯示所有廣播界面,在編輯框里輸入“我說”的內(nèi)容,手機發(fā)送“我說”的內(nèi)容發(fā)送到服務(wù)器,并在手機屏幕上顯示出來。

3.3 數(shù)據(jù)存儲設(shè)計

需要存儲的主要有以下幾個數(shù)據(jù):請求令牌值、請求令牌對應(yīng)的密鑰、授權(quán)令牌值、授權(quán)令牌對應(yīng)的密鑰、用戶的id,這些數(shù)據(jù)直接存儲在Android提供的類SharePreference中。

4  豆瓣網(wǎng)客戶端的實現(xiàn)

4.1 首次登陸界面設(shè)計

類Activitymain的實現(xiàn),Activitymain繼承了Activity類,在Activitymain中實現(xiàn)用戶首次登陸界面,如果用戶登陸的話,會直接跳轉(zhuǎn)到顯示說說,部分實現(xiàn)代碼如下:

private void showAlertDialog() {

final AlertDialog alert = new AlertDialog.Builder(this).

create();

alert.setMessage(“這是您是第一次登陸,只需要進行簡單的配置,您就可以正常使用啦:)”);

alert.setButton(“登陸”, new DialogInterface.

OnClickListener();

}

Acesstokenisvalid()函數(shù)判斷Acesstoken是否合法,如果用戶第一次登錄那么返回的false,表示acesstoken不合法。Showalertdialog()顯示用戶第一次登錄的提示框,程序跳轉(zhuǎn)到activityauth中。首次登陸如圖1所示:

圖1  首次登陸圖

4.2 獲取未授權(quán)的請求令牌并請求用戶授權(quán)的實現(xiàn)

主要實現(xiàn)了豆瓣網(wǎng)客戶端的授權(quán)過程的兩個步驟:

步驟一:獲取未授權(quán)的請求令牌;

步驟二:請求用戶授權(quán)。

在getrequest()函數(shù)里主要得到未授權(quán)的請求令牌和對應(yīng)的請求令牌密鑰并存儲到類SharePreference里。

4.3 授權(quán)令牌換取訪問令牌的實現(xiàn)

Activityauthsuccess的實現(xiàn),當(dāng)用戶在豆瓣網(wǎng)的授權(quán)界面單擊同意按鈕后Activiy跳轉(zhuǎn)到Activitysuccess,在這個Activity里主要完成豆瓣網(wǎng)授權(quán)的第三個步驟:使用授權(quán)后的令牌換取訪問令牌并保存用戶ID,部分實現(xiàn)代碼如下:

//保存token

private String saveAccessToken() {

myService = new DoubanService("subApplication",

DoubanUtil.apiKey, DoubanUtil.secret, true);

String url = myService.getAuthorizationUrl(DoubanUtil. callback);

settings = getSharedPreferences(PreferencesUtil. preferencesDouban, 0);

String requestToken = settings.getString(PreferencesUtil .oauthToken,"false");

String requestTokenSecret = settings.getString(Preferen cesUtil.oauthTokenSecret,

"false");

Log.i("jinyan", "requestToken=" + requestToken);

myService.setRequestToken(requestToken);

myService.setRequestTokenSecret(requestTokenSecret);

ArrayList<String> list = myService.getAccessToken();

String acessToken = list.get(0);

String acessTokenSecret = list.get(1);

Log.i("jinyan", "acessToken=" + acessToken);

Log.i("jinyan", "acessTokenSecret=" + acessTokenSecret);

settings.edit().putString(PreferencesUtil.acessToken, acessToken).putString(PreferencesUtil.acessTokenSecret, acessTokenSecret).commit();

return url;

}

在saveaccesstoken()里我們得到了訪問令牌和與之對應(yīng)的密鑰,并將其保存在SharePreference里,登陸界面如圖2所示。

圖2  登陸界面

4.4 “我說”功能和友鄰廣播功能實現(xiàn)

Activityshowsaying的實現(xiàn),為應(yīng)用中最核心的功能,實現(xiàn)豆瓣網(wǎng)中的“我說”功能和友鄰廣播功能,實現(xiàn)部分代碼如下:

public View getView(int position, View convertView, ViewGroup parent) {

SayingView sayingView;

Saying saying = sayingList.get(position);

if (convertView == null) {

sayingView = new SayingView(mContext, saying);

} else {

sayingView = (SayingView) convertView;

sayingView.setNickname(saying.nickname);

sayingView.setContent(saying.content);

}

return sayingView;

}

圖3  顯示“說說”

4.5 豆瓣網(wǎng)開放API的調(diào)用

主要完成Abstractactivity的實現(xiàn),Abstractactivity是一個抽象的Activity,其中Activityauthsuccess和Activityshowsaying繼承了這個Abstractactivity。在Abstractactivity實現(xiàn)后,通過獲得一個授權(quán)后的豆瓣網(wǎng)服務(wù),可以直接使用java豆瓣網(wǎng)庫的API來調(diào)用豆瓣網(wǎng)開放出來的API。

5  結(jié)論

本文基于Android開發(fā)環(huán)境,結(jié)合豆瓣網(wǎng)的API,采用Java語言編程,設(shè)計并實現(xiàn)了一個Android手機的應(yīng)用軟件豆瓣網(wǎng)客戶端。經(jīng)在手機上運行測試,該客戶端操作方便,運行結(jié)果正確,軟件性能好,連接速度快,具有一定的實用價值。

[1]Retour Meier.Android高級編程[M].北京:清華大學(xué)出版社,2010.

[2]郭宏志.Android應(yīng)用開發(fā)詳解[M].電子工業(yè)出版社,2010.

[3]楊豐盛.Android應(yīng)用開發(fā)揭秘[M].機械工業(yè)出版社,2010.

[4]韓超.Android系統(tǒng)移植開發(fā)概述[M].電子工業(yè)出版社,2011.

[5]張利國,代聞,龔海平.Android移動開發(fā)案例詳解[M].人民郵電出版社,2010.

[6]楊文志.google android程序設(shè)計指南[M].電子工業(yè)出版社,2009.

[7]楊豐盛.a(chǎn)ndroid應(yīng)用開發(fā)揭秘[M].機械工業(yè)出版社,2010.

[8]郭本俊.移動軟件開發(fā)技術(shù)[M].中國水利水電出版社,2010.

[9]李鐘尉,周小彤,陳丹丹.Java從入門到精通[M].清華大學(xué)出版社,2010.

[10]閆迎利.Java編程[M].清華大學(xué)出版社,2010.

[11]劉培文.Java程序設(shè)計教程[M].中國人民大學(xué)出版社,2009.

[12]Y.Daniel Liang.Introduction to Java Programming[M].機械工業(yè)出版社,2008.

陳羽修(1998-),湖北宜昌人,現(xiàn)就讀于宜昌市第七中學(xué)。

猜你喜歡
界面用戶功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
國企黨委前置研究的“四個界面”
基于FANUC PICTURE的虛擬軸坐標顯示界面開發(fā)方法研究
關(guān)于非首都功能疏解的幾點思考
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
人機交互界面發(fā)展趨勢研究
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
手機界面中圖形符號的發(fā)展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
如何獲取一億海外用戶
主站蜘蛛池模板: 欧美区国产区| 一本一道波多野结衣av黑人在线| 国产精品自在线天天看片| 国产浮力第一页永久地址 | 欧美亚洲欧美| 国产日本视频91| 久久狠狠色噜噜狠狠狠狠97视色| 91九色国产porny| 精品第一国产综合精品Aⅴ| 久久窝窝国产精品午夜看片| 日本人又色又爽的视频| 亚洲狠狠婷婷综合久久久久| 日韩国产黄色网站| 天堂av综合网| 国国产a国产片免费麻豆| 国产成人1024精品| 国产亚洲精品97AA片在线播放| 高清不卡一区二区三区香蕉| 女人18毛片一级毛片在线 | 激情无码字幕综合| 蜜芽国产尤物av尤物在线看| 人妻21p大胆| 亚洲一区二区成人| 波多野结衣视频一区二区| 国产亚洲精| 国产精品毛片一区视频播| 成年午夜精品久久精品| 欧美丝袜高跟鞋一区二区 | 国产综合无码一区二区色蜜蜜| 国产资源站| 福利视频一区| 激情無極限的亚洲一区免费| 在线观看国产精品第一区免费| 久久久久亚洲av成人网人人软件| 人人艹人人爽| 在线观看视频一区二区| 中文字幕 日韩 欧美| 成人亚洲视频| 日本午夜影院| 夜夜操天天摸| 国产无码制服丝袜| 国产精品成人免费视频99| 久久香蕉国产线看观看式| 极品性荡少妇一区二区色欲| 亚洲网综合| 成人免费黄色小视频| 午夜福利无码一区二区| 欧美精品一区二区三区中文字幕| 91精品国产91久无码网站| 亚洲AV一二三区无码AV蜜桃| 国产在线八区| 男女男免费视频网站国产| 在线观看无码av免费不卡网站| 国产在线自乱拍播放| 久久综合丝袜长腿丝袜| 亚洲成人网在线播放| 日韩 欧美 国产 精品 综合| 日本道中文字幕久久一区| 国产精品美女在线| 久久精品无码中文字幕| 国产中文一区二区苍井空| 国产网站免费观看| 在线播放91| 亚洲中文字幕在线观看| 国产成熟女人性满足视频| 亚洲国产精品日韩专区AV| 91成人在线观看| 99精品免费欧美成人小视频| 亚洲三级片在线看| 亚洲最新网址| 最新日韩AV网址在线观看| 国产成人久久综合一区| 性激烈欧美三级在线播放| 亚洲精品无码久久毛片波多野吉| 亚洲侵犯无码网址在线观看| 91精品国产一区| 深爱婷婷激情网| 久久久久亚洲精品成人网 | 四虎精品黑人视频| 最新加勒比隔壁人妻| 国产电话自拍伊人| 午夜老司机永久免费看片|