Android 2.3 薑餅人(Gingerbread)

渴望支援特點
  • 修正前版作業系統臭蟲(Bug)
  • 取代Flash的開放原始碼影音編碼技術VP8
  • 強化廣告演算技術
  • 進階的導覽系統
  • 支援更多的HTML5或更高的標準技術規格
  • 影片直接內嵌網頁
  • 更智慧和更互動的使用者介面

Facebook「線上郵件」 無接縫式社群整合

Facebook今日正式公佈其「泰坦計畫 (Project Titan)」內容,執行長Mark Zuckerberg表示他們想打造的並不是「電子郵件」,而是更先進的線上「即時通訊」系統,更能整合無接縫式的社群聯絡,並保有其歷史追蹤功能。

(圖/擷自TechCrunch網站)

Zuckerberg首先提到先前在學校使用電子郵件的經驗,認為電子郵件的特性便在於太慢、過於制式化,而且充斥著過多氾濫而無實質用處的訊息 (諸如廣告)。他也提到目前幾乎高年級的學生都偏好使用簡訊 (SMS),或者是透過線上通訊軟體 (Messenger)進行聯絡。

而目前Facebook總計約有5億人多的使用數量 (人數持續增長中,相關統計數據可參考參考這邊),其中每天大約會有約3.5億人傳遞高達4億筆的訊息量,因此Zuckerberg想出一種新的方式,可讓訊息傳遞更加無縫隙、訊息度更高、精簡短小且具備個人化管理的特性,同時能更快傳遞訊息內容。

Facebook此次所提出的「電子郵件」概念包含三個部份,分別是:

.無接縫訊息

使用者可透過各種不同方式進行交談,同時並不僅限制於電子郵件,可能包含線上即時通訊軟體或手機簡訊等介面。

.交談歷史紀錄

提供固定欄位可顯示過去的交談紀錄。

.社群郵件信箱 (Social Inbox)

這項功能可藉由結合個人線上社群資訊達成「最真實的」郵件分類,諸如分辨信件是否為垃圾信,或者是區分朋友或親人所寄來的信件內容。

(圖/擷自TechCrunch網站)

Facebook產品經理Andrew Bosworth在現場也分別以e-mail、簡訊以及線上通訊等不同形式示範訊息傳遞,並且示範交談歷史紀錄將會如何整合顯示,同時現場也展示「Social Inbox」將如何把「信件」訊息分類至內建三組收件匣裡 (分別為「訊息」、「其他」以及「垃圾信件」)。

另外,Bosworth在現場也透露相關iPhone平台的App,並表示很快就會在蘋果App Store上線。而Bosworth也表示,使用者可以申請註冊一組以「xxx@facebook.com」為名稱的電子郵件,但若透過任何其他的電子郵件也一樣能使用Facebook此項功能。另外,Facebook郵件功能也支援IMAP協定使用

不過,Facebook此項服務恐怕暫時還不會太快上線,估計將在幾個月之後會整合上線,目前僅接受用戶邀請使用。而此項服務初步將只針對純文字訊息為主,但之後也將會考慮加入VoIP語音通訊內容。

Facebook執行長Zuckerberg在結尾時再次強調:他們並非是要打造一組「Gmail殺手」,而是嘗試推出一種全新的訊息傳遞方式,並且進一步將電子郵件推向無縫隙且簡單的訊息整合。

而Zuckerberg同時也認為Gmail (或泛指現行電子郵件系統)是一項相當好的產品,但現行廣泛使用的人卻是越來越少 (除了工作需求),他進一步指出電子郵件與簡訊或即時訊息之間的效率差異,並表示Facebook希望帶給使用者更快且完整的訊息傳遞模式。

※相關連結》

‧Facebook「線上郵件」 無接縫式社群整合
‧Facebook官方網站
‧Facebook's Modern Messaging System: Seamless, History, And A Social Inbox (TechCrunch網站)
‧「泰坦計畫」 Facebook將推線上郵件服務

電影 社群網戰 (The Social Network)

the-social-network-520

全世界每14個人就有一個人玩Facebook,一部全球五億人都說讚的電影,由大衛芬奇 (David Fincher) 導演,描述臉書 (Facebook) CEO及創辦人Mark Zuckerberg 開創臉書的電影,在 IMBD網站爛番茄網站皆得到極高的評價,已經是奧斯卡最佳影片的大熱門,年輕男星傑西艾森柏(Jesse Eisenberg)飾演馬克,美國歌壇小天王賈斯汀(Justin Timberlake)飾演音樂下載網站Napster創辦人(Sean Parker),另外「蜘蛛人4」安德魯加菲爾德(Andrew Garfield)飾演Facebook合夥創辦人Eduardo Saverin、好萊塢版「龍紋身的女孩」魯妮瑪拉(Rooney Mara)飾演Mark Zuckerberg 的女友Erica Albright

 

以下附上中文電影預告,台灣預11月5日(五) 上映

 

