OpenOffice UNO    Application on      Android    依瑪貓/楊士青 imacat<imacat@mail.imacat.idv.tw>        2012/4/12
「 OpenOffice UNO Application on Android 」              簡報由 依瑪貓╱楊士青 製作,以 創用CC Attribution-ShareAlike 3.0 Unported 授權條款 釋出。
本簡報中英對照,不需同時讀中英文。 不過最好還是聽我講,而不是讀簡報。This presentation is in both Chinese  and English. You dont have toread both languages....
依瑪貓╱楊士青Apache OpenOffice Project  Management CommitteeOOo4Kids Development TeamLibreOffice Traditional Chinese TeamPast:  ...
OpenOffice History                                           2010                                           The Document F...
廣告時間Advertising
Volunteer Wanted!Apache OpenOffice 社群擴大招募中!        歡迎大家一起來玩!    Apache OpenOffice localcommunity need more volunteers.    ...
簡介Introduction
問題:  如何在行動裝置上用 OpenOffice ?           Question:How can you bring OpenOffice onto         mobile devices?
開發中的現有專案…There are several efforts…
LibreOffice on Android/iOSThe Document Foundation Blog, October 14, 2011  “LibreOffice port project to Android and iOS,   ...
IBM Lotus SymphonyViewer on Android/iOS
有一些方案了,但功能還不完整。Solutions exist, but none are not       fully working yet.
還要再等等…So we wait…
等等…Wait…
…
如果,我們只是要簡單的 Office 應用呢? But, if we only want some client           applications?
前兩年 (2010-2011) ,      我曾試著用 Web 行動應用,    把 OpenOffice 帶到行動裝置上。In the past two years (2010-2011), I tried demonstrating Op...
Bringing OpenOffice onto      Mobile Devices用 Impress 做簡報 遙控器…For Impress, a remote presentation controller… (2010 COSCUP)
Bringing OpenOffice onto     Mobile Devices            用 Writer 實作簡單             的文件處理流程…            For Writer, a        ...
Bringing OpenOffice onto       Mobile Devices用 Calc 做圖表報告 產生器…For Calc, a remote chart report generator…
我還玩了一點魔術( 2011 COSCUP )… And I even tried playing some   magic (2011 COSCUP)…
Playing Presentation Magic發撲克牌…Dealing poker cards…
Playing Presentation Magic             玩剪刀石頭布…             Playing rock-               paper-scissors…
Playing Presentation Magic跑 CAPTCHA…Running CAPTCHA…
Playing Presentation Magic             展示即時資訊…             Displaying real-              time              information…
OpenOffice UNO API    跨語言網路物件系統Universal Network Objects
透過 OpenOffice UNO API ,可以很容易從外部控制 OpenOffice 、變魔術。OpenOffice UNO API makes it very easy to control OpenOffice from  outsid...
OpenOffice UNO APIOpenOffice             UNO             APIWriter CalcImpress  …
OpenOffice UNO APIOpenOffice             Language Binding             UNO             APIWriter CalcImpress  …
OpenOffice UNO APIOpenOffice             Language Binding             UNO      C++             API                      Ja...
OpenOffice UNO APIOpenOffice             Language Binding             UNO      C++             API                      Ja...
OpenOffice UNO APIOpenOffice             Language Binding             UNO      C++             API                      Ja...
OpenOffice UNO APIOpenOffice             Language Binding             UNO      C++             API                      Ja...
OpenOffice UNO APIOpenOffice             Language Binding             UNO      C++             API                      Ja...
OpenOffice UNO APIOpenOffice                    Language Binding             UNO   Network   C++             API   Socket ...
利用網路的 UNO API ,輕輕鬆鬆就可以       建立 Office 雲端應用…We can easily construct cloud client applications upon the networked          ...
OpenOffice UNO                             Client Application A                                 C++OpenOffice          UNO...
OpenOffice UNO                             Client Application A                                 C++OpenOffice          UNO...
OpenOffice UNO                             Client Application A                                 C++OpenOffice          UNO...
OpenOffice UNO                              Client AServer                         Client Application A                   ...
… 做成 Web Office 應用。…as web applications.
Mobile Web Office                ApplicationServer                             Mobile Device  Mobile   Web                ...
但如果我們想直接做 Office 應用呢?But, what if we create the client      application directly?
行動 Office 辦公室應用Mobile Office Application
iOS ?不要吧… ^^;        Oh, no!Not the iOS application!
要玩 iOS ,要先有…         With iOS, you need…A Mac ($$$)Developer annual license fee ($$)Objective-CPicture source: Tarcy Ohttp...
那如果是 Android 呢?What about Android?
Android is Free每個人都可以自由開發 Android 應用。  想開發自己的程式應用,不用先付權利金。Android is a system that everyone can freely develop her/his own...
Android is AccessibleAndroid is available on Linux/Windows/ Mac Where I can work  on my free daily  Debian Linux  desktop ...
Android is Java        OpenOffice SDK 中         正好就有官方的         Java UNO 函式庫         。        OpenOffice has         offic...
Android is Java其實只需要下列四個 .jar 檔。Actually, you only need these four OpenOffice UNO .jar libraries.  juh.jar  jurt.jar  ridl...
但是花無百日紅…But, life is not always easy…
“Conversion to Dalvik format    failed with error 1.”
Dalvik 無法轉換 UNO Java .jar 檔!?Dalvik class file converter failed to convert the UNO Java libraries!?
我到處 Google 。但是很少人做 Android UNO 應用程式,       網路上也沒有什麼討論。      I Googled everywhere.  Since few people tried to build  OpenOf...
怎麼辦?Solution?
還好, Java .jar 檔只是 zip 壓縮檔。Luckily, we know that Java .jar files      are simply zipped files.
% for f in *.jar; do /opt/android-sdk-linux/platform-tools/dx --dex $f|| echo "failed in $f"; done; unset fUNEXPECTED TOP-...
幹得好!   所以只有 unoil.jar 有問題。          Good try!We know the problem lies within       unoil.jar now.
% mkdir unoil% cd unoil% unzip ../unoil.jar…% for f in `find * -name "*.class"`; do /opt/android-sdk-linux/platform-tools/...
所以問題是在com/sun/star/datatransfer/dnd/DNDConstants.class                     屬於   com.sun.star.datatransfer.dnd.DNDConstants...
還好我們用不到。就刪掉吧! We dont need it for our        application.So lets remove it for now.
% rm -f com/sun/star/datatransfer/dnd/DNDConstants.class% rm -f ../unoil.jar% zip -9 -r ../unoil.jar *%
成功了!It works now!
成果展示Demonstration
Presentation Controller      簡報搖控器
Working Model              執行模型             Projecto      Open                r          Office                           ...
OpenOffice UNO                              Client AServer                         Client Application A                   ...
下載程式碼    Download the Sourcehttps://github.com/imacat/mpresent-android
進一步資訊請詳閱 OpenOffice Developers GuideFor more information, check the OpenOffice Developers Guide.
謝謝!請提出問題。Thank you!Questions?
OpenOffice UNO Application on Android
OpenOffice UNO Application on Android
OpenOffice UNO Application on Android
Upcoming SlideShare
Loading in …5
×

