Tính năng Flash Player 10.1 trên Android

24/05/2010 Leave a comment

Lưu ý: Flash Player 10.1 không chỉ dành cho riêng cho điện thoại di động như Android, WEB os, Window Mobile . . . mà còn đối với PC, tablet, netbook và thậm chí cả trên Tivi (như Googe TV sắp tới), console… Sau đây là một số tính năng của nó trên Android:

Installation and updates
Flash 10.1 được thiết kế để dễ dàng cài đặt và tự động update từ server cho tất cả thiết bị mà nó support. Chúng ta biết để làm được cross platform như vầy không phải là dễ dàng.
Multi-touch
Do Android Froyo được phát hành sớm hơn dự định của Adobe do đó Adobe và Google chưa kịp mở tính năng multi-touch cho flash 10.1 trên trình duyệt của Android và đó là thiệt thòi khá lớn cho chúng ta. Tuy nhiên AIR 2.5 trên Android vẫn hỗ trợ cảm ứng đa điểm, chúng ta có thể sử dụng nhiều ngón tay: ngón cái, ngón trỏ … thậm chí là ngón chân =))
Accelerometer
Một trong những tính năng mới mẻ của Flash Player 10.1 API cảm ứng gia tốc trọng trường , điều này có thể làm được cũng nhờ sự hợp tác của Google, khi cho phép trình duyệt của Android truyền sự kiện cảm ứng gia tốc cho Flash Player 10.1. Đặc biệt trong Device Central CS5 có phần hỗ trợ giả lập cảm ứng gia tốc – Accelerometer Emulation
Sample code:

