Posts

Showing posts from 2016

QNAP NAS

QNAP online resources collection

Image
QNAP is the famous private cloud solution provider, the main product is NAS (Network attach Storage), this article collect QNAP online resources and help QNAPer / NAS beginner quickly know how to select NAS and find application information, if any suggestion website, welcome to comment and share with us. QNAP website  https://www.qnap.com/en/ Topic include NAS, Operation System, Application, Tutorial / FAQ , Forum and Customer Service.

Android* 安全性自訂:SEAndroid

Image
Android* 安全性自訂:SEAndroid Android 安全性強化功能 (SEAndroid) Android 在 4.4 版的 Android 作業系統 (「Kitkat」) 新增全新功能,其中最重要的變化就是能夠在強制模式整合 SEAndroid,也就是說所有 Android 元件的存取權限都由 SEAndroid 控制。 什麼是 SEAndroid?SEAndroid 代表 Android 安全性強化功能 (Security Enhancements for Android),是 Android 的安全性解決方案,可找出並因應關鍵漏洞。這項專案最初是為了讓 SELinux 能在 Android 使用,以限制有缺陷或惡意應用程式可能造成的傷害,並於應用程式之間執行分離保證。不過之後專案範圍改變,以納入 SELinux 以外的其他項目。SEAndroid 目前作為整體架構,在 Android 實作 SELinux 強制存取控制 (MAC) 及中介軟體強制存取控制 (MMAC)。 以下釐清一些有關 SEAndroid 的概念: 安全增強式 Linux* (SELinux) 是強制存取控制實作,於 Linux 核心使用 Linux 安全模組 (LSM),以最小權限原則為基礎。這並不是 Linux 發行版,而是一組修改,可套用至類 UNIX* 作業系統,例如 Linux 及 BSD。 自由存取控制 (DAC) 是 Linux 的標準安全性模型,其中的存取權限是以使用者身分及物件擁有權為基礎。 強制存取控制 (MAC) 會限制主體 (程序) 及物件 (檔案、通訊端、裝置等) 的權限。 SEAndroid 藉由將 SELinux 支援新增至核心及使用者空間來強化 Android 系統: SEAndroid enhances the Android system by adding SELinux support to the kernel and user space to: 限制具權限精靈避免遭到誤用,並限制具權限精靈可能造成的傷害 在應用程式之間及應用程式與系統之間設置沙箱 (sandbox) 並加以隔離 預防應用程式權限提升 可利用 MMAC 於安裝及執行階段期間控制應用程式權限 提供集中且可分析的原則

在 Intel Android 的點對點應用程式* 開發人員指南

Image
在 Intel Android 的點對點應用程式* 開發人員指南 簡介 Android* 應用程式可能需要在兩個以上沒有 Wi-Fi 存取點或網際網路存取的 Android* 裝置之間使用點對點連線,例如檔案分享應用程式及多人對戰遊戲。 這項功能可使用 NFC、藍牙或 Wi-Fi 點對點技術實作。任何特定情況偏好使用的技術,需視所需的距離、連線速度、耗電量及獨特技術功能而定。 本文將探討 Wi-Fi 點對點技術。Wi-Fi 點對點 (P2P) 可讓採用 Android 4.0 以上版本作業系統且配備適當硬體的裝置,透過 Wi-Fi 互相連線,無需使用存取點。Android Wi-Fi P2P 架構遵循 Wi-Fi Direct 標準。Wi-Fi Direct 一般提供更快的速度及更長的距離,但所需的耗電量高於藍牙連線。 實作 本文將強調在兩部 Android 裝置之間設定插槽連線的基本步驟。 應用程式為了使用 Wi-Fi P2P,必須正確地將最低 SDK 版本設定為 14,並於 AndroidManifest.xml 檔案要求下列權限: ACCESS_WIFI_STATE CHANGE_WIFI_STATE ACCESS_NETWORK_STATE CHANGE_NETWORK_STATE INTERNET 應用程式應呼叫  WifiP2pManager  物件的  initialize()  方法,以登錄具有 Wi-Fi P2P 架構的應用程式。此方法必須於任何 Wi-Fi P2P 作業前呼叫。 應用程式應針對下列 Wi-Fi P2P 意圖建立及登錄廣播接收器: WIFI_P2P_CONNECTION_CHANGED_ACTION WIFI_P2P_PEERS_CHANGED_ACTION WIFI_P2P_STATE_CHANGED_ACTION WIFI_P2P_THIS_DEVICE_CHANGED_ACTION 進行以上步驟之後,應用程式就能呼叫  WifiP2pManager  物件之中的 Wi-Fi P2P 方法,並接收 Wi-Fi P2P 意圖。大部分 WifiP2pManager 方法為非同步,因此開發人員需要提供接聽程式至各個呼叫方法,以取得狀態及結果。 為搜尋可用的 Wi-Fi P2P

