終於Android 2.3已經釋出 -- 就是代號為薑餅人的最新Android版本
這版有幾項特點
- 遊戲效能提升
- 文字輸入有較佳的介面
- 整合桌面VOIP技術(Google Talk)
- 支援前端影像的影音通話
- 剪貼功能強化
- 整合支援近距離無線通訊NFC(Near Field Communication)
- 支援陀螺儀感應器能判別更精確方位資料
- 強化的下載管理員
- 重新設計的支援多點觸控鍵盤
- 整合的任務管理員
- 更多影音編碼支援(VP8,WebM, AAC, AMR)
一個關於Facebook和Android資訊的部落格
終於Android 2.3已經釋出 -- 就是代號為薑餅人的最新Android版本
這版有幾項特點
方法一
寄送純文字信件
try {
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("admin@taicomjp.info", "admin"));
msg.addRecipient(Message.RecipientType.TO,
new InternetAddress("admin@taicomjp.info", "Mr. Admin"));
msg.setSubject("GAE Text Mail Example");
msg.setText(本文內容\n換行);
Transport.send(msg);
catch (AddressException e) {
// ...
} catch (MessagingException e) {
// ...
}
寄送HTML格式信件
try {
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("admin@taicomjp.info", "admin"));
msg.addRecipient(Message.RecipientType.TO,
new InternetAddress("admin@taicomjp.info", "Mr. Admin"));
msg.setSubject("GAE HTML Mail Example");
msg.setContent(本文內容<br>換行,"text/html; charset=UTF-8");
Transport.send(msg);
} catch (AddressException e) {
// ...
} catch (MessagingException e) {
// ...
}
方法二-使用低階郵件API
MailService ms = MailServiceFactory.getMailService();
MailService.Message message = new MailService.Message();
try {
message.setSender("admin@taicomjp.info");
message.setTo("admin@taicomjp.info");
message.setSubject("GAE Low Level Mail Example");
message.setHtmlBody("本文內容<br>換行");
message.setTextBody("本文內容\n換行");
ms.send(message); } catch (Exception e) {
e.printStackTrace(); }
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將推線上郵件服務
全世界每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範圍取得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();
}
Copyright © 2009 Your Blog. All Rights Reserved.
Powered by Blogger | Theme by Skinpress | Brought to Blogger by Dante Araujo and Deluxe Templates
