張龍志 劉大領(lǐng) 韓冬
摘 要:隨著3G時(shí)代的到來,移動(dòng)用戶可以高速享受Internet的服務(wù)。市場(chǎng)基于Android系統(tǒng)的文檔處理軟件已被廣泛應(yīng)用于各類移動(dòng)設(shè)備上,極大地拓展了人們的閱讀空間。文章提出了一種基于Android的PDF文件瀏覽的閱讀模型,在此模型的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了基于Android的文件瀏覽與PDF格式轉(zhuǎn)換軟件,開發(fā)一個(gè)質(zhì)量?jī)?yōu)秀、功能齊全同時(shí)又可彰顯用戶個(gè)性的文檔處理程序已經(jīng)成為一種趨勢(shì)。本項(xiàng)目的實(shí)施正是著眼于此,經(jīng)過試驗(yàn)驗(yàn)證,該軟件有效的解決了對(duì)WORD、EXCEL、JAVA及PDF的瀏覽、個(gè)性化換膚、發(fā)郵件及對(duì)根目錄文檔進(jìn)行掃描并增加附件、截屏等問題,同時(shí)可以將其他格式轉(zhuǎn)換成PDF格式并保存。
關(guān)鍵詞:Android平臺(tái);多文檔閱讀器;Java技術(shù)
目前,基于Java語(yǔ)言的Android手機(jī)尤其被開發(fā)人員所鐘愛,Android應(yīng)用程序是用Java(TM)語(yǔ)言寫成的,使用JDK的javac(或等效工具,例如ECJ)來編譯。
1 相關(guān)技術(shù)介紹
1.1 開發(fā)語(yǔ)言
本次設(shè)計(jì)運(yùn)用Android平臺(tái)手機(jī)作為研究開發(fā)對(duì)象,配備Java語(yǔ)言開發(fā)設(shè)計(jì)及面向?qū)ο笏枷朐O(shè)計(jì)了一種手機(jī)多文檔閱讀器。本軟件鑒于此良好發(fā)展前景,開發(fā)一款基于Android的文件瀏覽與PDF格式轉(zhuǎn)換軟件,用戶可以通過此軟件對(duì)WORD、EXCEL、JAVA及PDF進(jìn)行瀏覽,根據(jù)用戶的個(gè)性化需求換膚,滿足用戶發(fā)郵件并通過瀏覽SD卡對(duì)根目錄文檔進(jìn)行掃描,增加附件,用戶喜歡的段落或文章能截屏,同時(shí)可以轉(zhuǎn)換成PDF格式,便于保存。
1.2 開發(fā)平臺(tái)
Eclipse是一個(gè)開放源代碼、基于Java的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。Eclipse附帶一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(Java Development Tools,JDT)。
2 多文檔閱讀器軟件的設(shè)計(jì)與實(shí)現(xiàn)
2.1 主界面設(shè)計(jì)(見圖1)
軟件主界面,軟件設(shè)有文件查看、發(fā)送郵件、掃描文件、更換皮膚按鈕,點(diǎn)擊手機(jī)菜單鍵,并設(shè)有退出與關(guān)于。
2.2 數(shù)據(jù)概念結(jié)構(gòu)設(shè)計(jì)(見圖2)
2.3 關(guān)鍵代碼實(shí)現(xiàn)
圖片轉(zhuǎn)換PDF核心代碼:
ImageToPdf.java
public class ImageToPdf {
public static void imageToPdf(String imagePath,String setPath) throws BadElementException, MalformedURLException, IOException{
File f=new File(imagePath);
// 寫PDF文件.
//BufferedImage img = ImageIO.read(f);
Bitmap img=BitmapFactory.decodeFile(imagePath);
FileOutputStream fos = new FileOutputStream(setPath);
// 創(chuàng)建PDF文檔
Document doc = new Document(null, 0, 0, 0, 0);
// 設(shè)置尺寸為圖片尺寸
com.itextpdf.text.Rectangle r=new com.itextpdf.text.Rectangle(img.getWidth(), img.getHeight());
doc.setPageSize(r);
Image image = Image.getInstance(imagePath);
//Bitmap image=BitmapFactory.decodeFile(setPath);
//BitmapDrawable bmpDraw=new BitmapDrawable(image);
try {
PdfWriter.getInstance(doc, fos);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
doc.open();
try {
doc.add(image);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
doc.close();
}
}
2.4 系統(tǒng)應(yīng)用優(yōu)勢(shì)
本系統(tǒng)具體優(yōu)勢(shì)為(1)用戶體驗(yàn)良好,使用簡(jiǎn)單,換膚功能界面感官好。(2)文檔處理速度快,文件閱讀轉(zhuǎn)換便捷。(3)溝通擴(kuò)展性好。將文檔以附件形式發(fā)送郵件,交流便捷。(4)PDF文件好。系統(tǒng)采用PDF文件以其更加安全可靠的電子文檔分發(fā)和交換為特點(diǎn),可以保留原始文檔的外觀和完整性;不受操作系統(tǒng)、原始應(yīng)用程序或字體的限制,自由共享;PDF文件緊湊,易于交換;適合屏幕上閱覽,其精確的顏色匹配不損失清晰度,并有高效瀏覽和加密特性。
3 結(jié)束語(yǔ)
通過對(duì)Android核心技術(shù)的分析和研究,實(shí)現(xiàn)了基于Android的多文檔閱讀器軟件。系統(tǒng)具有編程簡(jiǎn)化、安全可靠性高、開發(fā)成本低、易于實(shí)現(xiàn)等優(yōu)點(diǎn)。不僅滿足了移動(dòng)客戶端對(duì)各種主流文檔格式的瀏覽,也對(duì)今后客戶端文件的操作開發(fā)有一定參考價(jià)值。
參考文獻(xiàn)
[1]楊豐盛.Android應(yīng)用開發(fā)揭秘[M].北京:機(jī)械工業(yè)出版社,2010:230-340.
[2]郭宏志.Android應(yīng)用開放詳解[M].北京:電子工業(yè)出版社,2010:10-200.
[3]張錕.基于Android手機(jī)的智能遙控器設(shè)計(jì)[J].電子世界,2012(09):39-41.
[4]韓超.Android經(jīng)典應(yīng)用程序開發(fā)[J].人力資源出版社,2011.
作者簡(jiǎn)介:張龍志,男,大三學(xué)生,專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)。
劉大領(lǐng),男,大三學(xué)生,專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)。
*通訊作者:韓冬,女,辦公室主任,主要研究方向:計(jì)算機(jī)應(yīng)用。