摘要:
基于官方文檔2013.12.19最后一次改動(dòng)。
翻譯人:Weir Zhang (zh.weir)
旁白:水平有限,很多地方只是意譯。不準(zhǔn)確的地方,大家以原版文檔為準(zhǔn)。
原版地址:http://google-styleguide.googlecode.com/svn/trunk/javaguide.html
一、介紹
本文檔為Google Java編程規(guī)范的完整定義。依照此規(guī)范編寫(xiě)的Java源碼文件可以被稱(chēng)為Google Style。
和其他編程規(guī)范指南一樣,規(guī)范不僅包括了代碼的結(jié)構(gòu)美學(xué),也包括了其他一些業(yè)界約定俗成的公約和普遍采用的標(biāo)準(zhǔn)。本文檔中的規(guī)范基本都是業(yè)界已經(jīng)達(dá)成共識(shí)的標(biāo)準(zhǔn),我們盡量避免去定義那些還存在爭(zhēng)議的地方。
1.1 術(shù)語(yǔ)說(shuō)明
本文檔除非特殊說(shuō)明,否則:
a、class(類(lèi))統(tǒng)指普通的class類(lèi)型、enum枚舉類(lèi)型、interfa 閱讀全文
摘要: 背景
事實(shí)上,在前些年,隨著wifi的興起,特別是wifi direct的推出,藍(lán)牙一度沒(méi)落了。然而近一兩年隨著移動(dòng)智能終端指數(shù)級(jí)增長(zhǎng),穿戴式設(shè)備興起,藍(lán)牙4.0推出,特別是低功耗藍(lán)牙(BLE)的推出,藍(lán)牙又煥發(fā)了新的青春氣息。
此次藍(lán)牙的復(fù)興,可以明顯感覺(jué)出人們對(duì)藍(lán)牙與wifi訴求的差異化。wifi的優(yōu)勢(shì)在于傳輸速度,大文件、塊數(shù)據(jù)的傳輸,正很快地向wifi direct切換。而藍(lán)牙的優(yōu)勢(shì)在于多樣化設(shè)備間的無(wú)線(xiàn)連接和數(shù)據(jù)共享。
藍(lán)牙之所以有這個(gè)優(yōu)勢(shì),我想主要原因是藍(lán)牙歷史悠久,有相當(dāng)多現(xiàn)成的設(shè)備間通信標(biāo)準(zhǔn)和協(xié)議。另外藍(lán)牙模塊成本低、體積小,非常適合應(yīng)用于穿戴式設(shè)備等小型設(shè)備。加之新推出的低功耗藍(lán)牙將耗電量降得非常低,穿戴設(shè)備用一個(gè)紐扣電池就能用好幾個(gè)月甚至幾年。
經(jīng)典藍(lán)牙應(yīng)用場(chǎng)景包括藍(lán)牙耳機(jī)、藍(lán)牙音箱、藍(lán)牙鼠標(biāo)、藍(lán)牙鍵盤(pán)等。而隨著低功耗藍(lán)牙的推出,穿戴式設(shè)備開(kāi)始流行起來(lái),例如手環(huán)、手表、防丟掛件等。
穿戴式設(shè)備對(duì)藍(lán)牙來(lái)說(shuō)預(yù)示著一種趨勢(shì)。那就是在Android與Arduino讓一切物體智能起來(lái)的時(shí)代,藍(lán)牙可以作為一種強(qiáng)大穩(wěn)定的無(wú)線(xiàn)通信技術(shù),讓一切 閱讀全文
事實(shí)上,在前些年,隨著wifi的興起,特別是wifi direct的推出,藍(lán)牙一度沒(méi)落了。然而近一兩年隨著移動(dòng)智能終端指數(shù)級(jí)增長(zhǎng),穿戴式設(shè)備興起,藍(lán)牙4.0推出,特別是低功耗藍(lán)牙(BLE)的推出,藍(lán)牙又煥發(fā)了新的青春氣息。
此次藍(lán)牙的復(fù)興,可以明顯感覺(jué)出人們對(duì)藍(lán)牙與wifi訴求的差異化。wifi的優(yōu)勢(shì)在于傳輸速度,大文件、塊數(shù)據(jù)的傳輸,正很快地向wifi direct切換。而藍(lán)牙的優(yōu)勢(shì)在于多樣化設(shè)備間的無(wú)線(xiàn)連接和數(shù)據(jù)共享。
藍(lán)牙之所以有這個(gè)優(yōu)勢(shì),我想主要原因是藍(lán)牙歷史悠久,有相當(dāng)多現(xiàn)成的設(shè)備間通信標(biāo)準(zhǔn)和協(xié)議。另外藍(lán)牙模塊成本低、體積小,非常適合應(yīng)用于穿戴式設(shè)備等小型設(shè)備。加之新推出的低功耗藍(lán)牙將耗電量降得非常低,穿戴設(shè)備用一個(gè)紐扣電池就能用好幾個(gè)月甚至幾年。
經(jīng)典藍(lán)牙應(yīng)用場(chǎng)景包括藍(lán)牙耳機(jī)、藍(lán)牙音箱、藍(lán)牙鼠標(biāo)、藍(lán)牙鍵盤(pán)等。而隨著低功耗藍(lán)牙的推出,穿戴式設(shè)備開(kāi)始流行起來(lái),例如手環(huán)、手表、防丟掛件等。
穿戴式設(shè)備對(duì)藍(lán)牙來(lái)說(shuō)預(yù)示著一種趨勢(shì)。那就是在Android與Arduino讓一切物體智能起來(lái)的時(shí)代,藍(lán)牙可以作為一種強(qiáng)大穩(wěn)定的無(wú)線(xiàn)通信技術(shù),讓一切 閱讀全文
摘要: 一、關(guān)鍵概念:
Generic Attribute Profile (GATT)
通過(guò)BLE連接,讀寫(xiě)屬性類(lèi)小數(shù)據(jù)的Profile通用規(guī)范?,F(xiàn)在所有的BLE應(yīng)用Profile都是基于GATT的。
Attribute Protocol (ATT)
GATT是基于ATT Protocol的。ATT針對(duì)BLE設(shè)備做了專(zhuān)門(mén)的優(yōu)化,具體就是在傳輸過(guò)程中使用盡量少的數(shù)據(jù)。每個(gè)屬性都有一個(gè)唯一的UUID,屬性將以characteristics and services的形式傳輸。
Characteristic
Characteristic可以理解為一個(gè)數(shù)據(jù)類(lèi)型,它包括一個(gè)value和0至多個(gè)對(duì)次value的描述(Descriptor)。
Descriptor
對(duì)Characteristic的描述,例如范圍、計(jì)量單位等。
Service
Characteristic的集合。例如一個(gè)service叫做“Heart Rate Monitor”,它可能包含多個(gè)Characteris 閱讀全文
Generic Attribute Profile (GATT)
通過(guò)BLE連接,讀寫(xiě)屬性類(lèi)小數(shù)據(jù)的Profile通用規(guī)范?,F(xiàn)在所有的BLE應(yīng)用Profile都是基于GATT的。
Attribute Protocol (ATT)
GATT是基于ATT Protocol的。ATT針對(duì)BLE設(shè)備做了專(zhuān)門(mén)的優(yōu)化,具體就是在傳輸過(guò)程中使用盡量少的數(shù)據(jù)。每個(gè)屬性都有一個(gè)唯一的UUID,屬性將以characteristics and services的形式傳輸。
Characteristic
Characteristic可以理解為一個(gè)數(shù)據(jù)類(lèi)型,它包括一個(gè)value和0至多個(gè)對(duì)次value的描述(Descriptor)。
Descriptor
對(duì)Characteristic的描述,例如范圍、計(jì)量單位等。
Service
Characteristic的集合。例如一個(gè)service叫做“Heart Rate Monitor”,它可能包含多個(gè)Characteris 閱讀全文
摘要: 從最近幾年開(kāi)始,做平臺(tái)的公司都流行起Open API。這是一個(gè)非常好的理念,也受到廣大開(kāi)發(fā)者的歡迎。如今,開(kāi)發(fā)一款軟件,你可以很容易地集成微博、微信、人人網(wǎng)等流行社交媒介的分享功能,做一個(gè)社交應(yīng)用變得越來(lái)越簡(jiǎn)單。
主流社交媒介要集成到第三方應(yīng)用中,最重要的入口就是安全便捷的授權(quán)認(rèn)證系統(tǒng)。讓用戶(hù)在享受一鍵分享和各種社交樂(lè)趣的同時(shí),又不用擔(dān)心帳號(hào)安全和隱私泄露等問(wèn)題。而對(duì)于一些有特殊目的的組織或個(gè)人來(lái)說(shuō),攻占這個(gè)授權(quán)認(rèn)證系統(tǒng)意味著自己獲取了信息傳播的入口和渠道,數(shù)量龐大地社交入口往往能帶來(lái)巨大的社會(huì)效應(yīng)。所以,這個(gè)入口就成了軟件安全攻防雙方的必爭(zhēng)之地。
而本文所要講的就是當(dāng)前最為流行的新浪微博Android客戶(hù)端SSO授權(quán)認(rèn)證入口的一個(gè)安全缺陷。此缺陷使得第三方APK在一定條件下可以不通過(guò)授權(quán),在不需要人為操作的情況下就可以操作Android手機(jī)用戶(hù)的微博。包括關(guān)注、評(píng)論、發(fā)微博等OpenAPI中提供的功能。 閱讀全文
主流社交媒介要集成到第三方應(yīng)用中,最重要的入口就是安全便捷的授權(quán)認(rèn)證系統(tǒng)。讓用戶(hù)在享受一鍵分享和各種社交樂(lè)趣的同時(shí),又不用擔(dān)心帳號(hào)安全和隱私泄露等問(wèn)題。而對(duì)于一些有特殊目的的組織或個(gè)人來(lái)說(shuō),攻占這個(gè)授權(quán)認(rèn)證系統(tǒng)意味著自己獲取了信息傳播的入口和渠道,數(shù)量龐大地社交入口往往能帶來(lái)巨大的社會(huì)效應(yīng)。所以,這個(gè)入口就成了軟件安全攻防雙方的必爭(zhēng)之地。
而本文所要講的就是當(dāng)前最為流行的新浪微博Android客戶(hù)端SSO授權(quán)認(rèn)證入口的一個(gè)安全缺陷。此缺陷使得第三方APK在一定條件下可以不通過(guò)授權(quán),在不需要人為操作的情況下就可以操作Android手機(jī)用戶(hù)的微博。包括關(guān)注、評(píng)論、發(fā)微博等OpenAPI中提供的功能。 閱讀全文