Thứ Ba, 29 tháng 9, 2015

iOS9 - Một số điểm mới khi phát triển và upload lên AppStore

iOS9 đã được chính thức phát hành, và như thường lệ, rất nhiều người dùng đã nâng cấp phần mềm cho chiếc iPhone của mình. Lúc này cũng là lúc mà các lập trình viên phải vất vả để nâng cấp app của mình sao cho tương thích với iOS9. Dưới đây là một số điểm mới cần chú ý khi phát triển app cũng như là khi upload app lên AppStore.


Lỗi xuất hiện do thay đổi của iOS9


App Transport Security Policy Error

Failed to load resource: The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.

Apple đã siết chặt thêm tính bảo mật ở iOS 9, và họ ngăn chặn các kết nối không an toàn. Điều này là rất tốt, nhưng nếu bạn, có cần có những kết nối không an toàn này trong app, thì bạn phải làm thêm một số bước trick để tạm vượt qua được hạn chế này bằng cách add đoạn code bên dưới vào trong file AppName-info.plist.


<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key><true>
</true></dict>


-canOpenURL: failed for URL


-canOpenURL: failed for URL: "://" - error: "This app is not allowed to query for scheme "
-canOpenURL: failed for URL: "about:blank" - error: "This app is not allowed to query for scheme about"



App của bạn có nhúng webview, và trong webview đó có thực hiện thao tác để mở một trang web? App của bạn sử dụng custom URL?
Thế thì khả năng cao bạn sẽ dính phải lỗi này.
Nguyên do là Apple đã thay đổi cách hoạt động của API canOpenURL trong iOS 9 bằng cách thêm 1 khoá là LSApplicationQueriesSchemes được cài đặt trong file Info.plist.

Giải pháp là bạn cần phải đặt URL Scheme vào danh sách Whitelist mà app có thể mở được.

Mở file Info.plist bằng Source Code view và thêm các schemes cần thiết cho app vào ví dụ:


<key>LSApplicationQueriesSchemes</key>
<array>
<string>twitter</string>
<string>whatsapp</string>
<string>fb</string>
</array>


Các thư viện của bên thứ 3 bị lỗi


Nếu app của bạn dùng thư viện 3rd party, bạn cũng cần check lại cẩn thận vì có thể một số hàm hoặc Categories trong các thư viện đó bị lỗi khi build bằng XCode 7 hoặc chạy trên iOS9.
Ví dụ JSONKit,...


Bàn phím ảo mới



Apple đã cải tiến lại bàn phím ảo cho iOS 9 mà họ gọi là "best keyboard yet" (chưa bao giờ tuyệt vời như thế) kế thừa các tính năng từ iOS 8 QuickType.

Bạn có thể đã gặp phải trường hợp khi mình gõ sai text, sau đó bạn phải nhấn và giữ ngón tay trên 1 con chuột hình thanh dọc nhấp nháy nhỏ xíu để di chuyển nó đến chỗ sai khi sửa đổi.
Con trỏ (cursor) khi edit text bây giờ có thể điều khiển 1 cách dễ dàng bằng cơ chế trượt 2 ngón tay trên bàn phím ảo. Với cải tiến này, iPad QuickType keyboard biến thành 1 trackpad như là trên các máy Mac. Với cải tiến đáng giá này, bạn sẽ dễ dàng hơn rất rất nhiều trong việc di chuyển con trỏ tiến lui lên xuống đến vị trí mong muốn khi edit text.


Hơn thế nữa, iOS 9 bây giờ cũng hỗ trợ các shortcuts để nếu bạn có sử dụng bàn phím wireless thì bạn cũng thực hiện các thao tác được nhanh và dễ dàng hơn thông qua built-in shortcut keys. Nhấn giữ các nút Command, Options hoặc Control sẽ hiển thị ra danh sách các shortcut.

Và là lập trình viên, bạn cũng cần biết được điều này để update app của mình sao cho tiện lợi cho người dùng nhất.


New San Francisco Font


Đây có lẽ là phần đau đầu nhất đối với việc update app. Có lẽ bạn đã quen với việc set các text or label của mình bằng font mặc định. Ở iOS8 trở về trước, HelveticaNeue là FontFamily cho system. Font HelveticaNeue được nhận định là không thích hợp cho các thiết bị có màn hình nhỏ như Apple Watch, do khi hiển thị các text có size nhỏ thì font này có thể làm cho text bị nhoè, khó đọc.
Do đó Apple đã quyết định thiết kế bộ Font mới là San Francisco cho iOS9 làm font system mặc định.
Điều này sẽ gây ra việc các label, button, có thể bị nhảy size do kích cỡ text cần hiển thị bị thay đổi. Nhất là đối với những app sử dụng cách tính size của text dựa trên font, hoặc không sử dụng Autolayout khi code giao diện, bạn sẽ nhanh chóng phải sửa lỗi này.


Swift2 được ra mắt

Nếu app của bạn được code bằng Swift thì Apple đã nâng cấp Swift lên phiên bản 2. Bạn có thể kiểm tra lại để nâng cấp app của mình.

Tham khảo

Ngoài những điểm hay gặp ở trên, Apple cũng cho biết các điểm thay đổi mà developer cần chú ý gồm:

  • OCR accessory setup
  • Search extensibility
  • Audio unit extension
  • VPN plug-in extension
  • Swift 2
  • Map customization
  • Direct document
  • UI testing in Xcode
  • Notification actions
  • Third party notifications
  • Sensor profile
  • App thinning
  • Motorized windows profile
  • New Health data types
  • Flyover and Walkthrough
  • Code Coverage
  • Gaming APIs
  • Layout guide
  • Shortcut bar
  • Automated shades profile
  • Object-oriented Contacts
  • New HomeKit profiles
  • iCloud open in place
  • Home security profile
  • Storyboard references
  • App transport security API
  • Stack view
  • Wireless CarPlay
  • HomeKit iCloud remote access

Một số chi tiết thay đổi khác bạn có thể tham khảo thêm ở đây: https://developer.apple.com/library/prerelease/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS9.html#//apple_ref/doc/uid/TP40016198-SW1



Upload lên AppStore


Kết nối account itunesconnect vào XCode 7