中文官方網站

官方網站

IP Range To CIDR

輸入IP範圍取得CIDR

public static List<String> range2cidrlist( String startIp, String endIp )
    {
        long start = ipToLong(startIp);
        long end = ipToLong(endIp);

        ArrayList<String> pairs = new ArrayList<String>();
        while ( end >= start )
        {
            byte maxsize = 32;
            while ( maxsize > 0)
            {
                long mask = CIDR2MASK[ maxsize -1 ];
                long maskedBase = start & mask;
                if ( maskedBase != start )
                {
                    break;
                }
                maxsize--;
            }

            double x = Math.log( end - start + 1) / Math.log( 2 );
            byte maxdiff = (byte)( 32 - Math.floor( x ) );
            if ( maxsize < maxdiff)
            {
                maxsize = maxdiff;
            }
            String ip = longToIP(start);
            pairs.add( ip+ "/" +maxsize );
            start += Math.pow( 2, (32 - maxsize) );
        }
        return pairs;
    }

    public static final int[] CIDR2MASK = new int[] { 0x00000000, 0x80000000,
            0xC0000000, 0xE0000000, 0xF0000000, 0xF8000000, 0xFC000000,
            0xFE000000, 0xFF000000, 0xFF800000, 0xFFC00000, 0xFFE00000,
            0xFFF00000, 0xFFF80000, 0xFFFC0000, 0xFFFE0000, 0xFFFF0000,
            0xFFFF8000, 0xFFFFC000, 0xFFFFE000, 0xFFFFF000, 0xFFFFF800,
            0xFFFFFC00, 0xFFFFFE00, 0xFFFFFF00, 0xFFFFFF80, 0xFFFFFFC0,
            0xFFFFFFE0, 0xFFFFFFF0, 0xFFFFFFF8, 0xFFFFFFFC, 0xFFFFFFFE,
            0xFFFFFFFF };

    private static long ipToLong(String strIP) {
        long[] ip = new long[4];
        String[] ipSec = strIP.split("\\.");
        for (int k = 0; k < 4; k++) {
            ip[k] = Long.valueOf(ipSec[k]);
        }
        return (ip[0] << 24) + (ip[1] << 16) + (ip[2] << 8) + ip[3];
    }

    private static String longToIP(long longIP) {
        StringBuffer sb = new StringBuffer("");
        sb.append(String.valueOf(longIP >>> 24));
        sb.append(".");
        sb.append(String.valueOf((longIP & 0x00FFFFFF) >>> 16));
        sb.append(".");
        sb.append(String.valueOf((longIP & 0x0000FFFF) >>> 8));
        sb.append(".");
        sb.append(String.valueOf(longIP & 0x000000FF));
        sb.append(".");
        return sb.toString();
    }

Android App to SD Card Sample(App2SD)

device

App to SD Card是 Android 2.2之後才支援的功能,2.1版以前的程式需要做修改才能在Android 2.2將應用程式安裝到SD Card,主要是因為預設是不允許安裝到SD Card。

要將應用程式能夠安裝到SD Card需要修改 AndroidManifest.xml 的 installLocation 屬性

android:installLocation=["auto" | "internalOnly" | "preferExternal"]


預設應用程式只能安裝在內部儲存裝置中,不能安裝在外部儲存裝置,除非將屬性設定為 "auto" 或 "prefreExternal"



另外還有一點需特別注意當設定成 prefreExternal 而外部儲存裝置已滿或無法存取外部儲存裝置,則應用程式仍會安裝在內部記憶體中



若應用程式使用forward-locking 機制,則也不能儲存於外部儲存體中,目前forward-locking機制不支援外部儲存裝置。

