<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>


       To build a better world !

    2011年2月23日

         摘要:
    基于官方文檔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ī)范編寫的Java源碼文件可以被稱為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(類)統(tǒng)指普通的class類型、enum枚舉類型、interfa  閱讀全文
    posted @ 2014-02-08 12:58 zh.weir 閱讀(22428) | 評(píng)論 (1)編輯 收藏
         摘要: 背景
    事實(shí)上,在前些年,隨著wifi的興起,特別是wifi direct的推出,藍(lán)牙一度沒落了。然而近一兩年隨著移動(dòng)智能終端指數(shù)級(jí)增長(zhǎng),穿戴式設(shè)備興起,藍(lán)牙4.0推出,特別是低功耗藍(lán)牙(BLE)的推出,藍(lán)牙又煥發(fā)了新的青春氣息。
    此次藍(lán)牙的復(fù)興,可以明顯感覺出人們對(duì)藍(lán)牙與wifi訴求的差異化。wifi的優(yōu)勢(shì)在于傳輸速度,大文件、塊數(shù)據(jù)的傳輸,正很快地向wifi direct切換。而藍(lán)牙的優(yōu)勢(shì)在于多樣化設(shè)備間的無(wú)線連接和數(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)牙鍵盤等。而隨著低功耗藍(lán)牙的推出,穿戴式設(shè)備開始流行起來(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ú)線通信技術(shù),讓一切  閱讀全文
    posted @ 2013-12-17 21:32 zh.weir 閱讀(1176) | 評(píng)論 (0)編輯 收藏
         摘要: 一、關(guān)鍵概念:
    Generic Attribute Profile (GATT)
    通過BLE連接,讀寫屬性類小數(shù)據(jù)的Profile通用規(guī)范。現(xiàn)在所有的BLE應(yīng)用Profile都是基于GATT的。

    Attribute Protocol (ATT)
    GATT是基于ATT Protocol的。ATT針對(duì)BLE設(shè)備做了專門的優(yōu)化,具體就是在傳輸過程中使用盡量少的數(shù)據(jù)。每個(gè)屬性都有一個(gè)唯一的UUID,屬性將以characteristics and services的形式傳輸。

    Characteristic
    Characteristic可以理解為一個(gè)數(shù)據(jù)類型,它包括一個(gè)value和0至多個(gè)對(duì)次value的描述(Descriptor)。

    Descriptor
    對(duì)Characteristic的描述,例如范圍、計(jì)量單位等。

    Service
    Characteristic的集合。例如一個(gè)service叫做“Heart Rate Monitor”,它可能包含多個(gè)Characteris  閱讀全文
    posted @ 2013-12-09 20:27 zh.weir 閱讀(60831) | 評(píng)論 (27)編輯 收藏
         摘要: 從最近幾年開始,做平臺(tái)的公司都流行起Open API。這是一個(gè)非常好的理念,也受到廣大開發(fā)者的歡迎。如今,開發(fā)一款軟件,你可以很容易地集成微博、微信、人人網(wǎng)等流行社交媒介的分享功能,做一個(gè)社交應(yīng)用變得越來(lái)越簡(jiǎn)單。

    主流社交媒介要集成到第三方應(yīng)用中,最重要的入口就是安全便捷的授權(quán)認(rèn)證系統(tǒng)。讓用戶在享受一鍵分享和各種社交樂趣的同時(shí),又不用擔(dān)心帳號(hào)安全和隱私泄露等問題。而對(duì)于一些有特殊目的的組織或個(gè)人來(lái)說(shuō),攻占這個(gè)授權(quán)認(rèn)證系統(tǒng)意味著自己獲取了信息傳播的入口和渠道,數(shù)量龐大地社交入口往往能帶來(lái)巨大的社會(huì)效應(yīng)。所以,這個(gè)入口就成了軟件安全攻防雙方的必爭(zhēng)之地。

    而本文所要講的就是當(dāng)前最為流行的新浪微博Android客戶端SSO授權(quán)認(rèn)證入口的一個(gè)安全缺陷。此缺陷使得第三方APK在一定條件下可以不通過授權(quán),在不需要人為操作的情況下就可以操作Android手機(jī)用戶的微博。包括關(guān)注、評(píng)論、發(fā)微博等OpenAPI中提供的功能。  閱讀全文
    posted @ 2013-09-08 20:32 zh.weir 閱讀(8009) | 評(píng)論 (2)編輯 收藏
         摘要: 最近微信出了5.0,新增了游戲中心,并內(nèi)置了一個(gè)經(jīng)典游戲《飛機(jī)大戰(zhàn)》。游戲其實(shí)很簡(jiǎn)單,但由于可以和好友一起競(jìng)爭(zhēng)排名,一時(shí)間受到大家的追捧,小伙伴們進(jìn)入“全民打飛機(jī)”時(shí)代。

    ios 版出來(lái)不久就被破解出了無(wú)敵模式。Android版出后好像一直風(fēng)平浪靜。周末無(wú)事,加之看雪zmworm版主邀請(qǐng),于是花了一天的工夫研究了下。也出了個(gè)Android版的無(wú)敵模式增強(qiáng)版。具體來(lái)說(shuō)就是無(wú)敵、雙排子彈加無(wú)限炸彈。當(dāng)然,這個(gè)不是重點(diǎn),我們的重點(diǎn)當(dāng)然是技術(shù)細(xì)節(jié)啦!

    微信的游戲繼承了Android版手機(jī)QQ游戲中心的思想,也采用插件動(dòng)態(tài)加載方式。具體來(lái)說(shuō),就是插件及游戲以jar包形式存在,jar包中有classes.dex及其他資源文件,在運(yùn)行時(shí)動(dòng)態(tài)加載資源及classes.dex代碼。這樣的好處是靈活管理,易于擴(kuò)展。以后更多的游戲只要上架到微信的服務(wù)器,用戶就能在微信應(yīng)用內(nèi)部下載、安裝、運(yùn)行。具體原理可以參考我2011年的一篇文章《Android類動(dòng)態(tài)加載技術(shù)》 。

    當(dāng)然,那篇文章講的只是基本原理,而微信在代碼動(dòng)態(tài)加載方面則走得更遠(yuǎn)。針對(duì)插件的管理  閱讀全文
    posted @ 2013-08-14 23:10 zh.weir 閱讀(42956) | 評(píng)論 (65)編輯 收藏
         摘要: Bluebox Security在7月3號(hào)的時(shí)候,在官網(wǎng)上發(fā)布了一個(gè)據(jù)稱99% Android機(jī)器都有的一個(gè)漏洞。國(guó)內(nèi)最早在4號(hào)開始有媒體報(bào)道,并持續(xù)升溫。該漏洞可使攻擊者在不更改Android應(yīng)用程序的開發(fā)者簽名的情況下,對(duì)APK代碼進(jìn)行修改。并且,這個(gè)漏洞涉及到從1.6版本至今全部的Android版本,換句話說(shuō),這4年中生產(chǎn)的9億設(shè)備,即當(dāng)今市場(chǎng)上99%的Android產(chǎn)品都面臨這一問題。

    看到這樣的報(bào)道,一開始我和我的小伙伴們都不敢相信。因?yàn)楹灻麢C(jī)制用了這么多年,多少大腦袋厚眼鏡的天才們想要顛覆都沒搞定,Bluebox Security怎么可能搞定的呢?不過,由于好奇心驅(qū)使,我開始查看Bluebox Security官方的說(shuō)法:《UNCOVERING ANDROID MASTER KEY THAT MAKES 99% OF DEVICES VULNERABLE》,我意識(shí)到,這個(gè)問題應(yīng)該不是簽名機(jī)制本身的問題,而是Android安裝APK過程中的校驗(yàn)存在漏洞。

    如果是APK安裝校驗(yàn)簽名的漏洞,而這個(gè)Bug又從1.6開始就有,那  閱讀全文
    posted @ 2013-07-06 16:58 zh.weir 閱讀(5920) | 評(píng)論 (6)編輯 收藏
         摘要: 昨天想到一個(gè)點(diǎn)子,需要訪問股票行情。于是在網(wǎng)上搜了一下免費(fèi)的股市行情的接口。發(fā)現(xiàn)新浪股票的數(shù)據(jù)接口比較穩(wěn)定,于是就用它了。

    網(wǎng)上對(duì)于新浪股票的數(shù)據(jù)接口介紹比較詳細(xì),并且實(shí)現(xiàn)也很簡(jiǎn)單,所以花了一下午就基本完成了。想到大家開發(fā)Android應(yīng)用可能也會(huì)需要訪問股市行情,特此將資料整理在此,并附上Javadoc文檔和一個(gè)小Demo,以便后來(lái)人開發(fā)更為便捷。

      閱讀全文
    posted @ 2012-03-01 22:50 zh.weir 閱讀(12883) | 評(píng)論 (4)編輯 收藏
         摘要: Android應(yīng)用開發(fā)在一般情況下,常規(guī)的開發(fā)方式和代碼架構(gòu)就能滿足我們的普通需求。但是有些特殊問題,常常引發(fā)我們進(jìn)一步的沉思。我們從沉思中產(chǎn)生頓悟,從而產(chǎn)生新的技術(shù)形式。

    如何開發(fā)一個(gè)可以自定義控件的Android應(yīng)用?就像eclipse一樣,可以動(dòng)態(tài)加載插件;如何讓Android應(yīng)用執(zhí)行服務(wù)器上的不可預(yù)知的代碼?如何對(duì)Android應(yīng)用加密,而只在執(zhí)行時(shí)自解密,從而防止被破解?……

    熟悉Java技術(shù)的朋友,可能意識(shí)到,我們需要使用類加載器靈活的加載執(zhí)行的類。這在Java里已經(jīng)算是一項(xiàng)比較成熟的技術(shù)了,但是在Android中,我們大多數(shù)人都還非常陌生。
      閱讀全文
    posted @ 2011-10-29 21:51 zh.weir 閱讀(37952) | 評(píng)論 (25)編輯 收藏
         摘要: 發(fā)布過Android應(yīng)用的朋友們應(yīng)該都知道,Android APK的發(fā)布是需要簽名的。簽名機(jī)制在Android應(yīng)用和框架中有著十分重要的作用。

    例如,Android系統(tǒng)禁止更新安裝簽名不一致的APK;如果應(yīng)用需要使用system權(quán)限,必須保證APK簽名與Framework簽名一致,等等。在《APK Crack》一文中,我們了解到,要破解一個(gè)APK,必然需要重新對(duì)APK進(jìn)行簽名。而這個(gè)簽名,一般情況無(wú)法再與APK原先的簽名保持一致。(除非APK原作者的私鑰泄漏,那已經(jīng)是另一個(gè)層次的軟件安全問題了。)

    簡(jiǎn)單地說(shuō),簽名機(jī)制標(biāo)明了APK的發(fā)行機(jī)構(gòu)。因此,站在軟件安全的角度,我們就可以通過比對(duì)APK的簽名情況,判斷此APK是否由“官方”發(fā)行,而不是被破解篡改過重新簽名打包的“盜版軟件”。

      閱讀全文
    posted @ 2011-07-19 23:35 zh.weir 閱讀(49450) | 評(píng)論 (6)編輯 收藏
         摘要: ProGuard是一個(gè)SourceForge上非常知名的開源項(xiàng)目。官網(wǎng)網(wǎng)址是:http://proguard.sourceforge.net/。

    Java的字節(jié)碼一般是非常容易反編譯的。為了很好的保護(hù)Java源代碼,我們往往會(huì)對(duì)編譯好的class文件進(jìn)行混淆處理。ProGuard的主要作用就是混淆。當(dāng)然它還能對(duì)字節(jié)碼進(jìn)行縮減體積、優(yōu)化等,但那些對(duì)于我們來(lái)說(shuō)都算是次要的功能。

    引用ProGuard官方的一段話來(lái)介紹就是:

    ProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier. It detects and removes unused classes, fields, methods, and attributes. It optimizes bytecode and removes unused instructions. It renames the remaining cla  閱讀全文
    posted @ 2011-07-12 19:29 zh.weir 閱讀(6047) | 評(píng)論 (0)編輯 收藏
         摘要: 所謂APK指的是Android操作系統(tǒng)的應(yīng)用程序安裝文件。所謂Crack,簡(jiǎn)單地理解為“破解”。我具體指的是反編譯APK文件進(jìn)行匯編級(jí)的代碼分析,并修改或插入自己的代碼,重新簽名打包為APK文件,以達(dá)到改變程序原有行為的目的。

    由以上的說(shuō)明可知,我們要Crack一個(gè)APK文件,主要流程有三步:反編譯、代碼分析、重新打包簽名。
      閱讀全文
    posted @ 2011-06-11 17:56 zh.weir 閱讀(22905) | 評(píng)論 (13)編輯 收藏
         摘要: 一開始需要說(shuō)明的是,Google之所以要將一些API隱藏(指加上@hide標(biāo)記的public類、方法或常量)是有原因的。其中很大的原因就是Android系統(tǒng)本身還在不斷的進(jìn)化發(fā)展中。從1.0、1.1到現(xiàn)在即將問世的Android 2.3.4。 這些隱藏的API本身可能是不穩(wěn)定的,所以,使用隱藏API,意味著程序更差的兼容性。  閱讀全文
    posted @ 2011-05-01 23:56 zh.weir 閱讀(14053) | 評(píng)論 (2)編輯 收藏
         摘要: Java反射機(jī)制的學(xué)習(xí) Java反射機(jī)制是Java語(yǔ)言被視為準(zhǔn)動(dòng)態(tài)語(yǔ)言的關(guān)鍵性質(zhì)。Java反射機(jī)制的核心就是允許在運(yùn)行時(shí)通過Java Reflection APIs來(lái)取得已知名字的class類的相關(guān)信息,動(dòng)態(tài)地生成此類,并調(diào)用其方法或修改其域(甚至是本身聲明為private的域或方法)。 也許你使用Java已經(jīng)很長(zhǎng)時(shí)間了,可是幾乎不會(huì)用到Java反射機(jī)制。你會(huì)嗤之以鼻地告訴...  閱讀全文
    posted @ 2011-03-26 20:53 zh.weir 閱讀(34162) | 評(píng)論 (17)編輯 收藏
         摘要: Java內(nèi)存泄露的理解與解決  轉(zhuǎn)載請(qǐng)注明出處:http://www.tkk7.com/zh-weir/archive/2011/02/23/345007.html Java內(nèi)存管理機(jī)制 在C++語(yǔ)言中,如果需要?jiǎng)討B(tài)分配一塊內(nèi)存,程序員需要負(fù)責(zé)這塊內(nèi)存的整個(gè)生命周期。從申請(qǐng)分配、到使用、再到最后的釋放。這樣的過程非常靈活,但是卻十分繁瑣,程序員很容易由...  閱讀全文
    posted @ 2011-02-23 21:34 zh.weir 閱讀(13417) | 評(píng)論 (1)編輯 收藏

    公告

    大家好!歡迎光臨我的 Android 技術(shù)博客!



    本博客旨在交流與 Android 操作系統(tǒng)相關(guān)的各種技術(shù)及信息。

    博客內(nèi)的文章會(huì)盡量以開源的形式提供給大家,希望我們能相互交流,共同提高!

    有不足之處,請(qǐng)不吝賜教!

    我的郵箱:zh.weir@gmail.com
    我的新浪微博:@囧虎張建偉

     

    導(dǎo)航

    <2011年2月>
    303112345
    6789101112
    13141516171819
    20212223242526
    272812345
    6789101112

    統(tǒng)計(jì)

    留言簿(19)

    隨筆分類(24)

    隨筆檔案(18)

    文章檔案(1)

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲一级毛片免费在线观看| 亚洲精品国产成人99久久| 亚洲国产精品人久久电影| 亚洲免费一级视频| 7777久久亚洲中文字幕蜜桃| 国产成人免费ā片在线观看老同学| 亚洲日本va在线视频观看| 成人一区二区免费视频| 亚洲国产a∨无码中文777| 中文字幕在线免费| 亚洲一线产区二线产区精华| 日本精品人妻无码免费大全| 亚洲精品无码专区在线播放| 免费一级黄色毛片| 一本色道久久88—综合亚洲精品| 最近最新中文字幕完整版免费高清| 在线亚洲高清揄拍自拍一品区| 在线免费观看国产视频| 国产午夜亚洲精品不卡电影| 亚洲伊人久久成综合人影院| 亚洲一线产区二线产区区| 免费在线黄色网址| 亚洲啪AV永久无码精品放毛片| 小草在线看片免费人成视久网| 亚洲国色天香视频| 未满十八18禁止免费无码网站 | 青青操免费在线观看| 亚洲αv久久久噜噜噜噜噜| 免费一级毛suv好看的国产网站 | 亚洲免费视频网站| 成**人免费一级毛片| 亚洲美免无码中文字幕在线| 国产乱子伦精品免费视频| 国产精品免费电影| 高清永久免费观看| 亚洲三级在线免费观看| 国产高清免费视频| 在线播放免费人成视频网站 | 国产精品免费观看久久| 国产精品免费久久| 亚洲专区中文字幕|