Apple đã có một số thay đổi ở bản XCode7 so với bản cũ. Khi build và sign app của mình, bạn phải kết nối account itunesconnect vào mục XCode > Settings > Accounts. Nếu bạn là personal, ko sử dụng account team, có thể bạn không cần quan tâm do khi đó account itunesconnect và account developer của bạn sử dụng chung email. Tuy nhiên, khi bạn làm team, account itunesconnect có thể bị khác với account developer, lúc đó bạn sẽ phải làm thêm việc này.


Gặp lỗi khi upload: Invalid Bundle. iPad Multitasking support requires launch story board in bundle



Như bạn đã biết là Apple release iOS9, và trong cùng sự kiện đó là ra mắt iPad Pro. Và đây là cài đặt dành riêng cho iPad Pro, giúp thiết bị này nhận biết và xử lý khi app của bạn có sử dụng tính năng split-view/multitasking.

Bạn sẽ gặp lỗi này nếu app của bạn không chỉ ra cách mà iPad sẽ xử lý như nào để support multitask.

Một số nguyên nhân có thể là: Không sử dụng Storyboard để gán Launch screen; nhất là app của bạn sử dụng tính năng split screen. Nếu app của bạn không support multitasking, để khắc phục, bạn chỉ cần đơn giản check vào 'Requires full screen' trong tab General Options của target trong Xcode.

Thứ Năm, 10 tháng 9, 2015

Mac OS X - Chia sẻ một số APP hữu ích mà bạn nên có - Part 1


Sau thời gian dài sử dụng Mac OS X cho công việc (developer) cũng như là cho giải trí, tôi cũng rút ra được danh sách 1 số các app có cả free, cả có fee (hầu hết là FREE) mà luôn sử dụng một cách tiện lợi cho Mac OS X. Nhân đây cùng chia sẻ với các bạn.

1. Các app về hệ thống


Các apps về hệ thống có thể là plugin có thể là app độc lập, nhằm giúp cho bạn sử dụng các thành phần có sẵn trong Mac OS X được nhanh gọn, thuận tiện hơn.

1.1 XtraFinder

Đây là một app miễn phí do Trần Kỳ Nam phát triển. Nó mang lại rất nhiều tính năng gắn vào tool Finder quen thuộc, mà bạn sẽ rất cần có trên Mac OS X. Thật tuyệt vời khi app này là của một người Việt viết ra. Với app nhỏ này, các tính năng mới sau đây được thêm vào:

• Tabs & Dual Panel.
• Arrange folders on top. - Sắp xếp folder lên trên các files.
• Cut & Paste. Copy queue. - Thêm tính năng Cut & Paste vào Finder.
• Global hotkeys. - Cho phép cài đặt 1 số phím nóng (phím tắt) để làm một tác vụ gì đó.
• "Copy Path", "Show Hidden Items", "Hide Desktop", "Refresh", "New File", "Copy to", "Move to", "New Terminal Here", "Make Symbolic Link", "Contents", "Attributes", … . Thêm các tính năng mới như: Copy đường dẫn của thư mục, file; Hiển thị các thứ đã bị ẩn đi; Refresh; Copy to; Tạo symbolic link;... quá hữu ích
• Legacy label for OSX 10.9 & 10.10. Light text on dark background. Transparent window.
• Colorful icons in Sidebar.
• Size of selected items in Status Bar. - Hiển thị file size ở status bar.
• Automatically adjust width of columns. - Tự động điều chỉnh bề rộng của các cột nếu duyệt file theo layout cột.
• Press Enter or Return to open selection. - Thay đổi tính năng của nút Return (Enter) thay vì đổi tên thành mở file đã chọn.
• Display folder item count in List view. - Hiển thị số items con có trong 1 thư mục.
• Middle-click to open folder in new window or new tab. - Nhấn vào nút giữa (con lăn) của chuột ngoài để mở Folder ở cửa sổ mới hoặc tab mới.
• Much more.

Bạn có thể nhanh chóng tải bản cài đặt "chính chủ" cũng như là tìm hiểu thêm ở website của anh ấy tại đây: http://www.trankynam.com/xtrafinder/


Thêm một lựa chọn khác: Nếu bạn có điều kiện và sẵn sàng chi tiền, hãy thử phần mềm Path Finder.

1.2 Lịch trên menu bar

Một phần mềm cực kỳ nhanh gọn nhẹ cho bạn để thay thế cho calendar của Apple trên menu bar, phần mềm khá nổi tiếng, đó là Itsycal for Mac. Bạn có thể download free (open source) ở đây:
https://www.mowglii.com/itsycal/



Một phần mềm quá nhẹ và tiện dụng cho nhu cầu của mình. Và suggest bạn đây là một phần mềm cần có và nên cài vào mày của mình để xài nhé.



Update: App Day-O hiện không còn được phát triển nữa.


Đây vốn là 1 ứng dụng cực kỳ đơn giản dùng để thay thế cho cái lịch còn đơn giản hơn nữa của Apple có sẵn ở trên status bar. Chức năng đơn thuần của nó là hiển thị 1 bộ lịch đầy đủ, và không kết nối đến iCal, hoặc Reminder nào khác. Và do đó dung lượng bộ nhớ khi chạy thường trực của nó cũng rất chi là nhỏ: 11MB. Bạn có thể download ở đây: http://shauninman.com/assets/downloads/Day-O.zip

Nếu bạn muốn một ứng dụng tương tự, nhưng bóng bẩy hơn, có tích hợp với iCal & Reminder, bạn nên sử dụng app Calendar, bù lại app này cũng tốn bộ nhớ hơn, khoảng 100MB.



1.3 Plugin QuickLook cho Finder


Trong Mac OS X có chức năng khá hay với Finder, khi bạn focus vào một file/folder, nếu nhấn phím cách (space) bạn sẽ có một cửa sổ dạng popup nhảy ra gọi là Quicklook giúp ta có thể xem nhanh nội dung hoặc thông tin. Và có rất nhiều plugins có các chức năng khác nhau giúp ta view trước được nhiều loại files khác nhau.

Các file plugin cho QuickLook này được cài đặt rất dễ dàng bằng cách copy file XXX..qlgenerator vào thư mục ~/Library/QuickLook/ (hoặc thư mục /Library/QuickLook/) là được.
Sau khi copy, nếu plugin không tự khởi động và được apply ngay, hãy mở terminal và gõ vào dòng lệnh: qlmanage -r


