To build a better world !

          2011年10月29日

               摘要:
          基于官方文檔2013.12.19最后一次改動。
          翻譯人:Weir Zhang (zh.weir)
          旁白:水平有限,很多地方只是意譯。不準確的地方,大家以原版文檔為準。
          原版地址:http://google-styleguide.googlecode.com/svn/trunk/javaguide.html



          一、介紹

          本文檔為Google Java編程規范的完整定義。依照此規范編寫的Java源碼文件可以被稱為Google Style。

          和其他編程規范指南一樣,規范不僅包括了代碼的結構美學,也包括了其他一些業界約定俗成的公約和普遍采用的標準。本文檔中的規范基本都是業界已經達成共識的標準,我們盡量避免去定義那些還存在爭議的地方。


          1.1 術語說明

          本文檔除非特殊說明,否則:
          a、class(類)統指普通的class類型、enum枚舉類型、interfa  閱讀全文
          posted @ 2014-02-08 12:58 zh.weir 閱讀(22431) | 評論 (1)編輯 收藏
               摘要: 背景
          事實上,在前些年,隨著wifi的興起,特別是wifi direct的推出,藍牙一度沒落了。然而近一兩年隨著移動智能終端指數級增長,穿戴式設備興起,藍牙4.0推出,特別是低功耗藍牙(BLE)的推出,藍牙又煥發了新的青春氣息。
          此次藍牙的復興,可以明顯感覺出人們對藍牙與wifi訴求的差異化。wifi的優勢在于傳輸速度,大文件、塊數據的傳輸,正很快地向wifi direct切換。而藍牙的優勢在于多樣化設備間的無線連接和數據共享。
          藍牙之所以有這個優勢,我想主要原因是藍牙歷史悠久,有相當多現成的設備間通信標準和協議。另外藍牙模塊成本低、體積小,非常適合應用于穿戴式設備等小型設備。加之新推出的低功耗藍牙將耗電量降得非常低,穿戴設備用一個紐扣電池就能用好幾個月甚至幾年。
          經典藍牙應用場景包括藍牙耳機、藍牙音箱、藍牙鼠標、藍牙鍵盤等。而隨著低功耗藍牙的推出,穿戴式設備開始流行起來,例如手環、手表、防丟掛件等。
          穿戴式設備對藍牙來說預示著一種趨勢。那就是在Android與Arduino讓一切物體智能起來的時代,藍牙可以作為一種強大穩定的無線通信技術,讓一切  閱讀全文
          posted @ 2013-12-17 21:32 zh.weir 閱讀(1178) | 評論 (0)編輯 收藏
               摘要: 一、關鍵概念:
          Generic Attribute Profile (GATT)
          通過BLE連接,讀寫屬性類小數據的Profile通用規范。現在所有的BLE應用Profile都是基于GATT的。

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

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

          Descriptor
          對Characteristic的描述,例如范圍、計量單位等。

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

          主流社交媒介要集成到第三方應用中,最重要的入口就是安全便捷的授權認證系統。讓用戶在享受一鍵分享和各種社交樂趣的同時,又不用擔心帳號安全和隱私泄露等問題。而對于一些有特殊目的的組織或個人來說,攻占這個授權認證系統意味著自己獲取了信息傳播的入口和渠道,數量龐大地社交入口往往能帶來巨大的社會效應。所以,這個入口就成了軟件安全攻防雙方的必爭之地。

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

          ios 版出來不久就被破解出了無敵模式。Android版出后好像一直風平浪靜。周末無事,加之看雪zmworm版主邀請,于是花了一天的工夫研究了下。也出了個Android版的無敵模式增強版。具體來說就是無敵、雙排子彈加無限炸彈。當然,這個不是重點,我們的重點當然是技術細節啦!

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

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

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

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

          網上對于新浪股票的數據接口介紹比較詳細,并且實現也很簡單,所以花了一下午就基本完成了。想到大家開發Android應用可能也會需要訪問股市行情,特此將資料整理在此,并附上Javadoc文檔和一個小Demo,以便后來人開發更為便捷。

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

          如何開發一個可以自定義控件的Android應用?就像eclipse一樣,可以動態加載插件;如何讓Android應用執行服務器上的不可預知的代碼?如何對Android應用加密,而只在執行時自解密,從而防止被破解?……

          熟悉Java技術的朋友,可能意識到,我們需要使用類加載器靈活的加載執行的類。這在Java里已經算是一項比較成熟的技術了,但是在Android中,我們大多數人都還非常陌生。
            閱讀全文
          posted @ 2011-10-29 21:51 zh.weir 閱讀(37958) | 評論 (25)編輯 收藏

          公告

          大家好!歡迎光臨我的 Android 技術博客!



          本博客旨在交流與 Android 操作系統相關的各種技術及信息。

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

          有不足之處,請不吝賜教!

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

           

          導航

          <2011年10月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          統計

          留言簿(19)

          隨筆分類(24)

          隨筆檔案(18)

          文章檔案(1)

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 哈尔滨市| 江川县| 芒康县| 色达县| 平定县| 绥芬河市| 涡阳县| 武隆县| 洪湖市| 大新县| 青冈县| 杭州市| 玉田县| 连云港市| 康保县| 昌吉市| 明水县| 昂仁县| 榆树市| 那坡县| 湘西| 三门峡市| 华亭县| 温州市| 洱源县| 永年县| 柳河县| 泰和县| 华亭县| 基隆市| 漠河县| 扎赉特旗| 万载县| 横峰县| 伊川县| 双城市| 通辽市| 额敏县| 陆川县| 赣州市| 扎鲁特旗|