Suche senden
Hochladen
Android vs e pub
•
2 gefällt mir
•
1,745 views
永昇 陳
Folgen
這是我於 2012/12/19 在高苑科技大學介紹 Android 與 EPUB 的投影片,煩請各位前輩先進指正。
Weniger lesen
Mehr lesen
Melden
Teilen
Melden
Teilen
1 von 68
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Django step0
Django step0
永昇 陳
Javascript autoload
Javascript autoload
jay li
Browser Object Model
Browser Object Model
jay li
JavaScript Code Quality
JavaScript Code Quality
Joseph Chiang
HTML 語法教學
HTML 語法教學
Shengyou Fan
多说沈振宇:插件思想及多说的开发实践
多说沈振宇:插件思想及多说的开发实践
jiangluozhi
面向未来的重构
面向未来的重构
Kejun Zhang
更好的文件组织
更好的文件组织
Kejun Zhang
Weitere ähnliche Inhalte
Was ist angesagt?
快速入坑 Node.js - 0613 SITCON 雲林定期聚
快速入坑 Node.js - 0613 SITCON 雲林定期聚
Lorex L. Yang
CRUD 綜合應用
CRUD 綜合應用
Shengyou Fan
開發工具與環境建置
開發工具與環境建置
Shengyou Fan
浅析浏览器解析和渲染
浅析浏览器解析和渲染
Ailsa126
不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会
Joseph Chiang
Maven – 项目管理利器
Maven – 项目管理利器
johnnybai
前端爆肝之旅+React上山前的小專案心得分享
前端爆肝之旅+React上山前的小專案心得分享
Yao Nien Chung
一拍一产品背后的故事(React实战)
一拍一产品背后的故事(React实战)
Kejun Zhang
[Modern Web 2016] 讓你的 PHP 開發流程再次潮起來
[Modern Web 2016] 讓你的 PHP 開發流程再次潮起來
Shengyou Fan
模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京
Joseph Chiang
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
Shengyou Fan
給你一個使用 Laravel 的理由
給你一個使用 Laravel 的理由
Shengyou Fan
工作坊總結
工作坊總結
Shengyou Fan
使用 laravel 的前與後
使用 laravel 的前與後
Shengyou Fan
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
Shengyou Fan
Web设计 4 锋利的j_query(进入企业级应用阶段)
Web设计 4 锋利的j_query(进入企业级应用阶段)
ziggear
difference between query string and hash
difference between query string and hash
fool2fish
Was ist angesagt?
(17)
快速入坑 Node.js - 0613 SITCON 雲林定期聚
快速入坑 Node.js - 0613 SITCON 雲林定期聚
CRUD 綜合應用
CRUD 綜合應用
開發工具與環境建置
開發工具與環境建置
浅析浏览器解析和渲染
浅析浏览器解析和渲染
不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会
Maven – 项目管理利器
Maven – 项目管理利器
前端爆肝之旅+React上山前的小專案心得分享
前端爆肝之旅+React上山前的小專案心得分享
一拍一产品背后的故事(React实战)
一拍一产品背后的故事(React实战)
[Modern Web 2016] 讓你的 PHP 開發流程再次潮起來
[Modern Web 2016] 讓你的 PHP 開發流程再次潮起來
模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
給你一個使用 Laravel 的理由
給你一個使用 Laravel 的理由
工作坊總結
工作坊總結
使用 laravel 的前與後
使用 laravel 的前與後
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
[PHPConf Taiwan 2015] 跟著 Laravel 5.1 一起成為更好的 PHP 開發者
Web设计 4 锋利的j_query(进入企业级应用阶段)
Web设计 4 锋利的j_query(进入企业级应用阶段)
difference between query string and hash
difference between query string and hash
Ähnlich wie Android vs e pub
KISSY 1.3-released
KISSY 1.3-released
yiming he
Top100summit 秀野堂主-做最好的html5游戏 copy
Top100summit 秀野堂主-做最好的html5游戏 copy
drewz lin
Zh120226techparty jeff kit-ios-toolbox
Zh120226techparty jeff kit-ios-toolbox
Zoom Quiet
TQC+物件導向程式語言Java認證班(和春資工)
TQC+物件導向程式語言Java認證班(和春資工)
Kyle Lin
Node.js Quick Tour
Node.js Quick Tour
myzykj
新世代-Joomla 3.0導覽
新世代-Joomla 3.0導覽
ilovejoomla
Understanding Mobile Web Browser Performance
Understanding Mobile Web Browser Performance
Baidu, Inc.
敏捷模式下的百度研发基础环境建设 1
敏捷模式下的百度研发基础环境建设 1
drewz lin
何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)
何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)
Xu Wang
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
My own sweet home!
Websocket talk in nodejs.tw
Websocket talk in nodejs.tw
Hsu Ping Feng
KSDG BaaS Intro
KSDG BaaS Intro
ericpi Bi
Artifacts management with CI and CD
Artifacts management with CI and CD
Chen-Tien Tsai
移动的前端技术架构和性能优化
移动的前端技术架构和性能优化
fangdeng
Ruby基础培训
Ruby基础培训
xiaozhestrong
iOS开发常用库推荐之一@techparty
iOS开发常用库推荐之一@techparty
Gump Law
雲端技術的新趨勢
雲端技術的新趨勢
Ben Huang
Nodejs介绍
Nodejs介绍
myzykj
Front-end makes change
Front-end makes change
keelii
Tqc+ 物件導向程式語言(java)認證研習會
Tqc+ 物件導向程式語言(java)認證研習會
Kyle Lin
Ähnlich wie Android vs e pub
(20)
KISSY 1.3-released
KISSY 1.3-released
Top100summit 秀野堂主-做最好的html5游戏 copy
Top100summit 秀野堂主-做最好的html5游戏 copy
Zh120226techparty jeff kit-ios-toolbox
Zh120226techparty jeff kit-ios-toolbox
TQC+物件導向程式語言Java認證班(和春資工)
TQC+物件導向程式語言Java認證班(和春資工)
Node.js Quick Tour
Node.js Quick Tour
新世代-Joomla 3.0導覽
新世代-Joomla 3.0導覽
Understanding Mobile Web Browser Performance
Understanding Mobile Web Browser Performance
敏捷模式下的百度研发基础环境建设 1
敏捷模式下的百度研发基础环境建设 1
何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)
何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
Websocket talk in nodejs.tw
Websocket talk in nodejs.tw
KSDG BaaS Intro
KSDG BaaS Intro
Artifacts management with CI and CD
Artifacts management with CI and CD
移动的前端技术架构和性能优化
移动的前端技术架构和性能优化
Ruby基础培训
Ruby基础培训
iOS开发常用库推荐之一@techparty
iOS开发常用库推荐之一@techparty
雲端技術的新趨勢
雲端技術的新趨勢
Nodejs介绍
Nodejs介绍
Front-end makes change
Front-end makes change
Tqc+ 物件導向程式語言(java)認證研習會
Tqc+ 物件導向程式語言(java)認證研習會
Android vs e pub
1.
Android vs EPUB
Cd Chen http://www.cdchen.idv.tw/ 12年12月21⽇日星期五
2.
陳永昇 (Cd Chen)
A http://www.cdchen.idv.tw/ b o 學歷:國⽴立台中科技⼤大學 u 經歷: t 聯成電腦講師 恆逸資訊講師 現職: 乃師實業技術總監 證照: RHCE / LPIC / NCLP MCSA / MCSE OCPJP / OCPJWCD TCSE / NSPA 12年12月21⽇日星期五
3.
⼤大綱
• ⾏行動 App 的基礎觀念 • EPUB 的介紹 • WebView 元件 • 實作 EPUB Reader 12年12月21⽇日星期五
4.
我假設您已經...
• 熟悉 Java 程式語⾔言 • 具備 Android 開發的經驗 12年12月21⽇日星期五
5.
⾏行動 App 的基礎觀念 12年12月21⽇日星期五
6.
什麼是⾏行動 App?? 12年12月21⽇日星期五
7.
12年12月21⽇日星期五
8.
12年12月21⽇日星期五
9.
http://www.appleoutsider.de/2012/04/27/q12012-pc-vendor-marketshare/ 12年12月21⽇日星期五
10.
http://mrpogson.com/tag/market-share/ 12年12月21⽇日星期五
11.
http://wpcdn3.padgadget.com/wp-content/uploads/2012/07/evercore-120716-550x283.jpeg 12年12月21⽇日星期五
12.
⾏行動 App 類型 12年12月21⽇日星期五
13.
12年12月21⽇日星期五
14.
Web-Page App
Native App • Web 2.0 • Web Service • HTML 5 • JSON-RPC • CSS 3 • XML-RPC • JavaScript • SOAP • ... • Streaming • ... HTML / HTTP 12年12月21⽇日星期五
15.
12年12月21⽇日星期五
16.
MVC 設計模式 12年12月21⽇日星期五
17.
12年12月21⽇日星期五
18.
EPUB 12年12月21⽇日星期五
19.
淺談電⼦子書格式 12年12月21⽇日星期五
20.
優點
缺點 市佔率⾼高 無中⽂文⽀支援 azw ⽀支援語⾳音 僅⽀支援 Kindle mobi / prc ⽀支援度廣 無中⽂文⽀支援 檔案輕巧 無精密排版 lrf 翻⾴頁快速 中⽂文⽀支援差 精確排版 檔案⼤大 pdf 中⽂文⽀支援佳 翻⾴頁慢 12年12月21⽇日星期五
21.
什麼是 EPUB?? 12年12月21⽇日星期五
22.
• Electronic
Publication • 國際數位出版論壇 (IDPF, International Digital Publishing Forum) 12年12月21⽇日星期五
23.
EPUB 優點
• 免費且開放 • 可重新排版與可重新縮放的字型 • ⽀支援⾏行列圖⽚片 • 嵌⼊入式 Metadata • ⽀支援 DRM • ⽀支援 CSS • ⽀支援 影⾳音內容 12年12月21⽇日星期五
24.
EPUB 的版本
• 2007/09 - EPUB Release • 2009/08 - Start EPUB Working • 2010/07 - EPUB 2.0.1 Draft • 2010/09 - EPUB 2.0.1 Release • 2011/10 - EPUB 3.0 Release (Current) 12年12月21⽇日星期五
25.
EPUB 2 vs
EPUB 3 功能 技術 ‣⽀支援多媒體格式 ‣增加對 HTML5/CSS3 ‣⽀支援數學格式 的⽀支援 ‣⽀支援複雜本⽂文內容 ‣⽀支援嵌⼊入字型 ‣⽀支援⽂文字朗讀 ‣⽀支援 SVG 圖檔 ‣⽀支援⾮非羅⾺馬⽂文字 ‣⽀支援 MathML ‣⽀支援 DAISY 有聲書 12年12月21⽇日星期五
26.
EPUB 格式 12年12月21⽇日星期五
27.
• ZIP 壓縮檔
• 附檔名可使⽤用 .epub 或 .zip 12年12月21⽇日星期五
28.
EPUB 三種層級
• XHTML ⽂文件 (XHTML Document) • 套件檔 (Package Files) • 容器檔 (Container Files) 12年12月21⽇日星期五
29.
XHTML ⽂文件
• EPUB 的內容 • 類似 (幾乎相同) HTML • EPUB3 可使⽤用 HTML5 12年12月21⽇日星期五
30.
http://slides.html5rocks.com/ 12年12月21⽇日星期五
31.
套件檔
• /mimetype • ⼀一定為 application/epub+zip • /DIR/NAME.opf • 作者、發⾏行者、... • /DIR/NAME.ncx • 電⼦子書的組織架構 (章節、段落、...) 12年12月21⽇日星期五
32.
容器檔
• META-INF/container.xml • 儲存電⼦子書檔案的架構 • 檔案路徑、DRM 宣告、... 12年12月21⽇日星期五
33.
EPUB 製作⼯工具 12年12月21⽇日星期五
34.
商業軟體
• Adobe InDesign • IGP: Digital Publisher • Apple Pages • QuarkXPress • oXygen XML Editor 12年12月21⽇日星期五
35.
OpenSource
• Sigil • Booktype • calibre 12年12月21⽇日星期五
36.
轉換程式
• Word2EPUB • ePub Maker • DocBook 12年12月21⽇日星期五
37.
WebView 12年12月21⽇日星期五
38.
WebView 的介紹 12年12月21⽇日星期五
39.
•
Android 內建的簡易版瀏覽器 • ⽀支援 HTML5 / CSS3 / JavaScript • 可⾃自定瀏覽器的使⽤用介⾯面 • 可定義內容處理的⽅方式 • 可組態執⾏行時期的設定 • 可與 Server 端的 JavaScript 互動 12年12月21⽇日星期五
40.
使⽤用⽅方法
• 設定 AndroidManifest.xml • 配置 layout 檔 • 撰寫程式 • 執⾏行與測試 12年12月21⽇日星期五
41.
設定
• 需開啟下列權限: • android.permission.INTERNET <manifest ... > <uses-permission android:name="android.permission.INTERNET" /> ... </manifest> 12年12月21⽇日星期五
42.
配置 Layout
<?xml version="1.0" encoding="utf-8"?> <WebView xmlns:android="http://schemas.android.com/apk/ res/android" android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" /> 12年12月21⽇日星期五
43.
撰寫程式 12年12月21⽇日星期五
44.
WebView
• android.webkit.WebView • 重要 API • loadData() • loadUrl() • zoomIn() / zoomOut() 12年12月21⽇日星期五
45.
WebView (cont)
• 導覽 (Navigation) API • canGoBack() / goBack() • canGoForward() / goForward() • canGoBackOrForward() / goBackOrForward() 12年12月21⽇日星期五
46.
• 取得 WebView
物件 • 指定網⾴頁瀏覽的設定 (Optional) • 組態⾴頁⾯面處理的⽅方法 (Optional) • ⾃自定使⽤用介⾯面 (Optional) • 指定網址或本地資料 12年12月21⽇日星期五
47.
取得 WebView 物件
WebView webView = (WebView) findViewById(R.id.webView) 12年12月21⽇日星期五
48.
變更瀏覽器的設定 WebSettings
settings = webView.getSettings(); settings.setSupportZoom(true); settings.setBuiltinZoomControls(true); settings.setJavaScriptEnabled(true); 12年12月21⽇日星期五
49.
WebSettings
• android.webkit.WebSettings • 存取 WebView 的組態資料 • 重要 API • setJavaScriptEnabled() • !! ALL !! 12年12月21⽇日星期五
50.
組態⾴頁⾯面處理⽅方法
webView.setWebViewClient( new WebViewClient() { // ... }); 12年12月21⽇日星期五
51.
WebViewClient
• android.webkit.WebViewClient • ⾃自定⾴頁⾯面的處理⽅方法 • 重要 API • onPageXXX() / onFormResubmission() • onLoadResource() / onReceivedError() / onReceivedHttpAuthRequest() 12年12月21⽇日星期五
52.
⾃自定使⽤用介⾯面
webView.setWebChromeClient( new WebChromeClient() { // ... }); 12年12月21⽇日星期五
53.
WebChromeClient
• android.webkit.WebChromeClient • 定義使⽤用介⾯面的事件處理 • 重要 API • onProgressChanged() • onReceivedXXX() / onjsXXX() • onCloseWindow() 12年12月21⽇日星期五
54.
指定網址或本地資料
網址 webView.loadUrl( “http://www.niceStudio.com.tw”); 本地資料 webView.loadData( “<h1>Hello World!!</h1>”); 12年12月21⽇日星期五
55.
JavaScript 整合 12年12月21⽇日星期五
56.
• WebView 可與
JavaScript 整合 • ⽅方式 • WebChromeClient.onjsXXX() • JavaScript ➞ WebView • WebView ➞ JavaScript 12年12月21⽇日星期五
57.
JavaScript ➞WebView
• WebView 可註冊 JavaScript 函數的處理 器 (Handler) • 步驟 • 撰寫類別與⽅方法 • 在 WebView 註冊處理器 12年12月21⽇日星期五
58.
<a href=”#” onclick=”android.say(‘hi’)”
/> HTML Activity public class WebViewActivity extends Activity { class JavaScriptHandler { public void say(String word) { Toast.makeText(context, word, Toast.LENGTH_LONG).show(); } } public void onCreate(Bundle bundle) { super.onCreate(bundle); webView = (WebView) findViewById(R.id.wv); webView.addJavaScriptInterface( new JavaScriptHandler(), “android”); } } 12年12月21⽇日星期五
59.
WebView➞JavaScript
• WebView 可直接呼叫網⾴頁中的 JavaScript 函數 webView.loadUrl(“javascript:changeColor(‘red’)”); Activity <script type=”text/javascript”> HTML function changeColor(c) { ... } </script> 12年12月21⽇日星期五
60.
實作 EPUB Reader 12年12月21⽇日星期五
61.
Why??
• 實作私有的 DRM • 實作特殊的效果或功能 12年12月21⽇日星期五
62.
實作⽅方法
• Bottom-Up • 利⽤用現成的 OpenSource Project 12年12月21⽇日星期五
63.
FBReader
• Free & OpenSource • Android 平台著名的 Reader • http://www.fbreader.org/ • ⽀支援的格式 • EPUB / HTML / FictionBook / Plucker / PalmDoc / TCR / RTF / ... 12年12月21⽇日星期五
64.
取得原始程式碼
• 從官網下載 • http://www.fbreader.org/FBReaderJ • 使⽤用 Git 下載 • git://github.com/geometer/FBReaderJ.git 12年12月21⽇日星期五
65.
準備
• Android SDK >= 1.6 • Android NDK >= r4b • Apache Ant >= 1.7.0 • Cygwin >= 1.7 (Windows Only) 12年12月21⽇日星期五
66.
編譯
1. 在專案⺫⽬目錄中建⽴立 local.properties 檔 sdk.dir=<DIR> ndk.dir=<DIR> 2. Windows: ndk-build -> ant release Unix / MacOS X: ant package 12年12月21⽇日星期五
67.
擴充 FBReaderJ
• <PROJECT>/src/org/geometerplus/ android/fbreader/ 12年12月21⽇日星期五
68.
Q&A 12年12月21⽇日星期五
Jetzt herunterladen