QuickLook JSON

Bạn là developer thì chắc hẳn là không thể thiếu được plugin này rồi: http://www.sagtau.com/quicklookjson.html
Plugin này giúp bạn xem nhanh được file JSON một cách có format đẹp và rõ ràng.



QLStephen để view text file

Đôi khi có những file README, và bạn ko cần thiết phải run TextEdit lên chỉ để đọc nó, bạn hãy dùng plugin QLStephen này.
Nó giúp bạn xem nhanh được nội dung của các textfile thường gặp như: README INSTALL CHANGELOG Makefile Rakefile CapFile


QLMarkdown để xem nhanh nội dung các file .md

Đây là plugin giúp bạn xem nhanh nội dung file .md ở dạng đã compile một cách đẹp đẽ, chứ không còn là nội dung text nữa QLMarkdown này.


IMLTotalImagesQL Xem nhanh info của file image

Đây là plugin giúp bạn xem được một số info của file ảnh: size width x height; kích thước file. Bạn có thể download ở đây: IMLTotalImagesQL này.


IMLTotalImagesQL Xem nhanh info của file image

Đây là plugin giúp bạn xem được một số info của file ảnh: size width x height; kích thước file. Bạn có thể download ở đây: IMLTotalImagesQL này.


BetterZipQL Xem nhanh nội dung file zip

Plugin giúp bạn xem trước được nội dung các loại file: ZIP, RAR, 7-Zip, TAR, TGZ, TBZ, TXZ, GZip, BZip2, ARJ, LZH, ISO, CHM, CAB, CPIO, DEB, RPM, StuffIt's SIT, BinHex, MacBinary, Apple Disk Images (DMG) và winmail.dat! Bạn có thể download ở đây: BetterZipQL , hoặc ở trang gốc (bây giờ plugin này đươc tích hợp vào app BetterZip): http://macitbetter.com/BetterZip-Quick-Look-Generator/.



Note: Ngoài ra còn có 1 kho các plugin khác cho bạn cần tìm hiểu và sử dụng thêm nếu muốn ở đây: http://www.quicklookplugins.com


1.4 Color Picker plugins


Bạn là (web) developer tôi chắc chắn rằng bạn sẽ thấy tiện lợi hơn nhiều lần sau khi bạn đã cài những plugin được tôi chia sẻ ở đây: https://drive.google.com/open?id=0B1A6O4kvkB1UNGhZLU9FbG1uVVE

Tương tự với cách cài đặt QuickLook plugin ở trên, bạn cài plugin cho color picker vào thư mục: ~/Library/ColorPickers (hoặc /Library/ColorPickers)

Thứ Hai, 17 tháng 8, 2015

[HOT] Microsoft Office 2016 UPDATE v15.13.1 Final Full Activated For Mac OS X

Vào tuần trước, Microsoft đã cung cấp bản cập nhật cho Microsoft Office 2016 for Mac OS X, v15.13.1. Với bản mới này, biện pháp activate lậu đã bị disable.
Cho đến hôm nay, cộng đồng đã nhận được bản chia sẻ mới giúp những ai chưa có điều kiện được xài "thử miễn phí" đến khi có điều kiện mua bản quyền chính thức từ Microsoft.



Nếu bạn chưa dùng thì có đôi lời giới thiệu về Microsoft Office 2016 for Mac như dưới đây:

Office 2016 cho Mac tập trung phần lớn vào việc cải tiến giao diện cho phù hợp với các phiên bản OS X mới, hỗ trợ màn hình retina, thao tác bàn rê chuột multi-touch cũng như kết nối đến các dịch vụ đám mây của Microsoft.

Trong đó, tính năng thể hiện rõ nhất điều này là nhiều người dùng sử dụng Office for Mac 2016 có thể làm việc cộng tác trên một tài liệu theo thời gian thực, trên những nền tảng khác nhau bao gồm Mac, iPad và PC. Bộ ứng dụng này gồm các tiện ích Word, Excel, PowerPoint, Outlook và OneNote.

Các công cụ trong bộ Office for Mac mới đều được Microsoft chăm chút cả về giao diện lẫn tính năng. Ứng dụng soạn thảo văn bản Word được thiết kế lại bố cục với các công cụ gom về một mối và sắp xếp dưới dạng thẻ (tab). Ứng dụng tạo trình chiếu PowerPoint tích hợp chế độ trình chiếu mới, đa năng và đẹp mắt hơn.

Tiện ích tạo bảng tính Excel hỗ trợ nhiều tính năng, cụm phím tắt mới giúp thao tác nhanh hơn. Chức năng mới PivotTable Slicer trên Excel cho phép đặt thuộc tính cho các dữ liệu nhanh hơn so với cách thủ công. Công cụ quản lý thư điện tử Outlook for Mac hỗ trợ chức năng push mail tốt hơn, giao diện hiển thị các nhóm email trực quan và xem trước nội dung nhanh hơn.


Còn đây là cách để activate lậu phiên bản v15.13.1 - How to activate Office 2016 for Mac v15.13.1


  1. Download activate tool here - Tải công cụ hỗ trợ active về ở đây.
  2. Extract downloaded file "Patch Office 15.3.1 [fix].zip", you got new file named "Patch Office 15.3.1 v1.3.pkg" - Giải nén file download được file mới.
  3. Quit all of Office Applications (Outlook, Word, Excel, OneNote) - Quit tất cả các ứng dụng Office mà đang chạy
  4. Run extracted file - Chạy file "Patch Office 15.3.1 v1.3.pkg" đã xả nén được ở trên
  5. Enter your Mac Login password when prompted - Nhập vào mật khẩu sử dụng để login vào máy Mac khi được yêu cầu và chọn Enter.
  6. Wait to complete activate process and Done - Chờ đợi tool cài đặt xong và Office v15.13.1 đã được activated.
Note: 
 - At step 5, you may noticed that Apple has been prevented unidentify developer app to run. So you must go to Settings > Security & Privacy tab, then click to Open Anyway button to run patch tool.
- Ở bước thứ 5, bạn có thể nhận được một thông báo là Apple đã block activate tool không cho chạy, bạn cần phải vào Settings > Security & Privacy tab, sau đó nhấn vào nút Open Anyway để có thể chạy nó.

