• 沒有找到結果。

互動式多媒體簡訊系統之相關研究

二、 相關研究

2.2 互動式多媒體簡訊系統之相關研究

2.2.1 使用 Java 做為發展平台之原因

就如我們所知Java 的一個重要特性就是跨平台,也就是說 Java 應用程式 開發者只要撰寫一次程式碼,便可以在各種不同的平台上執行,亦即「寫一次程 式, 任何地方都可執行與呈現」,這個特性對手機上應用程式的開發更是重要,

為什麼這麼說呢?因為現在手機功能越來越強大,使用量也越來越大,所以有越 來越多的廠商投入手機的開發及生產,但每一家廠商的手機可能有自己的作業平 台,若想要在手機上開發應用程式,就必須針對每一種作業平台來開發在上面可 以執行的應用程式,這個工程將十分浩大,此外若有一種新的作業平台的手機再 推出,則必須再修改或重新開發此一相同之應用程式,這樣的作法就變得不切實 際。我們開發的應用程式主要希望是花時間和精力在此應用程式的功能及可用 性,而不是在平台的研究,因此選用Java 來作為手機上的開發程式,如此,只 要手機廠商在其作業平台上提供符合規格的Java 虛擬機器(Java Virtual Machine)即可執行我們所開發的應用程式。

Java 的函式庫是被分類過的,也就是說所有的函式是被分門別類地放在不 同的類別下,因此稱為類別函式庫。在Java 規格中有一組核心類別函式庫(Core Class, 即 java.*)以及擴充類別函式庫(Extended Class, 即 javax.*),根 據這兩種類別所支援的程度,昇陽公司(Sun Micro System )[12]區分出三種 不同的Java 版本,如下圖所示:

圖2 Java 版本函式庫關係圖

圖2 說明了越往方塊外層,支援的類別函式庫越完整,反之,越往方 塊內層則支援的類別函式庫就越少。Java 模擬器 J2ME(Java 2 Micro Edition) [8]版本 就是讓 Java 應用程式開發者可開發符合嵌入式系統之 消費性電子裝置的應用程式軟體。本研究所使用的Java 版本便是 J2ME。

2.2.2 J2ME 介紹與其扮演之角色

在Java 模擬器 J2ME(Java 2 Platform, Micro Edition)版本中為了達 到跨平台與支援各種裝置[8],提出了表面配置(Configuration)和外觀 (Profile)兩種概念。所謂表面配置(Configuration)是針對某一個範圍內的 裝置所定義的一些基本且通用的類別函式庫,例如個人電腦(PC)和遠端裝 置(remote device)就是使用不同的表面配置(Configuration),而外觀 (Profile)則是對於特定類型的裝置定義一組通用的函式庫,因此每一種不同 類型的裝置架構即使架構在同一個表面配置(Configuration)上也可能擁 有不同的外觀(Profile),例如手機和 PDA 兩者架構在同樣為行動裝置的表 面配置(Configuration)上,但外觀(Profile)並不相同。如下圖所示:

J2EE J2SE

J2ME

圖3 Java 模擬器(JVM)架構圖 資料來源:http://java.sun.com/j2me/

由上圖即可看出只要符合 Java 語法(Profile 1、2、3…等)之應用程式就可 在Java 模擬器(Java Virtual Machine)上面執行而不需理會其平台(Host Operating System)為何種作業系統。

圖4 Java 模擬器分布圖 資料來源:http://java.sun.com/j2me/

上圖即為J2ME的架構圖,J2ME在設計規格時,導循著「對於各種不同裝 置而造出一個單一的開發系統是沒有意義的事」這個基本原則[8] [1],因此將

嵌入式裝置大致分成兩種,一種是運算功能有限、電力供應也有限的裝置,如手 機、PDA等,針對此類裝置,J2ME定義了CLDC(Connected Limited Device Configuration) [8] [29];另一種是運算功能相對起來比較好、電力供應上相 對也比較充足的裝置,如:高階PDA、冷氣機、電冰箱等等,針對此類裝置,J2ME 定義了CDC(Connected Device Configuration) [34]。如下表1可看出在CLDC 與CDC之間其不同之規格需求。

表1 CLDC及CDC最少配備需求

Configuration VM CPU Memory Power CDC CVM 32-bit 512kB ROM

256kB RAM

No limit

CLDC KVM 16/32-bit 160~512kB battery

本研究是利用MIDP(Mobile Information Device Profile) [6]這個 Profile 來開發手機上的應用程式,由圖四我們可以知道 MIDP[6]是架構在 CLDC[29]之上,因此所有 CLDC[29]中的函式庫都可以在撰寫 MIDP[6]應用 程式時呼叫使用,下一節將會更詳細介紹MIDP[6]。

2.2.3 MIDP 介紹與其扮演之角色

MIDP(Mobile Information Device Profile) [6]包含應用程式模組,它 主要是提供使用者介面讓使用者能與應用程式互動。其中包括使用者介面模組, 所需要的類別檔(.class)及資源檔(如圖片、文字檔等),而多個 MIDlet 就組成 了MIDlet suite。