if (Accelerometer.isSupported)
{
var accelerometer:Accelerometer = new Accelerometer();
accelerometer.addEventListener(AccelerometerEvent.UPDATE, accUpdateHandler);
stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
...
private final function accUpdateHandler(event:AccelerometerEvent):void
{
xSpeed += event.accelerationX * 2;
ySpeed -= event.accelerationY * 2;
}

Device Central CS5 – Accelerometer Emulation

Focused Mode (single tap)
Để đảm bảo rằng các touch event được nhận bằng Flash hoặc browser một cách thích hợp (chẳng hạn như biết khi nào user touch Flash để tương tác hay chỉ đơn giản muốn kéo trình duyệt nhưng vô tình touch phải Flash) Adobe đã tạo ra Focused Mode. Nó hoạt động rất đơn giản dựa trên độ ưu tiên của hệ thống, vì vậy khi bạn touch lên Flash, đối tượng mà bạn muốn tương tác, thì Flash sẽ được focus, khi đó nếu nó ko đăng ký sự kiện để nhận event bằng addEventListener thì event này sẽ được trả trở lại cho browser xử lý. Khi bạn touch trên HTML, thì độ ưu tiên sẽ ngược lại, tức event sẽ được browser bắt trước hết.
Smartzoom (double tap)
Lưu ý: bạn đừng nhầm lẫn tính năng này với Fullscreen mode.
Chức năng này cho phép user zoom Flash để fit màn hình của device bằng cách double click vào Flash, nhưng thật chất Flash vẫn nằm trong HTML, đơn giản là browser được zoom lên và di chuyển sao cho Flash Player khớp với màn hình device, điều này giúp ta ý thức được rằng Flash vẫn còn chạy trên nền web với thẻ nhúng embed HTML.
FullScreen (AS-only)
Để Flash Player bật chế độ fullscreen bạn cũng dùng đoan code như các phiên bản trên PC: stage.displayState = StageDisplayState.FULL_SCREEN. Và đây là cách duy nhất để bật chế độ fullscreen trên Flash 10.1 và, đoạn code này ko được gọi tự động mà phải bắt nguồn từ event tương tác của user: như touch, click …
Smart Rendering
Khi Flash nằm ở phần mà user không nhìn thấy, thì nó sẽ không render nữa, để tiết kiệm CPU và bộ nhớ. File SWF sẽ đi vào chế độ sleep và chỉ được resume khi yêu cầu. Flasher có thể kiểm soát behavior này bằng cách áp dụng độ ưu tiên cho các file SWF thông qua thẻ nhúng embed tag.
Video Hardware Decoding
Điểm mạnh của phần này như chúng ta đã biết, Flash Player sẽ tận dụng phần cứng cho việc giải mã H.264, tức là dùng mã tích hợp sẵn trong chip (hardware), chứ không dùng thuật toán (software) để giải mã. Đặc biết Flash hỗ trợ nhiều chuẩn nén video phổ biến như: H.264, VP8, VP6 …
Sleep Mode
Flash Player sẽ đi vào chế độ Sleep mode khi Android của bạn ở chế độ screen off.
Out-of-Memory Management
Đối với các SWF không được optimized thì Flash Player sẽ cảnh bảo người dùng và hiển thị button “Click to play” để người dùng kiểm soát ứng dụng khi cần thiết.
Device Events
Cùng như Flash Lite, Flash Player 10,1 cũng hoạt động hợp lý trên mobile. Vì vậy, nếu bạn nhận được một cuộc gọi, tin nhắnc hoặc thay đổi ứng dụng khác, thì Flash Player sẽ tạm dừng một cách thông minh.
Minimum Spec
Cấu hình tối thiểu của thiết bị di động để có thể chơi được Flash tốt  là CPU: ARM11-Cortex A8/9 tốc độ 550MHz (Đối với Cortex-A8 thì nên chọn Neon), RAM: 256 MB.
Nguồn Flash Mobile Blog

Cài đặt Flash 10.1 cho Android Froyo 2.2

24/05/2010 5 comments

Cài đặt Flash 10.1 cho Android Froyo 2.2

[nggallery id=3]

Flash enabled websites

View websites on your device that take advantage of Adobe® Flash® Player 10.1

Featured Sites

Gaming

News/Information

Online Video

Video Sharing

Video Blogging

TV Shows

Premium Content

Movie Content

Independent Animation

Learning and Education

Sports

Retail

Terms of Use |   Visit Adobe.com

Nâng cấp Android Froyo 2.2 cho Nexus One và Droid

24/05/2010 Leave a comment

Để cài đặt Android 2.2 trên Nexus One, chúng ta thực hiện các bước sau đây:

1. Tải về bản chính thức của Android 2,2 firmware cho Nexus One ở đây Download Froyo
2. Copy tập tin vào thẻ microSD và đặt tên là update.zip.
3. Tắt nguồn điện thoại.
4. Giữ nút VOLUME DOWN và bật điện thoại lên.
5. Điện thoại sẽ tìm kiếm các tập tin như: PB00IMG.zip… Cuộn xuống để vào Recovery mode và bấm nút POWER.
6. Khi bạn nhìn thấy hình bên dưới , bấm nút POWER và nút Volume Up cùng một lúc. Một menu sẽ hiện ra và một trong những option của nó sẽ là “Apply sdcard:update.zip”:

7. Sử dụng trackball di chuyển đến “Apply sdcard:update.zip” và chọn nó.
8. Khi bạn nhìn thấy “Install from sdcard complete”, thì chọn “reboot system now”.

Lưu ý nếu link download trên bị mất thì ta có thể dùng các link backup bên dưới đây:
http://rapidshare.com/files/390764512/signed-passion-FRF50-from-ERE27.1e519a24.zip
http://www.mediafire.com/?k0z44zkjv5z
Xem thêm video sau để chắc chắn các bước trước khi up firmware:

Theo Android And Me

GUI mới của Android Froyo

23/05/2010 Leave a comment

Không có nhiều điều ngạc nhiên khi hôm nay, 21/05 Google chính thức công bố hệ điều hành Android phiên bản 2.2 tên mã Froyo của họ, tại sự kiện I/O Developer. Cải tiến đáng kể nhất có thể nêu ra chính là việc sử dụng trình biên dịch JIT (Just-in-time compiler) giúp tăng tốc khả năng xử lý lên 2-5 lần.

Bên cạnh đó, 20 tính năng mới dành cho đối tượng sử dụng smartphone trong môi trường làm việc doanh nghiệp, bao gồm khả năng tích hợp tốt hơn vào hệ thống Microsoft Exchange, cùng khả năng sao lưu toàn bộ thiết bị cho phép bạn chuyển toàn bộ dữ liệu sang một chiếc điện thoại mới khi cần. Tính năng chia sẻ internet thông qua Wi-fi cũng nhận được sự hưởng ứng lớn từ cộng đồng, khi bạn có thể sử dụng chiếc điện thoại của mình chia sẻ 3G internet cho bất kì thiết bị nào khác thông qua kết nối Wi-Fi.

Cũng tại I/O Developer lần này, Google cũng đưa ra một vài con số ấn tượng: hơn 100,000 thiết bị được kích hoạt hệ điều hành Android trong một ngày. Với đà phát triển này và những tính năng mới được tích hợp trong Android 2.2, hệ điều hành này hẳn sẽ mang về thành công không nhỏ cho Google.

[nggallery id=2]

Theo Engadget

Sự kiện Google I/O và Adobe

22/05/2010 Leave a comment

– HTML 5 Extension for Dreamweaver CS5: Adobe hỗ trợ HTML 5 và koi nó như là một phần quan trọng của web, cùng với Flash.
Adobe đã phát hành một extension cho Dreamweaver CS5. Đó là một số tính năng tuyệt vời cho bạn làm việc với HTML 5 hoặc các thiết bị di động.
Ở cấp độ cơ bản nhất, extension cung cấp code hinting (code gợi ý) và code completion (tự động hoàn thành đoạn code) cho HTML 5 và CSS 3.
Một tính năng tiện dụng khác là Multiscreen Preview Panel cho phép bạn xem trước các trang của bạn với các view trên mobile, tablet, web . . . cùng một lúc. Nó cũng cho phép bạn  nhúng  CSS để thay đổi  và bố trí cho phù hợp với từng device.

-Google Open Source VP8 và Adobe Flash Player:
VP8 là một chuẩn codec trước đây thuộc quyền sở hữu độc quyền của Google và ban đầu được tạo ra bởi On2 Technologies để thay thế version trước đó VP7.
Nó đã được công bố vào ngày 13 Tháng 9 năm 2008. Nhưng  hội nghị IO lần này, tháng 5 năm 2010, Google đã tuyên bố mã nguồn mở hóa VP8 codec.
Một trong những lập luận chủ yếu xung quanh HTML 5 là việc lựa chọn chuẩn codec tốt nhất để hỗ trợ, trong hoàn cảnh H.264, chuẩn nén video phổ biến nhất hiện nay,lại là chuẩn nén độc quyền sở hữu của công ty MPEG LA. Để thúc đẩy HTML5 phát trển, Google đã phóng tay thông báo rằng họ sẽ mã nguồn mở hóa VP8. Đây cũng là cơ hội Adobe sẽ support thêm VP8 mà không gặp trở ngại gì về quyền sở hữu, do đó họ cũng thông báo rằng họ sẽ hỗ trợ VP8 trên Flash Player cùng với H.264 và VP6.
Như vậy Adobe đã lo lắng cho người lập trình flash hầu hết các chuẩn nén phổ biến và họ sẽ không còn bận tâm dữ liệu truyền từ server đang là chuẩn nén nào, chỉ việc làm tốt công việc ở client là xong.

-Adobe Releases Flash Player 10.1 for Android:

Tin này chắc ko làm mấy ai ngạc nhiên vì Adobe đã đánh tiếng từ rất lâu: việc Flash 10.1 và AIR 2 sẽ chạy trên Android. Mặc dù qua nhiều lần delay làm nhiều flash dev hơi thất vọng, thì đến nay Adobe đã chính thức release Flash 10.1 trên Android 2.2 Froyo (hiện tại chỉ có phiên bản này chạy đc Flash 10.1, còn lại chỉ support Flash Lite). Điều này sẽ làm yên tâm chúng ta và không để Steve Jobs châm thọc:
“Adobe publicly said that Flash would ship on a smartphone in early 2009, then the second half of 2009, then the first half of 2010, and now they say the second half of 2010. We think it will eventually ship, but we’re glad we didn’t hold our breath. Who knows how it will perform?” Steve Jobs (Như vậy Flash 10.1 sẽ là câu trả lời thẳng thắn từ Adobe, hy vọng nó sẽ giúp Android, WebOs, Window mobile qua mặt “kẻ kêu ngạo Iphone OS”)

-Adobe Announces AIR for Android Public Beta:

Adobe AIR có vẻ ra chậm hơn Flash 10.1 khi đang ở giai đoạn beta.

Nhưng một tin cực sock cho Android và Flash Developer là AIR beta sẽ chạy trên Eclair  không cần phải Froyo. Tức là bây giờ chúng ta có thể dùng AIR 2 beta để viết ứng dụng cho Android 2.1, version đang chạy trên đa số các thiết bị Android như: Nexus One, Motorola Droid, HTC EVO . . .

AIR for Android Flash CS5 Extension:

Một extension cho Flash CS5 cho phép chúng ta tạo project, design hiệu ứng, graphic, coding và build ra application trên Android 2.1. Flash developer sẽ làm việc như là làm việc với 1 project AIR bình thường. Thật tuyệt vời, I love Flash CS5 ^^

-Google TV with AIR and Flash
Google TV là gì
Trước giờ Google thường ít khi chịu sử dụng Flash cho các sản phẩm của mình, thì đây là một ngoại lệ có phần hiếm hoi,  khi một chức năng lớn Google TV, mà Google rất kỳ vọng, sẽ chạy với AIR và Flash.
Google TV cũng sẽ cho phép bạn chạy các ứng dụng Android (bao gồm cả AIR) trên TV của bạn.
Trình duyệt này hỗ trợ Flash Player 10,1 để bạn có thể xem tất cả các trang web video yêu thích trên TV của bạn.

-HTC Evo-4G For All
Google giới thiệu HTC EVO điện thoại Android mạnh mẽ nhất hiện này sẽ chạy HDH Android 2.1 và sẽ được nâng cấp lên Froyo trong vòng vài tháng tới, sẽ hoàn toàn support Flash 10.1 và AIR 2.

Nguồn FLASH BLOG


Gzip encoding và Adobe AIR

22/05/2010 Leave a comment
Gzip là gì:

Gzip nói một cách đơn giản, nôm na, hay “túm quần” lại nó chỉ là 1 chuẩn nén theo một thuật toán của ông bác học nào đó tìm ra, mục đích là làm giảm kích thướt của dữ liệu để tăng tốc độ đường truyền hay tiết kiệm không gian lưu trữ. Hiểu tới đây cũng đủ xài rồi. Còn muốn nhức đầu thêm chút thì chúng ta cùng nói sơ về nén và gzip bên dưới:

Có thể phân chia thuật toán nén theo 2 dạng: nén bảo tồn và nén thất thoát (Lossless và lossy compression)
Nén bảo tồn (lossless compression): cho phép dữ liệu nén có thể được khôi phục chính xác dữ liệu gốc. Thuật toàn này thường được dùng cho các chuẩn nén winrar, winzip, gzip…
Nén thất thoát (lossy compression): trong quá trình nén dữ liệu gốc có thể bị thất thoát 1 phần để cho ra dữ liệu nén và dữ liệu nén không có khả năng khôi phục chính xác dữ liệu gốc, nhưng chất lượng dữ liệu nén có thể tương tự, gần giống dữ liệu gốc, đủ để có ích trong một số trường hợp. Có lẽ nghe thì hơi vô lý (có ai muốn mình bị mất mát gì đâu kà :D) nhưng nén thất thóat được sử dụng rất nhiều xung quanh ta, nhất là trong lĩnh vực media như mp3, video, hình ảnh.
Với mp3 ta có thể nén thất thoát nó bằng cách giảm bitrate của nó xuống 192, 128, 64 hoặc 32 kbps, chất lượng có thể giảm nhưng tai người khó có thể phân biệt được khi dùng thiết bị âm thanh phổ thông.
Với video nén thất thóat có thể làm giảm độ phân giải (width, height), chất lượng hình ảnh, âm thanh của video.
Với hình ảnh ta có thể nén JPG, JPEG … để giảm kích thướt, chất lượng màu, độ nét từ ảnh gốc.

Gzip là một trong những chuẩn nén sử dụng thuật toán nén bảo tồn (lossless compression), có tên là Deflate, đây là thuật toàn kết hợp giữa thuật toán LZ77 (được Abraham Lempel và Jacob Ziv tìm ra năm 1977) và Huffman coding.
LZ77, xuất phát từ ý tưởng: dựa trên việc thay thế 1 cụm kí tự bằng một con trỏ, trỏ đến vị trí xuất hiện trước đó của cụm kí tự.
Huffman coding, dựa vào mô hình thống kê, tính tần suất xuất hiện của các ký tự, rồi gán cho các ký tự có tần suất cao một từ mã ngắn, các ký tự tần suất thấp từ mã dài. Phương pháp này phải lưu giữ lại bảng mã gắn kèm cùng với dữ liệu nén.

Gzip và AIR:

Ngày nay gzip được sử dụng rất nhiều, đặc biệt là một tính năng tăng tốc độ trao đổi dữ liệu được config trên server, để nén dữ liệu trả về client giúp cho việc truy cập được thực hiện nhanh chóng.

Một cách thông thường để giảm kích thước của dữ liệu trả về trên HTTP là cho phép máy chủ sử dụng gzip. Khi một request được gởi đi từ  một ứng dụng Flash Flex trên web browser, thì chính  browser này mới uncompresses dữ liệu, sau đó mới chuyển giao cho flash player.  Chính vì vậy mà với code actionscript 2 có trường hợp Flash Player trên firefox hiểu được gzip response, nhưng 1 số flash player trên browser khác thì không hiểu được (do cơ chế truyền dữ liệu gzip giữa browser và flash player). Đây cũng từng là một bug ID trên bug tracker của Adobe  http://bugs.adobe.com/jira/browse/FP-330

Đối với actionscript 3, Flash/Flex developer không cần phải lo lắng về việc nén hay giải nén gzip, tất cả đều được server và browser làm hết, flash player sẽ nhận được kết quả sau cùng đã giải nén.

Tuy nhiên, khi viết một ứng dụng trong AIR, không có sự giúp sức của trình duyệt để giải nén gzip và AIR 1,0 không có built-in tính năng giải nén gzip này.

Để giải quyết điều này ta buộc lòng phải giải nén gzip response bằng thuật giải Deflate như đã nói ở trên. (Hy vọng Adobe sẽ thêm tính năng này trong version AIR 2, nếu ko may tính năng này vẫn chưa có, thì đối với các ứng dụng di động ta cũng phải tự làm việc giải mã gzip )

Để lấy được dữ liệu nén trong HTTP response của server, trước tiên ta phải loại bỏ các header.
Để loại bỏ các header trong HTTP response ta sẽ sử dụng một thư viện nguồn mở của Paul Robertson: http://code.google.com/p/ascompress/ và giải nén gzip theo giải thuật Deflate (actionscript 3 có hỗ trợ sẵn) ByteArray.uncompress(CompressionAlgorithm.DEFLATE); (xem step 3)

Step 1: import thư viện của Robertson


import com.probertson.utils.GZIPEncoder;
import com.probertson.utils.GZIPFile;

Step 2: Lấy dữ liệu nén từ server (lưu ý phải lấy dữ liệu theo dạng binary)

var request:URLRequest = new URLRequest();
request.url = "YOUR_URL_SERVICE";
request.method = URLRequestMethod.POST;
request.contentType = "text/xml; charset=utf-8";
request.requestHeaders.push(new URLRequestHeader("Accept-Encoding", "gzip"));

var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.BINARY;
loader.addEventListener(Event.COMPLETE, completeLoadHandler, false, 0, true);
loader.load(request);

Step 3: Bắt sự kiện load dữ liệu thành công

private function completeLoadHandler(event:Event) {
var data:ByteArray = URLLoader(event.target).data as ByteArray;
. . . .

Step 4: Loại bỏ các header chỉ lấy dữ liệu nén trong cục binary mới nhận đc :p

var encoderGzip:GZIPEncoder = new GZIPEncoder();
var gzipData:GZIPFile = encoderGzip.parseGZIPData(data);

Step 5: Giải nén lấy dữ liệu dạng xml cần thiết.

var uncompressedData:ByteArray = gzipData.getCompressedData();
uncompressedData.uncompress(CompressionAlgorithm.DEFLATE);
var dataXML:XML = new XML(uncompressedData.toString());

Ngoài ra khi chúng ta muốn viết một chương trình nén và giải nén file theo chuẩn Gzip bằng AIR, chúng ta cũng có thể dùng thư viện của Robertson http://probertson.com/projects/gzipencoder/

HTC EVO hands-on (from slashgear.com)

22/05/2010 Leave a comment

HTC EVO Gallery
[nggallery id=1]

HTC EVO 4G first-impressions when unboxing video

HTC EVO 4G hands-on

Categories: Android Tags: , ,