- If at first activate run time, some apps not activated, you may run activate tool again.
- Nếu activate lần đầu mà vẫn chưa được, bạn lặp lại các bước trên để chạy activate tool thêm lần nữa.



Thứ Sáu, 29 tháng 5, 2015

Google Photos - Ứng dụng và dịch vụ mới của Google từ IO 2015

Trong buổi thuyết trình ngày 28/5/2015 tại Google IO 2015, Google cũng giới thiệu dịch vụ Photos mới của mình.
Dịch vụ này được tách từ Google+ Photos ra thành một sản phẩm độc lập. Đồng thời Google bổ sung thêm nhiều tính năng mới để giúp việc sử dụng nó trở nên dễ dàng hơn. Đầu tiên là khả năng tìm kiếm và phân loại ảnh thông minh mà không cần bạn phải đánh tag hay đổi tên gì cả, kế tiếp là những cử chỉ mới để việc duyệt ảnh trở nên tiện lợi hơn trên app Photos mới (có cho Android, iOS và nền web). Nhưng điểm đáng chú ý nhất đó là Photos cho phép chúng ta lưu file ảnh độ phân giải cao đến 16MP và video 1080p mà không phải tốn đồng xu nào cả. Ứng dụng Photos đã có thể tải về ngay từ bây giờ.


Tải về:


1. Lưu ảnh/video độ phân giải cao không giới hạn


Với mục tiêu trở thành một khu vực lưu trữ và tổng hợp nội dung đa phương tiện cho người dùng, Google Photos cho phép chúng ta lưu ảnh và video lên đây mà không có bất kì sự giới hạn nào về dung lượng hay số lượng tập tin cả. Thứ duy nhất mà Photos hạn chế độ là độ phân giải: với ảnh là tối đa 16MP, còn với video là tối đa Full-HD. Tuy nhiên chỉ với hai độ phân giải này thì cũng đã dư dùng cho đa số chúng ta rồi. Google hứa hẹn sẽ nói thêm về không gian lưu trữ trên Photos trong thời gian tới.


2. Tìm kiếm, phân loại thông minh


Trong bài thuyết trình của mình, Google có trình diễn những tính năng thông minh này bằng một số ví dụ sau:

  • Gõ chữ "bão tuyết ở thành phố X", Photos tự động tìm các ảnh nào chụp trong khoảng thời gian thành phố X bị bão tuyết. Tương tự cho việc tìm kiếm các ảnh nào có xe, có chó, có đồng hồ... hiện diện
  • Tự động nhận biết gương mặt có trong ảnh, sau đó liệt kê và tìm kiếm các ảnh khác có gương mặt của người đó xuất hiện, và tất nhiên là không cần sự can thiệp nào từ người dùng một cách thủ công.
  • Hỗ trợ sắp xếp ảnh thông minh theo ngày giờ, sự kiện chụp
  • Tự động tinh chỉnh, áp dụng hiệu ứng (bao gồm cả HDR) cho ảnh
  • Tự động tạo các đoạn video vui vẻ bằng cách ghép nhiều ảnh hoặc video clip lại với nhau. Điều này khá giống tính năng Auto Awesome của Google+ Photos, có điều trong Photos thì tính năng này đổi tên thành Assistant. Cũng từ Assistant bạn có thể ghép ảnh theo kiểu collage, tạo câu chuyện ảnh... giống trên Google+.


​

3. Các cử chỉ duyệt ảnh mới


  • Với ứng dụng Photos trên Android và iOS, bạn có thể dùng một số cử chỉ cảm ứng sau để việc duyệt ảnh trở nên tiện và nhanh hơn:
  • Vuốt hai ngón tay vào trong (zoom out) để chuyển giữa chế độ xem ảnh chụp theo tuần, tháng hoặc năm
  • Vuốt hai ngón tay ra ngoài (zoom in) để làm điều ngược lại
  • Khi đang xem một ảnh nào đó, dùng một ngón tay vuốt lên để thu nhỏ ảnh và quay trở lại giao diện trước
  • Có thể chọn cùng lúc nhiều ảnh bằng cách nhấn giữ ngón tay rồi quét trên màn hình, giống như cách xài chuột để chọn nhiều file trên máy tính. Không cần nhấn chọn từng tấm một như trước nữa.


​

4. Chia sẻ nhanh


Dù bạn đang xem từng tấm ảnh lẻ hay đang coi một album cả trăm tấm thì Photos vẫn hỗ trợ chia sẻ cực kì nhanh chóng. Bạn chỉ việc nhấn một hai thao tác lên màn hình là đường link dẫn đến ảnh/album sẽ được tạo ra. Bạn có thể gửi đường link này cho bạn bè hay người thân xem, và người được chia sẻ không cần phải đăng nhập hay làm thêm chuyện gì phức tạp. Họ chỉ việc mở link đó bằng trình duyệt là đã có thể bắt đầu thưởng thức ảnh/video độ phân giải cao.

​

Bài viết được tổng hợp và trích dẫn từ: TinhTế và Google Photos Blog.

Android M DP và ADT mới - Chi tiết những điểm được giới thiệu ở Google IO 2015

Tại Google IO ngày thứ nhất, 28/5/2015 vừa qua, thế hệ tiếp theo của hệ điều hành Android đã ra mắt bản Android M preview cho các lập trình viên. Tên chính thức hiện tại là Android M, và theo truyền thống các loại bánh kẹo, chữ M này có thể đại diện cho Milk Shake (hỗn hợp xay nhuyễn giữa kem và sữa tươi), Marshmallow,...


Các lập trình viên có thể truy cập vào trang giới thiệu của Google để xem chi tiết hơn: http://developer.android.com/preview/index.html
Android M đã được phát hành cho các thiết bị Nexus 5,6, và 9. Nếu bạn có các thiết bị trên có thể download về để tham khảo trước.
Link download:
Android M – Nexus 5
Android M – Nexus 6
Android M – Nexus 9

Cách để flash bản Rom mới nhất này có thể tạm thời tham khảo ở bài viết hướng dẫn này, cách làm tương tự: http://www.gottabemobile.com/2015/05/26/how-to-install-android-5-1-1-lollipop-on-the-nexus-6/