在 Android 的影片 3D 範例程式碼

Image
在 Android 的影片 3D 範例程式碼 下載範例程式碼 簡介 您可在  Android  非常輕鬆地建立應用程式播放影片,也可以輕鬆建立具有 3D 圖形表面的遊戲應用程式。不過要建立應用程式在 3D 圖形 3D 圖形物件播放影片,就不是這麼簡單。本文說明作者為了因應以上挑戰所建立的應用程式。此應用程式可播放在 3D 表面渲染的影片,並可讓使用者以互動方式操控影片表面。 本項應用程式必須克服三項實作挑戰: 如何建構程式碼,讓使用者能夠變更 3D 表面,並同時播放影片。 雖然預設的  Android 媒體播放器 配備齊全,擁有各種播放選項,但是並無法取得影片影像資料,不能以自訂方式加以渲染。 如何設計圖形元件執行影片資料渲染? 此應用程式也挑戰裝置功能,強迫影片及圖形物件同時運作。本文將說明此應用程式的功能及用途,然後簡述其設計。 功能 此應用程式具有下列功能: 可讓使用者由本機媒體庫選擇影片。 可於垂直及水平配置運作,配置變更時影片可繼續播放。 應用程式提供三種播放模式: 預設模式:這是標準播放模式,影片播放方式就和標準媒體播放器一樣。 隨機旋轉:影片表面會沿著水平及垂直軸隨機旋轉,色彩也會在紅色色調及一般色彩之間切換。 觸控旋轉:使用者可利用觸控方式左右滑動及旋轉表面,並可變更速度。 應用程式推向背景或關閉時,目前播放的影片將會儲存,並於應用程式重新啟動時再次播放。 附註 : 沒有影片工作階段控制功能,使用者無法停止、快轉或回轉影片。若應用程式推向背景或停止,影片就只能從頭播放。 使用模式 開始播放影片 應用程式本身並沒有任何影片,因此使用者可選擇 Android 平台支援的任何影片。不過建議使用採用 MPEG-4 容器 H.264AVC 轉碼器的影片,因為這是開發期間用於測試的格式。應用程式首次啟動時,將顯示檔案選擇器畫面 (請參閱前頁螢幕截圖)。 使用者選擇偏好的檔案選擇器之後,就會在螢幕上出現指示。選擇影片後,就將開始播放。 附註 : 有時需要等一下影片才會播放,大約 5~10 秒鐘。 選擇不同模式 應用程式會以標準模式啟動。如欲變更模式,使用者可按 UI 的選項按鈕,啟動選項功能表。 選項功能表提供四個選項:前三個為播放模式選項,最後一個可讓使用者選擇不同影片。  

如何使用 Android* 智慧型手機開發智慧型自動飛行器

