




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、新浪微盤 云存儲(chǔ)實(shí)踐 我要講什么?云存儲(chǔ)上傳下載架構(gòu), 斷點(diǎn)續(xù)傳, 斷點(diǎn)續(xù)下,云端文件存儲(chǔ)方式,秒傳開放平臺(tái)如何利用好開放平臺(tái), 開放平臺(tái)常見概念, OAuth2.0授權(quán)機(jī)制網(wǎng)絡(luò)架構(gòu)異步訪問網(wǎng)絡(luò)的封裝, 網(wǎng)絡(luò)異常的全局處理實(shí)用框架ActionbarSherlock, PullToRefresh下拉刷新, Zxing掃描二維碼,微博SSO單點(diǎn)登錄,友盟統(tǒng)計(jì),Ant批量打包我還要講什么?常用開發(fā)技巧如何讓service常駐? 如何捕獲全局異常? 如何訪問https?圖片加載的緩存機(jī)制,居家旅行必備的加密算法我自己的小項(xiàng)目互聯(lián)網(wǎng)公司的那點(diǎn)事如何寫好簡歷面試注意要點(diǎn)Lets go!什么是云存儲(chǔ)?云存儲(chǔ)
2、是一個(gè)以數(shù)據(jù)存儲(chǔ)和管理為核心的云計(jì)算系統(tǒng)。什么是云存儲(chǔ)?什么是新浪微盤?視頻介紹8新浪微盤開放平臺(tái)新浪微盤, 不僅僅是一個(gè)個(gè)人云存儲(chǔ)工具, 更是一個(gè)開放平臺(tái)!開放平臺(tái)地址: Android SDK Github 地址: 開放平臺(tái), 為開發(fā)者提供一個(gè)免費(fèi)的云存儲(chǔ)平臺(tái), 開發(fā)者可以將自己的應(yīng)用數(shù)據(jù)存儲(chǔ)在微盤.新浪微盤開放平臺(tái)微盤AndroidSDKOAuth2 授權(quán)各種API調(diào)用, 包括文件上傳下載, 云端文件刪除, 移動(dòng), 重命名, 用戶空間信息獲取等什么是OAuth2 授權(quán)OAuth(開放授權(quán))是一個(gè)開放標(biāo)準(zhǔn),允許用戶讓第三方應(yīng)用訪問該用戶在某一網(wǎng)站上存儲(chǔ)的私密的資源(如照片,視頻,聯(lián)系人列表
3、),而無需將用戶名和密碼提供給第三方應(yīng)用。關(guān)鍵詞:AppKeyAppSecrect令牌 : token/accesstoken過期時(shí)間優(yōu)勢1. 第三方開發(fā)者可以方便的訪問主站資源2. 主站用戶的賬號(hào)密碼不易泄露什么是OAuth2 授權(quán)什么是OAuth2 授權(quán)SSO登錄OAuth2 授權(quán)第一步使用WebView加載登陸網(wǎng)頁 通過Get方式傳遞三個(gè)參數(shù): client_id(應(yīng)用的appkey), redirect_uri(回調(diào)地址), display(展示方式, 手機(jī)設(shè)備為mobile)例如: ?client_id=1750636396&redirect_uri=/&display=mobile
4、OAuth2授權(quán)第二步在wap頁點(diǎn)擊登陸按鈕后, 會(huì)有一個(gè)回調(diào)地址, 可以在WebViewClient的shouldOverrideUrlLoading方法中捕獲.Redirect URL: 截取這個(gè)URL中的code=3ea97ac6d5c1016a70d1c16e98b6f9ca16OAuth2 授權(quán)第三步訪問這個(gè)地址, 獲取最終token: 傳入以下參數(shù): 獲取用戶信息 OAuth2 授權(quán)返回?cái)?shù)據(jù):access_token(認(rèn)證令牌), expires_in(令牌有效期) , refresh_token(用來刷新令牌的token), uid(新浪微博uid)如: AccessToken:
5、37bfcb66632HDt54vD8mx3mCuNUcbb37; ExpiresTime:1379572780 (過期時(shí)間點(diǎn)); RefreshToken:3d3d3066632HDt54vD8mx3mCuNU30fc6; Uid:2788350991這些數(shù)據(jù)需要加密后保存在本地(DES)API調(diào)用用戶信息相關(guān)接口初始化VDiskAPIVDiskAPI mApi;mApi = new VDiskAPI(session);Account account = mApi.accountInfo();account.quota; /用戶微盤總空間Account.consumed; /用戶微盤已使用空
6、間API調(diào)用獲取文件夾下的目錄信息Entry metadata = mApi.metadata(path, null, true, false);List contents = metadata.contents;API調(diào)用獲取文件詳細(xì)信息Entry metadata = mApi.metadata(path, null, true, false);metadata.fileName();/ 文件名metadata.size; / 文件大小metadata.modified; / 文件修改時(shí)間metadata.path; /文件微盤路徑API調(diào)用復(fù)制 Entry metadata = mApi
7、.copy(fromPath, toPath);新建文件夾 Entry metaData = mApi.createFolder(path);刪除 Entry metaData = mApi.delete(path);移動(dòng) Entry metadata = mApi.move(fromPath, toPath);API調(diào)用小文件上傳API調(diào)用文件下載斷點(diǎn)續(xù)下本地創(chuàng)建緩存文件: 源文件名.vdisktempreq.setHeader(“Range”, “bytes=” + range + “-”);/ 設(shè)置下載范圍 Range為本地緩存文件長度下載結(jié)束后, 將緩存文件重命名為源文件名稱斷點(diǎn)續(xù)傳第
8、一步-分片初始化 /multipart/init傳遞參數(shù):s3host : 上傳服務(wù)器域名path: 文件目標(biāo)路徑size: 文件總大小sha1: 文件sha1簽名(判斷是否可以秒傳)part_total: 文件分多少段上傳26斷點(diǎn)續(xù)傳初始化返回結(jié)果: upload_id: 0c6d42b51d774ee69e2d9bb30a7db3b0,part_sign: 1: part_number: 1, uri: /upload.vdisk.me/partupload/ea2ecc626b9aa7537ec66409c75d73ed?partNumber=1&uploadId=0c6d42b51d7
9、74ee69e2d9bb30a7db3b0 , 2: part_number: 2, uri: /upload.vdisk.me/partupload/ea2ecc626b9aa7537ec66409c75d73ed?partNumber=2&uploadId=0c6d42b51d774ee69e2d9bb30a7db3b0 將該分段信息以對象的形式保存在數(shù)據(jù)庫, 供上傳每段分片時(shí)讀取斷點(diǎn)續(xù)傳第二步-上傳1. 循環(huán)將每一段文件上傳至服務(wù)器2. 每段文件上傳地址取決于初始化時(shí)返回的uri3. 每一段文件上傳成功之后, 更新本地分段信息, 記錄下已經(jīng)上傳到第幾段.4. 如果上傳某段過程中失敗了,
10、下次會(huì)從這段文件的開始處上傳, 而不會(huì)整個(gè)文件重傳, 從而實(shí)現(xiàn)斷點(diǎn)續(xù)傳.斷點(diǎn)續(xù)傳第三步-文件合并文件合并接口 plete所有分段上傳成功后, 走合并文件接口, 服務(wù)器端進(jìn)行合并傳遞如下參數(shù):upload_id: 初始化分片時(shí)得到的上傳upload_idupload_key:初始化分片時(shí)得到的上傳upload_keymd5_list: 本地計(jì)算的每段文件的md5, 用逗號(hào)隔開, 便于云端對每段分片完整性進(jìn)行校驗(yàn)云存儲(chǔ)實(shí)踐-Sherlock我們的項(xiàng)目, 準(zhǔn)備使用sherlock開源框架進(jìn)行搭建. 使用這種框架的好處就是, Android任何版本都可以統(tǒng)一actionbar的標(biāo)準(zhǔn)樣式, 無需開發(fā)者做
11、過多兼容.Sherlock項(xiàng)目Demo演示云存儲(chǔ)實(shí)踐-下拉刷新我們使用開源開發(fā)包, pulltorefresh-library通過很簡單的使用, 就能達(dá)到下拉刷新的目的, 減少了開發(fā)工作量云存儲(chǔ)實(shí)踐-引入微盤SDK云存儲(chǔ)實(shí)踐-引入微盤SDK云存儲(chǔ)實(shí)踐-登陸/初始化AppKeyPair, 這是SDK封裝的對象, 用來保存當(dāng)前應(yīng)用的appkey和appsecrectAppKeyPair appKeyPair = new AppKeyPair(Constants.CONSUMER_KEY, Constants.CONSUMER_SECRET);/初始化VDiskAuthSession,這是SDK封裝
12、的對象, 用來保存當(dāng)前登陸信息, 并參與登陸相關(guān)的邏輯, 這個(gè)類是個(gè)單例, 只需要初始化一次VDiskAuthSession session = VDiskAuthSession.getInstance(this, appKeyPair, AccessType.APP_FOLDER);/為session設(shè)置應(yīng)用的回調(diào)地址session.setRedirectUrl(Constants.REDIREC T_URL);/執(zhí)行登陸邏輯, 如果本地保存有未失效的登陸信息, 就直接返回, 如果沒有等咯信息或信息過期, 會(huì)彈出登陸彈窗, 需要用戶輸入用戶名密碼.session.authorize(OAut
13、hActivity.this, OAuthActivity.this);云存儲(chǔ)實(shí)踐-應(yīng)用權(quán)限Basic權(quán)限和Sandbox(沙箱)權(quán)限沙箱機(jī)制,應(yīng)用之間數(shù)據(jù)不能互相訪問 ,保證用戶數(shù)據(jù)不被惡意竊取訪問用戶的Basic的數(shù)據(jù)需要較高權(quán)限 , 具有Basic權(quán)限的應(yīng)用可以直接操作微盤官方網(wǎng)盤內(nèi)的文件, 而普通應(yīng)用只能在自己的沙箱中活動(dòng).Basic和sandbox數(shù)據(jù)共用用戶的存儲(chǔ)空間.云存儲(chǔ)實(shí)踐-代碼實(shí)現(xiàn)通過代碼, 演示sherlock框架的使用, 并完成登陸頁面的開發(fā)代碼完成微盤主頁面數(shù)據(jù)獲取和展示的邏輯完成主頁面目錄切換邏輯完成列表item右側(cè)控制按鈕邏輯, popupwindow的展示, 以
14、及popup的方向判斷長按多選邏輯新建文件夾邏輯下載頁面開發(fā)文件下載及批量下載邏輯云存儲(chǔ)實(shí)踐-代碼實(shí)現(xiàn)上傳頁面開發(fā)選擇文件上傳的頁面開發(fā)文件多選上傳邏輯單個(gè)文件刪除文件批量刪除單個(gè)文件移動(dòng)文件批量移動(dòng)EmptyView的設(shè)置用戶注銷云存儲(chǔ)實(shí)踐-Fragment介紹Fragment要點(diǎn)Fragment作為Activity界面的一部分組成出現(xiàn)可以在一個(gè)Activity中同時(shí)出現(xiàn)多個(gè)Fragment,并且,一個(gè)Fragment亦可在多個(gè)Activity中使用。在Activity運(yùn)行過程中,可以添加、移除或者替換Fragment(add()、remove()、replace())Fragment可以響應(yīng)自己的輸入事件,并且有自己的生命周期,當(dāng)然,它們的生命周期直接被其所屬的宿主activity的生命周期影響。云存儲(chǔ)實(shí)踐-Fragment介紹通常, 應(yīng)當(dāng)至少實(shí)現(xiàn)如下的生命周期方法:onCreate()當(dāng)創(chuàng)建fragment時(shí), 系統(tǒng)調(diào)用該方法. 在實(shí)現(xiàn)代碼中,應(yīng)當(dāng)初始化想要在fragment中保持的必要組件, 當(dāng)fragment被暫停或者停止后可以恢復(fù).onCreateView()fragment第一次繪制
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西軟件職業(yè)技術(shù)大學(xué)《工程力學(xué)(下)》2023-2024學(xué)年第二學(xué)期期末試卷
- 南通科技職業(yè)學(xué)院《經(jīng)濟(jì)法學(xué)A》2023-2024學(xué)年第二學(xué)期期末試卷
- 合肥職業(yè)技術(shù)學(xué)院《數(shù)字信號(hào)處理與通信》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024-2025學(xué)年湖北省部分省級(jí)示范高中高二上學(xué)期期中測試歷史試卷
- 江西工程學(xué)院《環(huán)境評(píng)價(jià)》2023-2024學(xué)年第二學(xué)期期末試卷
- 六盤水幼兒師范高等專科學(xué)?!睹褡迮c文化地理》2023-2024學(xué)年第二學(xué)期期末試卷
- 信陽涉外職業(yè)技術(shù)學(xué)院《數(shù)字邏輯電路綜合》2023-2024學(xué)年第二學(xué)期期末試卷
- 昆山登云科技職業(yè)學(xué)院《專業(yè)技能訓(xùn)練化學(xué)教學(xué)技能與訓(xùn)練含》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南勞動(dòng)人事職業(yè)學(xué)院《建筑給排水與消防》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州華商職業(yè)學(xué)院《劇目》2023-2024學(xué)年第二學(xué)期期末試卷
- 部編版三年級(jí)下冊語文第一單元教材解讀PPT課件
- 【2022】154號(hào)文附件一:《江蘇省建設(shè)工程費(fèi)用定額》(2022年)營改增后調(diào)整內(nèi)容[10頁]
- 二年級(jí)剪窗花
- 分子生物學(xué)在醫(yī)藥中的研究進(jìn)展及應(yīng)用
- 《對折剪紙》)ppt
- 03SG520-1實(shí)腹式鋼吊車梁(中輕級(jí)工作制A1~A5_Q235鋼_跨度6.0m、7.5m、9.0m)
- 以虛報(bào)注冊資本、虛假出資、抽逃出資為由對實(shí)行認(rèn)繳資本登記制的公司進(jìn)行處罰無法律依據(jù)
- 風(fēng)電場生產(chǎn)運(yùn)營準(zhǔn)備大綱11.14
- 人教版八年級(jí)語文下冊教材研說
- 《機(jī)械制造裝備設(shè)計(jì)》ppt課件
- 中學(xué)家訪記錄大全100篇 關(guān)于中學(xué)家訪隨筆
評(píng)論
0/150
提交評(píng)論