Trong bài viết này, cùng điểm nhanh qua một số phần mới được cải tiến và giới thiệu ở Android M.

Cải tiến các thành phần cơ bản

Trong bản release M, các thành phần core liên quan đến trải nghiệm người dùng được tập trung để cải tiến tốt hơn, sữa hàng nghìn bugs được phát hiện, đồng thời cũng đưa vào nhiều thay đổi lớn đến các thành phần core của platform như:

Permissions - Phân quyền

Cải tiến để người dùng có thể tự điều khiển phân quyền. Apps có thể sẽ request đến quyền tương ứng vào thời điểm hoạt động, trong một context ngữ cảnh cụ thể. Cách làm này có thể là nói giống với iOS đang làm. Ví dụ, apps muốn khởi động camera để chụp ảnh, khi đó hệ thống sẽ đưa ra request và người dùng hoàn toàn có quyền quyết định cho phép app có được khởi động camera không. Đồng thời, người dùng cũng có một công cụ để quản lý những quyền mà họ đã cấp cho các apps trong phần Settings. Nếu bạn là một developer, ở Android M, bạn nên thiết kế app của mình làm sao để hiển thị yêu cầu người dùng cấp quyền cho app của mình được làm gì đó, tuỳ vào ngữ cảnh. Đây cũng là một phần quan trọng developer cần test kỹ tránh xảy ra lỗi apps khi người dùng từ chối cấp quyền.


App links - Liên kết với app

Bản M này cũng được cải tiến để các apps có thể liên kết với nhau dễ dàng hơn. Theo truyền thống, Android cho phép các apps có thể tự đăng ký xử lý các URLs nào đó. Bây giờ, developer có thể thêm thuộc tính "autoVerify" vào phần AppManifest, nhờ đó người dùng có thể liên kết sâu hơn với apps của bạn, mà không cần phải nhảy ra popup promt như trước kia. App links, kèm theo đó là App Indexing cho Google Search, làm cho người dùng dễ dàng khám phá, sử dụng quen app của bạn.

Battery Quản lý Pin và Năng lượng

Bản M này cũng cải thiện khả năng quản lý năng lượng thông minh hơn, thông qua tính năng gọi là Doze. Android M dựa vào việc nhận dạng các cử chỉ chuyển động của thiết bị để biết được thiết bị đang không được sử dụng. Trong trạng thái đó, Android sẽ tự điều chỉnh lại các hoạt động chạy ngầm để giữ được thời lượng pin lâu hơn. Ví dụ, bạn đang xây dựng một ứng dụng chat, khi đó bạn sẽ cần phân loại message có độ ưu tiên cao, để app được phép đánh thức device khi đang trong trạng thái Dozing.


Mở rộng tính năng trợ lý và thanh toán Payments

Android M cũng được vui mừng thông báo một số tính năng mới:

Now on tap - Google Now trên một cú chạm

Đây là tính năng mới để giúp cho người dùng Android được dễ dàng hơn, biến thiết bị Android thành một trợ lý ngay khi cần. Ví dụ, nếu có một người bạn nhắn tin rủ bạn đi ăn tối ở một nhà hàng mới, bạn không cần phải rời khỏi ứng dụng xem tin nhắn / chat để search, mà bạn có thể khởi động Google Now ngay để được trợ giúp. Vào lúc đó Google Now sẽ tự động nhận biết được context ngữ cảnh của cuộc nói chuyện, tự động tìm kiếm thực đơn, reviews của nhà hàng đó, thậm chí có thể giúp bạn đặt bàn luôn, dẫn đường bạn đến đó, và có thể kết hợp với các app ẩm thực có liên quan. Với các developer, bạn có thể cài đặt App Indexing để Google search có thể làm việc với app của bạn, nhờ đó người dùng có thể gọi ngay chính app của bạn thông qua Now on Tap.



Android Pay & Fingerprint

- Android đã build một hệ thống thanh toán dựa vào Near Field Communications (NFC - Giao tiếp trường gần) có từ bản Gingerbread, và bộ Host Card Emulation ở Kitkat để phát triển nên Android Pay. Android Pay sẽ cho phép các thiết bị android có thể đơn giản, và an toàn sử dụng thiết bị android của mình để thanh toán trong các cửa hàng store, hoặc thanh toán với hàng ngàn partner khác liên kết với Android Pay như McDonal, ...

- Với bản M, chức năng quét vân tay cũng được cung cấp sẵn luôn, và nhờ đó cũng cải thiện Android Pay, giúp người dùng xác thực thanh toán bằng cách quẹt vân tay của mình. Hơn thế nữa, chức năng quẹt vân tay còn dùng để mở khoá thiết bị, thanh toán trên cửa hàng play Google Play. Với các APIs mới ở M, các developer sẽ dễ dàng thực hiện việc xác thực ở trong app của mình thông qua việc quẹt vân tay, và như vậy, nó cũng sẽ tạo thành một hệ thống làm việc đồng nhất với nhiều thiết bị, tận dụng được hết các cảm biến censor có trên thiết bị.

Android Developer Tools

Đồng thời với Android M, SDK mới, thì Google cũng phát hành bản cập nhật cho các công cụ hỗ trợ lập trình Android tools.


Android Studio v1.3 Preview

Để giúp cho developer nhanh chóng nắm bắt được những công nghệ và tính năng mới của Android M, bản mới của Android Studio cũng được phát hành. Trong đó có khá nhiều tính năng đáng giá mới liên quan đến Android NDK & phát triển game: edit code và debugging với C/C++. Dựa trên nền tảng JetBrains Clion, Android Studio NDK plugin cũng cung cấp các tính năng như: refactoring và code completion cho C/C++ bên cạnh Java code. Java & C/C++ cùng được hỗ trợ và tiéch hợp trong một môi trường phát triển mà bạn không phải tốn công thử nghiệm lại tool khác. Nếu bạn là developers, hãy update bản Android Studio v1.3 mới này qua kênh thử nghiệm Canary.


Android Design Support Library