Android Secret Codes (隱藏代碼)

  1. 不同廠商的手機都會隱藏獨特的代碼,用來查看系統及韌體版本,或者進行硬件的測試,當然 Android 手機也不例外,除了好像電腦一樣能顯示更詳細的手機資訊外,更可重設為原廠設定,更新相機韌體等。但部份代碼要謹慎使用,因為可能令手機失去原有的功能。

    *#06#
    – 顯示 IMEI
    *#*#8351#*#*
    – 啟動撥號紀錄
    *#*#8350#*#*
    – 關閉撥號紀錄
    *#*#4636#*#*
    – 工程模式
    *#*#7262626#*#*
    – FieldTest
    **05*<PUK Code>*<enter a new pin>*<confirm the new pin>#
    – PUK Unlock (from emergency dial screen)
    *#*#4636#*#*
    – 顯示手機資訊、電池資訊、電池記錄、使用統計資料、WiFi 資訊
    *#*#7780#*#*
    – 重設為原廠設定,不會刪除預設程式,及 SD 卡檔案。
    *2767*3855#
    – 重設為原廠設定,會刪除 SD 卡所有檔案。
    *#*#34971539#*#*
    – 顯示相機相機韌體版本,或更新相機韌體
    *#*#7594#*#*
    – 當長按關機按鈕時,會出現一個切換手機模式的視窗,包括: 靜音模式、飛航模式及關機,你可以用以上代碼,直接變成關機按鈕。
    *#*#273283*255*663282*#*#*
    – 開啟一個能讓你備份媒體文件的地方,例如相片、聲音及影片等
    *#*#197328640#*#*
    – 啟動服務模式,可以測試手機部分設置及更改設定

    WLAN、 GPS 及藍牙測試的代碼

    *#*#232339#*#*
    *#*#526#*#*
    *#*#528#*#*
    – WLAN 測試
    *#*#232338#*#*
    – 顯示 WiFi MAC 地址
    *#*#1472365#*#*
    – GPS 測試
    *#*#1575#*#*
    – 其他 GPS 測試
    *#*#232331#*#*
    – 藍牙測試
    *#*#232337#*#
    – 顯示藍牙裝置地址
    *#*#8255#*#*
    – 啟動 GTalk 服務監視器

    顯示手機韌體的代碼

    *#*#4986*2650468#*#*
    – PDA、 Phone、 H/W、 RFCallDate
    *#*#1234#*#*
    – PDA 及 Phone
    *#*#1111#*#*
    – FTA SW 版本
    *#*#2222#*#*
    – FTA HW 版本
    *#*#44336#*#*
    – PDA 、Phone、 CSC、 Build Time、 Changelist number

    各項硬體測試

    *#*#0283#*#*
    – Packet Loopback
    *#*#0*#*#*
    – LCD 測試
    *#*#0673#*#*
    *#*#0289#*#*
    – Melody 測試
    *#*#0842#*#*
    – 裝置測試,例如振動、亮度
    *#*#2663#*#*
    – 觸控螢幕版本
    *#*#2664#*#*
    – 觸控螢幕測試
    *#*#0588#*#*
    – 接近感應器測試
    *#*#3264#*#*
    – 記憶體版本

Google App Engine for Java 開發環境設定

Google App Engine(GAE)是一個存放網頁應用程式的平台,由Google資料中心管理。在2008年4月釋出Beta版支援Python語言,並在2009年4月推出支援JAVA語言的版本。

 

準備工具

 

Java JDK 5 以上

Eclipse IDE for Java EE Developers(3.4, 3.5, 或3.6)

App Engine Java SDK程式開發套件 (GAE SDK)

 

 

安裝步驟

 

1.取得Eclipse:
可從Eclipse 網站 http://www.eclipse.org/取得 Eclipse。「Java EE 開發人員專用的 Eclipse IDE」包含所有開發網路應用程式所需的元件。

2.安裝 Eclipse 專用的 Google 外掛程式

您可以使用 Eclipse 的 Software Update (軟體更新) 功能,安裝「Eclipse 專用的 Google 外掛程式」。

如要使用 Eclipse 3.6 (Helios) 安裝外掛程式:

  • 選取 [Help] (說明) 功能表 > [Software Updates...] (軟體更新...),即可開啟 [Software Updates and Add-ons] (軟體更新和附加元件) 視窗。
  • 選取 [Available Software](可用軟體) 標籤,再按一下 [Add Site...] (新增網站...) 按鈕,即可開啟 [Add Site] (新增網站) 視窗。然後,在 [Location] (位置) 輸入 Eclipse 3.6 版本外掛程式的安裝位置:
    http://dl.google.com/eclipse/plugin/3.6
    按一下 [OK] (確定)。對話方塊隨即關閉,而新的位置會加到可用軟體的清單中。
  • 按一下新的安裝位置旁邊的三角形,然後按一下 [Google] 旁邊的三角形,即可顯示安裝選項。勾選 [Google Plugin for Eclipse 3.6] (Eclipse 3.6 專用的 Google 外掛程式) 以及 [Google App Engine Java SDK] (Google 應用服務引擎 Java SDK) 旁邊的方塊。如要在應用程式使用 Google Web Toolkit,您也可以選取 [Google Web Toolkit SDK]。按一下 [Install...] (安裝...) 按鈕。按照提示接受服務條款,並安裝外掛程式。

  • 可選擇是否同時安裝GWT

    注意:因為 Eclipse 會更新相依性,所以外掛程式的安裝程序需要幾分鐘才能完成。如需詳細資訊,請參閱「常見問題」。

  • 安裝完畢之後,Eclipse 會提示您重新啟動。按一下 [Yes] (是)。Eclipse 會重新啟動。外掛程式完成安裝。
  • Eclipse 3.5 (Galileo) 外掛程式的安裝程序也很類似,但是出現的提示不同,而安裝位置也不一樣。「Eclipse 3.5 專用的 Google 外掛程式」的位置如下所示:

  • http://dl.google.com/eclipse/plugin/3.5

    如需「軟體更新」的詳細資訊,請參閱 Eclipse 文件。

    安裝完成後即有 Web Application Project

    安裝完成後即有 Web Application Project
  •