Image
如何使用 Android* 智慧型手機開發智慧型自動飛行器 簡介 小型的民用飛行器除了玩起來有趣,如果能實際動手做更令人興奮不已!如果您有興趣開發自己的「智慧型」飛行器,本文提供簡易的方向指引,協助您使用 Android* 智慧型手機、OpenCV*、C++ 和 Java 打造智慧型自動飛行器。* 這只是起點,一旦您熟悉了這些說明,還能用其他程式將飛行器改造得更為出色。請至  Intel® 軟體學院計畫 (Intel® Software Academic Program)  [1] 取得自學 Intel® OpenCourseWare 的詳細資訊。 材料與方法 自動和智慧? 飛行器如果要自動飛行,所有必需的感測器、處理功能及通訊晶片都必須內建。雖然看起來配備不多,不過目前市面上一般大眾可以取得的商業民用飛行器,有許多都沒符合這樣的標準呢。 您看過 Lexus 和 KMEL Robotics [2] 的 飛行器廣告 嗎?廣告中有一大群超級精準的小型飛行器,這些飛行器在室內操作,空間中安置許多強大的感測器,因此可以編排飛行器的動作。由於飛行器近來很熱門,您或許也知道飛行器可以用 GPS 導航。GPS 方便且非常容易存取 (因為是數位訊號),所以飛機在高海拔的巡航階段會使用 GPS 導航。不過 GPS 的精確度在 ±2.5 公尺之間,還有影響很大的延遲問題,無法讓飛行器運用,將披薩送到家門口。飛行器近個 2.5 公尺可能會撞到房屋,左右差個 2.5 公尺可能也會墜毀。飛行器的確具有獨立導航能力,不過並不是十分「智慧」。 飛行器要能稱得上「智慧」,就必須內建足夠的處理功能,例如拍攝影片、即時分析 QR 條碼 (簡單)、形狀或動作 (困難) 等目標。甚至也可以即時測量體積和重新建置空間,就和使用  MIT UAV 的飛行器 一樣 [3]. 不過以上種種「升級功能」都需要強大的處理器,並搭配使用加速器和 GPS 等感測器,有時可能還需要透過 3G/4G 網路進行通訊。以上這些裝備也必須輕巧、容易編程,能用理想的電池供電。歸結下來,我們只能用非常強大的手機,用來驅動飛行器的飛行功能。 我們最近使用 ZTE V975 Geek 這款搭載 Intel® Atom™ 處理器 Z2580 的 Android 智慧型手機,開發出飛行器遙控裝置。使用 Andro

高品質影片壓縮:針對以 Intel® Atom™ 為基礎的 Android* 平台整合 H.265/HEVC 解決方案

Image
高品質影片壓縮:針對以 Intel® Atom™ 為基礎的 Android* 平台整合 H.265/HEVC 解決方案 摘要 根據 International Data 公司調查結果,2012 年全球資料總量達到 2.7 ZB [1],比 2011 年增加了 48%,其中有 90% 是影片。影片應用程式佔用 66% 的網際網路資料總流量,且這項比例正快速增加。使用者希望觀看高品質影片,但對線上影片供應商而言,採購網路頻寬及儲存裝置的成本每年都在增加。影片內容供應商要如何因應大型資料來源的挑戰,以及持續增加的儲存需求?是否能用更小的頻寬實現高品質影片?名為高效率影片編碼 (H.265/HEVC) 的影片核心壓縮技術,可解決以上的挑戰。 像是 FFmpeg [2] 等開放原始碼社群,正在開發 H.265/HEVC 解碼器,但效能尚未達到商用功能水準。 視駿 (Strongene Ltd.)  [3] 是一家影片編解碼器核心技術商,已經開發出進階 H.265/HEVC 編碼器 / 解碼器解決方案,包括最佳化的 H.265/HEVC 編碼器 / 解碼器程式庫及展示程式碼,適用於以 Intel® Atom™ 處理器為基礎的 Android 平台。本文將使用 Intel Atom 處理器 Android 平板電腦 (代號 Bay Trail),介紹視駿 H.265/HEVC 解決方案。 視駿 H.265/HEVC 解決方案 評估影片標準時,通常使用效率和相容性標準。下圖顯示過去 20 年來的影片標準發展: 圖 1:影片標準歷史 H.265/HEVC 是 H.264/AVC (進階影片編碼) 的下一代編解碼器,兩者均由 ISO/IEC Moving Picture Experts Group [4] 及 ITU-T Video Coding Experts Group (VCEG) [5] 共同開發。新編解碼器的主要目標,是提供比 H.264 高出 50% 的壓縮效率,並支援最高 8192 x 4320 的解析度。 如圖 1 所示,從 MPEG-2 發展到 H.264/AVC 花了九年時間,因此在由 H.264/AVC 標準發展為 H.265/HEVC 標準的過程中,預期將遭遇更多挑戰。就 H.265/HEVC 而言,技術概念和產品實際品質之間仍