Bộ thư viện Android Design Suppor Library mới được phát hành để giúp cho việc thiết kế app theo phong cách Material ngày càng dễ hơn. Google đóng gói sẵn một bộ các thành phần chủ yếu (ví dụ: nút trôi nổi floating action button, snackbar, navigation view, motion enabled Toolbars) có thể tương tích ngược với các API v7, khiến cho app của bạn có một giao diện hiện đại, tuyệt đẹp mà không phải tự develop mọi thứ từ đầu.

Google Play Services v7.5

Bản phát hành mới này bao gồm một số tính năng như Smart Lock for Passwords, hàm APIs mới cho Google Cloud Messaging và Google Cast, Google Maps API trên các thiết bị chạy Android Wear.


Làm quen với những tính năng trên

Để có thể tiếp cận với những điểm mới trên, Google đã cung cấp các tài nguyên cần thiết đầy đủ cho chúng ta rồi. Nếu bạn không có các thiết bị Nexus 5, 6, 9, thì bạn có thể update bộ Android SDK của mình, bạn có thể chạy thông qua Simulator. Một số bước cần làm:


  1. Update lên Android Studio v1.3+ Preview
  2. Truy cập vào trang của Android M Developer Preview để tải tài nguyên vào tài liệu về.
  3. Nghiên cứu các hàm APIs mới & các thay đổi ở App Permission
  4. Nghiên cứu Android Design Support Library & Google Play Services APIs
  5. Chạy emulator bằng bộ công cụ SDK Manager hoặc cài đặt Android M vào thiết bị Nexus của mình (Link download ở đầu bài viết).
  6. Kiểm tra các app của bạn trên emulator hoặc trên máy Nexus đã update
  7. Cung cấp các phản hồi của bạn để Google có thể cải tiến Android M tốt hơn nữa

Sự kiện Google IO 2015 đang diễn ra

Google I/O diễn ra trong 2 ngày thuyết trình liên tục, và là cơ hội lắng nghe, mắt thấy về những sản phẩm mới nhất của Google. Sự kiện này được tổ chức thường niên bởi Google tại Mỹ.
Hôm nay, sự kiện Google IO 2015 đang được diễn ra San Francisco, USA. Nội dung chính đã giới thiệu gồm có:


Giới thiệu Android M

Google chính thức giới thiệu Android M Developer Preview với nhiều cải tiến đáng giá mới.

App permissions

Bạn có thể tuỳ chỉnh permission cho từng app, bật tắt các quyền đó. Điều này khá giống với iOS đã làm.
Ngoài ra, phần cấp permission cho app cũng làm đơn giản hoá để tiện hơn cho người dùng.

Cải thiện trải nghiệm web


App links

Trước khi, khi một app có chức năng mở được ảnh, nó sẽ được register vào list các app có thể xử lý sự kiện khi ta nhấn vào một bức ảnh. Bây giờ, thay vì hiển thị ra một list các apps đó android M sẽ tự động select ra được app tương ứng, phù hợp nhất để xử lý cho mình.
Một ví dụ khác được trình diễn, khi nhấn vào link đến 1 tweet trong email, ứng dụng twitter sẽ được tự động chạy.

Android Pay

Android Pay giúp bạn thanh toán bằng các thẻ Visa, MasterCard, Discover,... với rất nhiều hãng khác nhau như McDonald, Google Play, ...
Khá giống Apple Pay đã làm


Fingerprint Authenticate

Chức năng bảo mật, nhận diện vân tay, xác thực vân tay nay đã được tích hợp sẵn từ core của Android M. Như bạn thấy, Galaxy S6, hoặc Note 4 phải tự dựng công cụ xác thực vân tay riêng. Nay việc đó được làm sắn bởi Android M.
Bạn cũng có thể dùng finger print để xác thực login app hoặc các điều tương tự.
Các API để authenticate bằng finger print cũng được cung cấp.

Chức năng Charge & Power

Android M cũng cải thiện tính năng charge điện thoại. Và cũng giúp cho power có thể tăng thêm 12% so với bản Android Lollipop 5.1.

Một số cải tiến đáng giá khác

- Tính năng select text để copy & paste được cải thiện để dễ dùng hơn.
- Share bằng 1 click
- ...

Hiện Android M Developer Preview đã được sẵn sàng cung cấp thử nghiệm cho các máy Nexu 5, 6 và 9.


Các cải tiến với Android Wear for watches



- Drawing các emoji trên chiếc đồng hồ chạy Android Wear của mình.
- Có thể luôn luôn bật màn hình như một chiếc đồng hồ bình thường
- Dùng cử chỉ lắc cổ tay để chuyển ứng dụng
- Android Wear có launcher mới nhanh hơn
- Android Wear đã có tới 4000+ apps được phát triển riêng


Giới thiệu Brillo và Weave


Chính thức ra mắt dịch vụ Google Photos


Chi tiết tổng hợp lại các bài phát biểu sẽ có ở các phần tiếp theo.

Thứ Năm, 28 tháng 5, 2015

iOS Messages bị dính lỗi với tin nhắn ký tự lạ và cách sửa

iOS mới được phát hiện thêm một lỗi nữa có liên quan đến trình nhắn tin Messages trên các thiết bị iPhone. Đó là, khi Messages nhận được tin nhắn có ký tự lạ như dưới đây, Messages sẽ bị crash mỗi lần khởi động và thiết bị sẽ tự động reboot về màn hình táo (hay gọi là "ăn táo") ngoài ý muốn.



للصبللصبرر ॣ ॣ h ॣ ॣ
冗


Cách tiến hành để gây ra lỗi này mời xem video:



Khuyến cáo bạn không nên thử trò này với bạn bè hay người thân cũng như bất kỳ người nào khác, vì nó cũng có thể ảnh hưởng lên chính cả máy của bạn trong trường hợp bạn cũng dùng iPhone.

Khi máy nạn nhân nhận được tin nhắn này, Messages sẽ liên tục bị crash Messages khi khởi động lên. Và đây là một số phương pháp để tạm khôi phục lại hoạt động bình thường của Messages trong khi chờ đợi bản vá từ Apple.

Bạn nên thử cách thứ 3 trước, vừa nhanh vừa đơn giản, vừa tiết kiệm :D

Xem video và các cách fix:



Cách #1: Gửi text bằng Siri