在手機上執行的MIDlet 應用程式是被包裝成 Jar 檔,且每個 Jar 檔會有一 個相對應的描述檔(Description File, *.jad),用來描述該 Jar 檔的基本資料 以及內含的MIDlet 之相關資訊(類別名稱、圖示、程式名),Jad 檔是一個外部 檔案,亦即不包含在JAR 檔內部;除了 Jad 檔這個外部檔案以外,在 Jar 檔內 也有一個內部的描述檔,稱為清單檔(Manifest File),也是用來描述這個 Jar 檔的基本資料,以及內含的MIDlet 之相關資訊 (類別名稱、圖示、程式名)。

接著我們來看一個MIDlet 的開發流程,如下圖所示:

圖5 Java 程式(MIDLet)開發流程圖 FC(File Connection) 模組,它主要是提供 Java 應用程式開發者對 Java 模擬 器外部檔案存取的相關功能應用介面,例如:讀取圖形檔案格式:JPEG、PNG;

影片檔案格式:3GP、MP4[21];音樂檔案格式:MP3、MID。個人資訊系統 PIM(Personal Information Management)模組,它主要是提供 Java 應用程 式開發者對Java 模擬器外部的個人資訊存取的相關功能應用介面。例如:讀取

圖6 Java 外部檔案系統 FC(File Connection)模組架構圖 圖 6 可看出 Java 應用程式開發者在應用 JSR75[26]程式介面時會透過 Java 的語法然後再經由外部檔案存取系統介面串連到實體層來存取檔案。

而在本研究的資料存取模組主要就是使用Java 外部檔案系統(JSR75) [26]存 取應用介面來實作Java 模擬器內互動式多媒體簡訊內容的檔案存取功能。

2.2.5 JSR135 介紹與其扮演之角色

Java 多媒體系統(JSR135)[28]應用介面包含多媒體 MMAPI(Multimedia API)模組,它主要是提供 Java 應用程式開發者對多媒體的相關功能應用介面,

例如:播放影片,播放音樂,錄音,錄影,拍照。

下圖7 為 Java 多媒體系統 MMAPI(Multimedia API)播放模組架構圖:

File Database J2ME App (MIDlet)

File Connection API

1.jpg 2.png 3.gif

1.3gp 2.mp4

1.mid 2.mp3

實體層

Java層

Image Video Sound

圖7 Java 多媒體系統 MMAPI(Multimedia API)播放模組架構圖 圖 7 可看出 Java 應用程式開發者在應用 JSR135[28]程式介面時會透過 Java 的語法中的多媒體模組管理者(Media Player Manager)取得新的播放模 組(Player) 例如:MP3 音樂播放模組。而新的播放模組(Player)會再由多媒體 內容資料庫(Media Data Source)取得多媒體資料來源檔提供給來源檔控制模 組(Metadata Control)使用然後再經由以下一個模組來控制每一個播放功能例 如:

z 音樂播放模組裡的音量控制(Volume Control)。

z 音樂來源檔控制(Metadata Control)。

z 播放或停止播放時間控制(Stop Time Control)。

而在本研究的簡訊樣版模組主要就是使用 Java 多媒體系統(JSR135)[28]

播放應用介面來實作Java 模擬器內互動式多媒體簡訊的內容播放功能,而簡訊 編輯模組主要就是使用Java 多媒體系統(JSR135)[28] 錄製應用介面來實作 Java 模擬器內互動式多媒體簡訊的內容編輯功能。

Player (mp3)

Media Player Manager

Volume

Control Metadata Control

Stop Time Control Media

Data Source

Create Player

Get Control Get Control

Get Control

2.2.6 JSR120 介紹與其扮演之角色

Java 簡訊系統(JSR120)[27]應用介面包含簡訊系統 WMA (Wireless Messaging API)模組,它主要是提供 Java 應用程式開發者對簡訊的相關功能 應用介面,例如:傳送Java 簡訊(SMS)。

其架構圖如下圖所示:

圖8 Java 簡訊系統(SMS)模組架構圖

圖 8 可看出 Java 應用程式開發者在應用 JSR120[27]程式介面時會用以下 步驟來完成簡訊之發送:

z 透過 Java 的語法中的通用連接框架(Generic Connection Framework)[35]模組管理者。

z 取得新的簡訊傳送模組(Message Connection)。

z 透過此簡訊傳送模組(Message Connection)產生簡訊控制者(Message Connection Listener)。

z 然後再經由此簡訊控制者(Message Connection Listener)模組來傳送簡 訊(Message) 。

而簡訊內容可分為文字簡訊(Text Message)或二元資料簡訊(Binary Message)。

Connection

Message

Text Message Binary Message Message Connection

Message Listener

通用聯接框架(Generic Connection Framework)

簡訊系統(WMA)

相關文件