x86 架構 Android 應用程式的優化技巧與訣竅

x86 架構 Android 應用程式的優化技巧與訣竅 Intel 公司非常重視如何為開發人員提供可在 Intel 架構上運作正常 (甚至是效能最佳) 的 Android 應用程式。雖然 Intel 致力於社群層級,包括最佳化 Dalvik Java、V8 引擎及 Bionic C;為程式碼基底做出貢獻;並為 IA 提供 32 與 64 位元核心的版本;但 Intel 也同樣創造多種新工具來協助 Android 開發人員。上述工具主要用於提升效能,以超越 x86 預設的 ARM 轉譯層提供的效能:libhoudini 但是首先應選擇正確的工具。建立 Android 應用程式有三種常見的方法。 使用 Android SDK API 編譯 Java,以便在 Dalvik VM 中執行。 附註:針對  ART 的說明文章近期之內即可在 Android L 取得。 使用最新的 SDK 以顧及最大的差異,雖然您可能比較注重針對高解析度螢幕所配置的記憶體。最值得注意的是,如果藉由  Intel ®  HAXM  (需要將 Intel® 虛擬技術與 XD 設為開啟) 提升 Android 模擬軟體的速度,將可加快測試的速度。 聚焦於網頁的  HTML5  與  JavaScript。 有關開放原始碼 Android 資訊,請參閱  Android-IA 網站 。 建立或移植的 NDK (以 C++ 撰寫)。如果有密集使用處理器的功能或已有 C++ 程式碼,那麼這是比較理想的方法。原生 C++ 程式碼通常 (不一定) 會因為以「原生」的語言溝通而使執行速度較快,因為程式碼在執行之前會編譯為二進位,而且不需要解譯為機器語言。 本文將聚焦於最佳化以 NDK 為基礎的應用程式。這些應用程式可能僅使用 C/C++ 程式碼,或可能包含第三方程式庫及 / 或組合碼。 附註:如果尚未擁有 Android 開發環境 (IDE),新工具套件  Intel® INDE  (Intel® Integrated Native Developer Experience) 將載入選取的 Android IDE 並下載及安裝多種 Intel 工具,以便協助您製作、編譯、疑難排解及發佈 Android 應用程式。按一下這些連結以瞭解一系列有關註冊及 安裝 Intel ®  INDE  及

設定 libGDX 以原生支援 Intel® x86 CPU 執行 Android*

Image
設定 libGDX 以原生支援 Intel® x86 CPU  執行 Android* 概觀 隨著以 Android x86 為基礎的 Intel® 架構裝置在市場上數量大幅增加,libGDX 團隊致力確保開發者可利用單一跨平台架構完美部署遊戲與應用程式。此個案研究提供 libGDX 的簡介,並展示如何輕鬆地將龐大的現有程式碼基底移植至以 x86 為基礎的 Android 裝置! 什麼是 libGDX? libGDX  是一種適用於 Windows 的開放原始碼、跨平台遊戲開發架構*、Linux*、Mac OS X*、Android、iOS* 及 Blackberry* 平台,以及具有 WebGL 功能的瀏覽器。您可以使用 libGDX 以他們選擇的任何 JVM (Java * 虛擬機器) 語言 (Java、Scala、Clojure、Kotlin*) 撰寫他們的遊戲,並將相同的程式碼基底部署至所有支援的平台。libGDX 可跨各種平台支援 JVM 開發常用的所有 IDE,例如 Eclipse*、NetBeans 及 Intellij IDEA*. 多數的測試與開發作業可在桌面環境完成,這可加快開發速度與反覆運算的次數,因為耗時的裝置開發作業可降至最低。 愛好者、小型獨立開發者及大型工作室等皆使用 libGDX 建立桌面及行動遊戲,例如 Google 的 Ingress 、Robotality 的  Halfway  (圖 1) 或 Kiwi Inc. 最暢銷的 社交遊戲系列 。非遊戲應用程式亦使用 libGDX,例如 Esoteric Software 的  Spine  2D 骨架動畫軟體。 圖 1:Robotality 的 Halfway 畫面截圖 自從 1.0 版於 2014 年第 2 季推出以來,libGDX 在 Maven Central 的每月下載次數約為 250,000 次,使其成為目前最廣為使用的開放原始碼、跨平台遊戲開發架構之一。 圖 2. 過去一年的 libGDX 下載次數 Intel、Android 及 libGDX 在使用者人數如此龐大的基礎下,我們很快就瞭解 libGDX 必須無縫支援以 Intel® x86 為基礎的 Android 裝置,並提供最大效能。我們以原生 C/C++ 程式碼實作所有