Hãy sử dụng Siri để gửi lại một tin nhắn trả lời đến người đã gửi bạn đoạn tin nhắn nguy hiểm kia.
Phương pháp này sử dụng khi mà Message của bạn không thể hoạt động được một chút nào. Ngay khi tin nhắn gửi bằng ra lệnh cho Siri, bạn sẽ có thể truy cập lại được Messages một cách bình thường. Điều này cũng giúp cho Message trên iPhone của người gửi tin nhắn nguy hiểm kia, nếu cũng sử dụng Messages để gửi, có thể hoạt động trở lại.



Cách #2: Gửi 1 ảnh từ ứng dụng Photos

Từ ứng dụng Photos, gửi một tin nhắn hình ảnh hoặc video tới người đã gửi tin nhắn nguy hiểm kia cho bạn cũng giúp khôi phục lại được hoạt động của trình nhắn tin Message trên iPhone.



Cách #3: Gửi một tin nhắn text thông thường đến iPhone

Đây là cách đơn giản và nhanh gọn nhất, bạn hãy gửi một tin nhắn text bình thường, (có thể dùng máy khác), đến máy có Messages đang bị lỗi này. Khi tin nhắn text bình thường được nhận thì trình Messages đang bị lỗi sẽ hoạt động trở lại.


Cách #4: Xoá thread trong Messages

Bạn hãy xoá thread tin nhắn với người gửi bạn tin nhắn nguy hiểm kia, nếu bạn có thể truy cập được vào Message. Nếu bạn send tin nhắn nguy hiểm đó để tấn công người kia, thì cũng làm cách này để khôi phục lại hoạt động của Messages.


Cách #5: Sử dụng các Tweak nếu device đã được Jailbroken

Cài Tweak có tên là Unicode Suppressor từ MohammadAG nếu máy iPhone đã được jailbroken. Và để sửa được, bạn cũng phải cài thêm iFile hoặc iFunbox. Tweak này giúp bạn sửa được các lỗi liên quan đến Messages, cũng như là các lỗi làm cho máy tự khởi động lại, và bảo vệ bạn khỏi các cuộc tấn công tương tự khác. Ghi chú, là tweak này mới chỉ hoạt động với iOS 8 hiện tại.

Các cách trên cũng có thể được sử dụng để fix trong trường hợp Messages app của bạn đột nhiên bị crash liên tục không rõ nguyên do.


Thứ Tư, 27 tháng 5, 2015

Điện thoại BPhone của BKAV đã ra mắt, giá từ 9.99 triệu đồng chưa thuế

Như vậy, sau nhiều lời đồn đoán, PR cũng như là hé lộ, chiếc điện thoại BPhone do công ty BKAV của Việt Nam sản xuất đã chính thức được giới thiệu vào sáng ngày hôm qua, 27/5/2015. Với mức giá khởi đầu là 9.99triệu đồng trước thuế, BPhone được xếp vào danh sách những smartphone cao cấp, sánh ngang với các dòng Galaxy Sx của Samsung hay Sony Zx.


BKAV là công ty sản xuất phần mềm diệt virus nổi tiếng của Việt Nam, mà phần mềm diệt virus của họ có thể sánh ngang với các phần mềm nổi tiếng như Kaspersky hay Norton. Nhiều đơn vị cung cấp giải pháp quét virus trực tuyến cũng đưa công cụ BKAV vào danh sách tool sử dụng quét virus của họ.

Bây giờ, công ty này muốn bước sang lĩnh vực sản xuất smartphone, và BPhone là sản phẩm đầu tay của họ. Có thể thấy, tham vọng của BPhone là rất lớn, BKAV đã bỏ nhiều công sức, tiền của, trí tuệ vào sản phẩm này. Trước nay, ở VN không thiếu hãng sản xuất điện thoại, hầu hết người dùng đều biết, như FPT, Mobiistar, QMobile, HKPhone, với các sản phẩm đều là mác Việt nhưng toàn bộ sản phẩm là của Tàu làm, xuất xứ Trung Quốc hoàn toàn. So sánh với chiếc BPhone này thì BKAV đã thực sự tạo ra được một điều khác biệt, phá vỡ tiềm thức cũ kỹ kia.


Có thể anh Quảng đã hơi quá lố về mặt ngôn ngữ, nhưng xét về chất lượng thì chiếc BPhone hoàn toàn xứng đáng với bản chất là 1 sản phẩm đầu tay, do chính người Việt làm. Và việc anh Quảng đóng vai trò CEO thì anh phấn khích về sản phẩm của mình là có thể hiểu được. Người tiêu dùng Việt hoàn toàn có thể ủng hộ, cũng như tin tưởng vào những thế hệ 2, thế hệ 3,... trong tương lai có nhiều sản phẩm tốt hơn để lựa chọn từ BKAV.

Đi vào sản phẩm BPhone ra mắt lần này, sản phẩm có cấu hình cơ bản như sau:

  • Hệ điều hành: BOS (nền Android 5.1)
  • Mạng: HSDPA 21.6 Mbps
  • Màn hình: LCD TFT 5”, 1.920 x 1.080 pixel, 441 ppi
  • Kính bảo vệ: Gorilla Glass 3
  • Camera chính: 13MP, cảm biến OmniVision, Ubi Focus
  • Quay phim: 1080p@60fps/30fps, 720p@120fps,
  • Camera trước: 5MP, góc rộng 88 độ
  • Nền tảng: Qualcomm Snapdragon 801
  • CPU: 4 nhân 2.5 GHz, RAM 3GB
  • Bộ nhớ: 16GB / 64GB / 128GB
  • Thẻ nhớ ngoài: không hỗ trợ =
  • Kết nối: Wi-Fi a/b/g/n/ac, 2 băng tần, Wi-Fi Direct, GPS, Glonass, TransferJet
  • Giao tiếp: microUSB, cổng 3.5mm
  • Nghe nhạc: FLAC, ALAC, 24-bit/192kHz
  • Mic chống ồn kép FluenceHD
  • Pin: Li-Po 3.000 mAh
  • Sạc nhanh Quick Charge 2.0 Plus
  • Kích thước: 14,1 x 6,9 cm
  • Màu: đen, trắng, vàng champagne, vàng 24K
  • Mỏng: 7.5mm