OpenOffice UNO Application on Android

1,801
-1

Published on

OpenOffice UNO Application on Android
發表於OSDC 2012 2012/4/14 16:50第一會議室

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,801
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
29
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

OpenOffice UNO Application on Android

  1. 1. OpenOffice UNO Application on Android 依瑪貓/楊士青 imacat<imacat@mail.imacat.idv.tw> 2012/4/12
  2. 2. 「 OpenOffice UNO Application on Android 」 簡報由 依瑪貓╱楊士青 製作,以 創用CC Attribution-ShareAlike 3.0 Unported 授權條款 釋出。
  3. 3. 本簡報中英對照,不需同時讀中英文。 不過最好還是聽我講,而不是讀簡報。This presentation is in both Chinese and English. You dont have toread both languages. Actually, youhave best listen to me than read it.
  4. 4. 依瑪貓╱楊士青Apache OpenOffice Project Management CommitteeOOo4Kids Development TeamLibreOffice Traditional Chinese TeamPast: OpenOffice.org Traditional Chinese Translation Lead OpenOffice.org application developer Oracle/Sun freelance lecturer
  5. 5. OpenOffice History 2010 The Document Foundation LibreOffice1984 1999 2009 2011StarDivision Sun Microsystems Oracle Apache Software FoundationStarOffice OpenOffice.org OpenOffice.org Apache OpenOffice
  6. 6. 廣告時間Advertising
  7. 7. Volunteer Wanted!Apache OpenOffice 社群擴大招募中! 歡迎大家一起來玩! Apache OpenOffice localcommunity need more volunteers. Please come join us!
  8. 8. 簡介Introduction
  9. 9. 問題: 如何在行動裝置上用 OpenOffice ? Question:How can you bring OpenOffice onto mobile devices?
  10. 10. 開發中的現有專案…There are several efforts…
  11. 11. LibreOffice on Android/iOSThe Document Foundation Blog, October 14, 2011 “LibreOffice port project to Android and iOS, based on the voluntary work of Tor Lillqvist, a SUSE finnish developer know for having ported GIMP to Windows. The LibreOffice Android and iOS port has the objective of bringing the office suite to iPads and Android tablets, and eventually smaller devices. The user interface work has yet to start in earnest but the bulk of the code is compiling.”
  12. 12. IBM Lotus SymphonyViewer on Android/iOS
  13. 13. 有一些方案了,但功能還不完整。Solutions exist, but none are not fully working yet.
  14. 14. 還要再等等…So we wait…
  15. 15. 等等…Wait…
  16. 16.
  17. 17. 如果,我們只是要簡單的 Office 應用呢? But, if we only want some client applications?
  18. 18. 前兩年 (2010-2011) , 我曾試著用 Web 行動應用, 把 OpenOffice 帶到行動裝置上。In the past two years (2010-2011), I tried demonstrating OpenOffice onto mobile using mobile-web applications.
  19. 19. Bringing OpenOffice onto Mobile Devices用 Impress 做簡報 遙控器…For Impress, a remote presentation controller… (2010 COSCUP)
  20. 20. Bringing OpenOffice onto Mobile Devices 用 Writer 實作簡單 的文件處理流程… For Writer, a simple document processing system…
  21. 21. Bringing OpenOffice onto Mobile Devices用 Calc 做圖表報告 產生器…For Calc, a remote chart report generator…
  22. 22. 我還玩了一點魔術( 2011 COSCUP )… And I even tried playing some magic (2011 COSCUP)…
  23. 23. Playing Presentation Magic發撲克牌…Dealing poker cards…
  24. 24. Playing Presentation Magic 玩剪刀石頭布… Playing rock- paper-scissors…
  25. 25. Playing Presentation Magic跑 CAPTCHA…Running CAPTCHA…
  26. 26. Playing Presentation Magic 展示即時資訊… Displaying real- time information…
  27. 27. OpenOffice UNO API 跨語言網路物件系統Universal Network Objects
  28. 28. 透過 OpenOffice UNO API ,可以很容易從外部控制 OpenOffice 、變魔術。OpenOffice UNO API makes it very easy to control OpenOffice from outside (and play the magic).
  29. 29. OpenOffice UNO APIOpenOffice UNO APIWriter CalcImpress …
  30. 30. OpenOffice UNO APIOpenOffice Language Binding UNO APIWriter CalcImpress …
  31. 31. OpenOffice UNO APIOpenOffice Language Binding UNO C++ API JavaWriter CalcImpress …
  32. 32. OpenOffice UNO APIOpenOffice Language Binding UNO C++ API JavaWriter Python Perl CalcImpress …
  33. 33. OpenOffice UNO APIOpenOffice Language Binding UNO C++ API JavaWriter Python Perl Calc OLEImpress CLI COM …
  34. 34. OpenOffice UNO APIOpenOffice Language Binding UNO C++ API JavaWriter Python VB.NET Perl C# Calc … OLEImpress CLI COM …
  35. 35. OpenOffice UNO APIOpenOffice Language Binding UNO C++ API JavaWriter Python VB.NET Perl C# Calc … OLEImpress CLI Almost COM Everything! …
  36. 36. OpenOffice UNO APIOpenOffice Language Binding UNO Network C++ API Socket JavaWriter Python VB.NET Perl C# Calc … OLEImpress CLI Almost COM Everything! …
  37. 37. 利用網路的 UNO API ,輕輕鬆鬆就可以 建立 Office 雲端應用…We can easily construct cloud client applications upon the networked UNO API…
  38. 38. OpenOffice UNO Client Application A C++OpenOffice UNO APIWriter CalcImpress …
  39. 39. OpenOffice UNO Client Application A C++OpenOffice UNO APIWriter Client Application B Java CalcImpress …
  40. 40. OpenOffice UNO Client Application A C++OpenOffice UNO APIWriter Client Application B Java CalcImpress … Client Application C VB.NET
  41. 41. OpenOffice UNO Client AServer Client Application A C++ OpenOffice UNO API TCP/IP Client B Writer Network Client Application B Java Calc Impress … Client C Client Application C VB.NET
  42. 42. … 做成 Web Office 應用。…as web applications.
  43. 43. Mobile Web Office ApplicationServer Mobile Device Mobile Web BrowserApplication TCP/IP UNO Network Mobile Device API Browser Writer Calc Impress Mobile Device … Browser OpenOffice
  44. 44. 但如果我們想直接做 Office 應用呢?But, what if we create the client application directly?
  45. 45. 行動 Office 辦公室應用Mobile Office Application
  46. 46. iOS ?不要吧… ^^; Oh, no!Not the iOS application!
  47. 47. 要玩 iOS ,要先有… With iOS, you need…A Mac ($$$)Developer annual license fee ($$)Objective-CPicture source: Tarcy Ohttp://www.flickr.com/photos/tracy_olson/61056391/
  48. 48. 那如果是 Android 呢?What about Android?
  49. 49. Android is Free每個人都可以自由開發 Android 應用。 想開發自己的程式應用,不用先付權利金。Android is a system that everyone can freely develop her/his own toys on it. You dont have to pay a fee for your own device.
  50. 50. Android is AccessibleAndroid is available on Linux/Windows/ Mac Where I can work on my free daily Debian Linux desktop PC.
  51. 51. Android is Java OpenOffice SDK 中 正好就有官方的 Java UNO 函式庫 。 OpenOffice has official Java UNO libraries shipped with OpenOffice SDK.
  52. 52. Android is Java其實只需要下列四個 .jar 檔。Actually, you only need these four OpenOffice UNO .jar libraries. juh.jar jurt.jar ridl.jar unoil.jar
  53. 53. 但是花無百日紅…But, life is not always easy…
  54. 54. “Conversion to Dalvik format failed with error 1.”
  55. 55. Dalvik 無法轉換 UNO Java .jar 檔!?Dalvik class file converter failed to convert the UNO Java libraries!?
  56. 56. 我到處 Google 。但是很少人做 Android UNO 應用程式, 網路上也沒有什麼討論。 I Googled everywhere. Since few people tried to build OpenOffice UNO application onAndroid, nobody has ever discussed this before.
  57. 57. 怎麼辦?Solution?
  58. 58. 還好, Java .jar 檔只是 zip 壓縮檔。Luckily, we know that Java .jar files are simply zipped files.
  59. 59. % for f in *.jar; do /opt/android-sdk-linux/platform-tools/dx --dex $f|| echo "failed in $f"; done; unset fUNEXPECTED TOP-LEVEL EXCEPTION:com.android.dx.util.ExceptionWithContext: bogus byte value: 128… ... 14 more...while processing ACTION_DEFAULT B...while processing com/sun/star/datatransfer/dnd/DNDConstants.class1 error; abortingfailed in unoil.jar%
  60. 60. 幹得好! 所以只有 unoil.jar 有問題。 Good try!We know the problem lies within unoil.jar now.
  61. 61. % mkdir unoil% cd unoil% unzip ../unoil.jar…% for f in `find * -name "*.class"`; do /opt/android-sdk-linux/platform-tools/dx --dex $f || echo "failed at $f"; done; unset f… (This takes a long time.)UNEXPECTED TOP-LEVEL EXCEPTION:com.android.dx.util.ExceptionWithContext: bogus byte value: 128…Caused by: java.lang.IllegalArgumentException: bogus byte value: 128… ... 13 more...while processing ACTION_DEFAULT B...while processing com/sun/star/datatransfer/dnd/DNDConstants.class1 error; abortingfailed at com/sun/star/datatransfer/dnd/DNDConstants.class%
  62. 62. 所以問題是在com/sun/star/datatransfer/dnd/DNDConstants.class 屬於 com.sun.star.datatransfer.dnd.DNDConstants So the problem lies withincom/sun/star/datatransfer/dnd/DNDConstants.class, which belongs to com.sun.star.datatransfer.dnd.DNDConstants.
  63. 63. 還好我們用不到。就刪掉吧! We dont need it for our application.So lets remove it for now.
  64. 64. % rm -f com/sun/star/datatransfer/dnd/DNDConstants.class% rm -f ../unoil.jar% zip -9 -r ../unoil.jar *%
  65. 65. 成功了!It works now!
  66. 66. 成果展示Demonstration
  67. 67. Presentation Controller 簡報搖控器
  68. 68. Working Model 執行模型 Projecto Open r Office UNO on Androi d Prese ntationDais PCOpenOffic e in TCP/IP Mobile Server Wireless Device Mode
  69. 69. OpenOffice UNO Client AServer Client Application A C++ OpenOffice UNO API TCP/IP Client B Writer Network Client Application B Java Calc Impress … Client C Client Application C VB.NET
  70. 70. 下載程式碼 Download the Sourcehttps://github.com/imacat/mpresent-android
  71. 71. 進一步資訊請詳閱 OpenOffice Developers GuideFor more information, check the OpenOffice Developers Guide.
  72. 72. 謝謝!請提出問題。Thank you!Questions?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×