透過 64 位元運算改善行動體驗的方式

透過 64 位元運算改善行動體驗的方式 開發者若是想為終端使用者帶來更加強大的行動體驗,64 位元運算值得列入考慮。隨著功能強大的 64 位元架構變得觸手可及,智慧型手機和平板電腦的開發者將能享受到多種好處,包括強大的效能躍進、可定址記憶體超過 4GB,其安全防護功能也更上一級。 終點就在眼前 64 位元運算架構自 1975 年出現於 Cray-1* 超級電腦之後,一直被視為是效能處理的巔峰平台。自 1990 年代中期開始算起,微電腦級伺服器與高端工作站採用 64 位元技術已超過二十年。 如今 64 位元處理器已經十分普及,且很快就會成為智慧型手機與平板電腦的基本架構。隨著 64 位元架構變得觸手可及,智慧型手機和平板電腦的開發者將能享受到多種好處,包括強大的效能躍進、可定址記憶體超過 4GB,其記憶體內的資料集也變得更大。 安全性更佳 此外,64 位元架構可有效抵擋安全性威脅,讓裝置上的資料和企業網路獲得更好的防護。根據 Nielsen 2014 年 7 月的報告 ,2013 年內 Android* 及 iPhone* 年齡在 18 歲以上的使用者每個月花費超過 30 個小時使用行動應用程式,較 2012 年高出 65%。此外,在運算作業更為複雜、安全防護需求更高的工作場所,行動裝置更是如影隨形、隨處可見。2012 年 Symantec 辨識出超過 2 億個病毒定義,數量大約等同於 1991 到 2011 年之間所識別出的病毒數量總和。人們將電子錢包和個人身分資料存在智慧型手機和平板電腦上的比例不斷增高,行動硬體必須加快腳步,以提供更好的安全防護和良好的使用者經驗。 Intel® 與 Android* Intel 的軟體與服務自 2004 年起便開始協助改善 Linux 核心並加入 64 位元運算能力。Intel 軟體與服務部門開源技術中心 (OTC) 工程主管 Joe Daly 表示:Intel 參與了所有開放原始碼的瀏覽器企劃 (包括 Chromium* 與 Blink*),並致力參與 GCC 編譯器、商業編譯器、虛擬機器管理程序、SLC 驅動程式,以及「幾乎所有與系統相關的東西」的相關改善作業。 該部門有一條以  Android*  為主的開發路線,以提供一個通用的出發點,讓 Intel 的硬體平台部門能開始進行程式設計,發揮矽晶片

於 Android* 採用 Miracast* 的 dual-Screen Social Cast 應用程式樣本