Ngoài cấu hình khá ổn trong tầm giá, BKAV đã đưa vào BPhone khá nhiều công nghệ mới, do chính hãng phát triển hoặc mua lại từ các nhà cung cấp tên tuổi như:


  • Màn hình độ nét cao của Sharp
  • Công nghệ truyền tải dữ liệu siêu tốc tầm gần, TransferJet. Đây cũng là chiếc Smartphone đầu tiên trên thế giới trang bị công nghệ này
  • Hệ điều hành BOS tuỳ biến từ Android 5.1 mới nhất, với các ứng dụng được viết lại: BChrome, ... và các tuỳ biến nhỏ để thuận lợi sử dụng 1 tay
  • Tự các kỹ sư Việt Nam thiết kế từ đầu đến cuối, lắp ráp ở Việt Nam mà không phải là Trung Quốc.
  • Công nghệ sạc nhanh QuickCharge từ Quancomm


Bphone trên thực tế trông đẹp mắt, tạo cảm giác cao cấp nhờ khung nhôm và hai mặt kính. Mép vát theo độ cong của cạnh dưới cũng giúp cầm không bị cấn tay. Tuy nhiên, một số khách tham dự là nam giới cho biết, sản phẩm khá nhẹ nên cầm không "đã tay".

Bên cạnh đó, một điểm gây thất vọng ở Bphone là camera không có chống rung quang học. Do không có OIS nên camera không bị lồi như trên iPhone 6 Plus hay Galaxy S6 chứ không hẳn là do Bkav đã tạo nên bước "đột phá" trong thiết kế.

Sự kiện ra mắt Bphone được đánh giá là sự kiện công nghệ thu hút nhất tại Việt Nam. Lượng khách mời ban đầu dự kiến là 1.000 người nhưng sau đó đã tăng lên 1.500 và cuối cùng là hơn 2.000 người. Do đó, hệ thống Wi-Fi ở Trung tâm Hội nghị Quốc gia (Hà Nội) đã bị quá tải, khiến nhiều phần demo sản phẩm của Bkav chưa thể thực hiện.


Ngay bây giờ, bạn có thể đặt hàng sản phẩm tại trang chủ của nhà sản xuất, và chú ý là sản phẩm này chỉ được bày bán online. Nếu bạn đặt mua, bạn còn có thể yêu cầu khắc tên của mình lên sản phẩm trước khi nhận máy để có thể sở hữu một thiết bị tuỳ biến cho riêng mình.


Cùng ngắm một số ảnh thật của sản phẩm:

Bphone với hai màu sắc chủ đạo là đen và trắng. Ngoài ra máy còn phiên bản màu vàng và một bản mạ vàng với giá 20,2 triệu đồng.


Bphone sở hữu thiết kế tối giản mà theo đại diện của Bkav là không có các chi tiết thừa giống như nhiều smartphone hàng đầu khác.

Phần cạnh trên của máy hơi cong giống như trong thư mời cũng như các hình ảnh bị lộ. Đây cũng là chi tiết mà Bphone tạo điểm khác biệt so với iPhone.
Với màn hình 5 inch, Bphone cho cảm giác cầm rất chắc chắn, sự cao cấp cũng đến từ hai mặt kính. Mép vát theo độ cong của cạnh dưới cũng giúp cầm không bị cấn tay. Ba phím cảm ứng chính nằm ngoài màn hình.

Loa ngoài của máy được đặt bên dưới với phần gia công các chấm lỗ cùng giắc cắm microUSB.

Cạnh trái là phím nguồn, khác so với kiểu bố trí bên cạnh phải giống như iPhone 6 Plus hay Galaxy S6. Ngoài ra còn có giắc cắm thẻ SIM.

Cạnh còn lại là phím tăng giảm âm lượng cũng được gia công bằng nhôm.

Cạnh trên là giắc cắm tai nghe 3,5 mm.

Chữ B nổi bật ở phía sau và cũng là biểu tượng xuyên suốt buổi lễ ra mắt sản phẩm.
Dòng chữ Designed by Bkav. Made in Vietnam cũng là điểm đáng tự hào nhất của Bphone. Sản phẩm có hơn 800 linh kiện và được lắp ráp ở Việt Nam.

Máy đi kèm các phần mềm của Bkav nổi bật với ứng dụng diệt virus giúp bảo vệ máy.

Công nghệ truyền dữ liệu tầm gần Transfer Jet nhanh gấp 300-500 lần so với NFC.

Giao diện tuỳ biến trên BOS:





​

Credit: Bài viết có sử dụng 1 số hình ảnh từ các website: Tinh Tế và Số Hoá.

Google Play Games đã có bản nâng cấp, đã cài được ở Việt Nam và một số nước khác

Giống như ý tưởng của Game Center Apple trên các máy iOS, Google Play Games được xây dựng nhằm mục đích đóng vai trò là cầu nối chia sẻ giữa những người mê game trên điện thoại chạy hệ điều hành Android.

Để thực hiện được chức năng trên, các ứng dụng game sản xuất cho hệ điều hành Android cần được nhúng thư viện Google Play Games được cung cấp sẵn bởi Android SDK.
Khi người dùng bật game lên, GPG sẽ tự động login và request quyền truy xuất dữ liệu game bằng tài khoản gmail của bạn trên thiết bị. Sau khi bạn chấp nhận các request đó, thì bạn đã có thể chơi cùng bạn bè, cũng như là chia sẻ tiến trình chơi game của mình với bạn bè.

Tuy nhiên, nếu bạn hay chơi game trên Android thì có lẽ bạn cũng biết là lâu nay Google Play Games mới chỉ được cho phép cài đặt ở một số quốc gia. Và có lẽ bạn sẽ gặp một chút khó khăn để đăng nhập account game của mình, ví dụ như các game COC, BoomBeach.
Để vượt qua được hạn chế này, thì bạn có thể phải download bản cài đặt APK ở đâu đó trên mạng internet được chia sẻ, và bạn cài đặt thủ công mà không có gì bảo đảm do không được Google Play (CH Play) hỗ trợ sẵn.

Rất may là ở lần nâng cấp mới nhất này, phiên bản 3.0.11, Google đã bỏ hạn chế các quốc gia, trong đó có cả Việt Nam.
Ngay bây giờ, bạn có thể cài đặt bản mới nhất ở đây để enjoy games cùng với bạn bè của mình.