Image
於 Android* 採用 Miracast* 的 dual-Screen Social Cast 應用程式樣本 STEVEN B. (Intel)  發佈於 2014 年 7 月 23 日星期三 Social Cast 為 Intel 的 IT Flex Software Engineering 團隊所寫成的 Android Miracast  Dual Screen 應用程式範本。程式碼範本可於此 下載 。 Social Cast 藉由將 Miracast 連線與電視及社交媒體 API 相結合,並運用 Android 的背景工作功能,可將使用者最喜歡的社交媒體資訊帶到電視螢幕上頭。該程式碼範本示範了如何整合這些技術的簡單技巧。 圖  1 : Social Cast  螢幕截圖  —  左螢幕:設定螢幕,右螢幕:藉由  Miracast*  呈現在電視上的社交媒體內容 Miracast 發佈於 Android 4.2,使用者透過設定選單就能輕鬆地尋找、連線、並將裝置的螢幕鏡射到電視上。這種使用方式在分享資訊上很有趣,但最振奮人心的創新在於 Android 4.4 (KitKat) 中提供給 ISV 的 Presentation API,它可讓電視作為第二個螢幕使用。Social Cast 使用了 Facebook 和 Flickr 的開放式社交媒體 API 來展示如何收集最新的「動態消息」資訊,並重設為電視專用的格式。如此一來,就能將裝置轉變為資訊收集器,提供輕鬆舒適的使用經驗。 Intel 已將多工處理認定為家庭客廳最主要的使用者模式,因此便以此經驗為中心來開發 Social Cast。藉由利用背景工作收集社交資訊、格式化並維持 Miracast 連線,可讓裝置螢幕空出來給其他應用程式使用。因此使用者可悠閒地在裝置上觀看最新的社交媒體資訊並瀏覽網頁、發送簡訊或接電話。本文中所附的程式碼可說明如何實作該架構。 下載並安裝範本 程式碼範本可於此 下載 。製作應用程式並部署至 Android 裝置: 建立新的  Eclipse * 工作區。 請在 Eclipse 的  Package Explorer  內按右鍵並選擇  Import ( 匯入 )->General ( 一般 )-> Existing Projects in

Intel® 架構 Android* 平板電腦的行動遊戲圖形開發 (二)

Intel® 架構 Android* 平板電腦的行動遊戲圖形開發 (二) 2014 年 7 月 8 日星期二 作者:Clay Montgomery 本文將會詳細介紹 Android* 平板電腦可使用的最佳 3D 遊戲引擎和中介軟體,包括免費軟體、開放原始碼軟體和專利軟體的可用資源,為本系列作結。同時也會註明哪些能夠原生支援 x86 Intel® 處理器。 本系列的 第一部分 介紹了 Android 原生開發套件和軟體開發套件 (SDK) 適用的遊戲引擎、創作工具和中介軟體的基本概念和分類,並列出了 2D 遊戲開發的最佳解決方案。 3D 遊戲引擎 3D 遊戲引擎執行於 Android 裝置上,會解析來自創作工具的內容,並透過 OpenGL ES* 渲染圖形。3D 遊戲引擎還能提供超出 OpenGL ES 功能範圍的重要服務,例如渲染文字字型、偵測觸控輸入、以及提供音訊視訊整合功能。大部分的遊戲引擎都是源自於 Windows* 平台,最近才被移植到 Android 上。其中部分引擎功能更為豐富且成熟 (如 Unity* 3D),但不僅佔用容量更大,價格上也更昂貴;而其他有些完全是免費的開放原始碼 (如 Lightweight Java* Game Library [LWJGL] 和 jMonkeyEngine)。 最完整的解決方案可為遊戲提供從 OpenGL ES 到遊戲主機、Apple iOS* 裝置、Linux* 和 Windows 的可移植性,讓應用程式更快速觸及更廣闊的市場 — 但需要代價。價格通常是依據所需的功能、目標平台的數量、開發團隊的規模以及遊戲銷售營收量來區分層級。當然在支付了授權或訂閱費用後,就能夠期待獲得更好的支援服務;相對地,免費軟體的唯一支援可能就只有線上的使用者論壇。 有些遊戲引擎和專利創作工具充分整合,因此在發佈遊戲時可能需要支付工具或引擎的使用授權費用。不過開放程式碼的遊戲引擎一般都是從各式各樣的創作工具匯入內容,可支援數種業界標準檔案格式,例如 Autodesk 3ds Max* 物件檔案或 Collada。 最後,某些中介軟體解決方案並非是完整的遊戲引擎,而是提供構建客制化的遊戲引擎時所需的各種部件,例如 Imagination Technologies PowerVR* SDK 和 LWJGL,收費低廉甚