www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]設(shè)計了這個基于J2ME手機(jī)相冊系統(tǒng)。這個系統(tǒng)利用了J2ME和流技術(shù)實現(xiàn)對數(shù)碼照片的顯示。用戶將自己的照片發(fā)布到相應(yīng)的 web服務(wù)器上,可以隨時通過手機(jī)登陸該網(wǎng)站,訪問自己的數(shù)碼照片,把網(wǎng)站的地址告訴親朋則可以與大家分享這些美麗的瞬間。

1 引言

有關(guān)資料表明,到2005年,全球的移動電話將超過14億部,移動電話深入每個人的生活,讓具有“無線通信、隨身攜帶”特性的移動電話伴隨著因特網(wǎng)的發(fā)展使得移動應(yīng)用前景無限。目前,手機(jī)上的軟件發(fā)展經(jīng)歷了三個階段: 最早只有基本的語音服務(wù),其后增加了簡單的附加應(yīng)用,接著出現(xiàn)了WAP 方式使移動終端能訪問Internet 的功能。發(fā)展到當(dāng)前這個階段,利用J2ME(Java 2 Micro Edition) 實現(xiàn)移動應(yīng)用是一種良好的途徑。

隨著人們物質(zhì)文化水平的提高,數(shù)碼產(chǎn)品已經(jīng)步入了百姓的日常生活,越來越多來的人擁有了數(shù)碼相機(jī)或數(shù)碼攝像機(jī)。這些設(shè)備拍攝的照片只能利用特殊的設(shè)備才可以瀏覽,那么如果我們可以利用隨身攜帶的手機(jī)查看數(shù)碼照片將是一件非常理想的事情。

基于這一想法,我們設(shè)計了這個基于J2ME手機(jī)相冊系統(tǒng)。這個系統(tǒng)利用了J2ME和流技術(shù)實現(xiàn)對數(shù)碼照片的顯示。用戶將自己的照片發(fā)布到相應(yīng)的 web服務(wù)器上,可以隨時通過手機(jī)登陸該網(wǎng)站,訪問自己的數(shù)碼照片,把網(wǎng)站的地址告訴親朋則可以與大家分享這些美麗的瞬間。

2 相關(guān)技術(shù)介紹

2.1 J2ME介紹

Sun 在1999年6月時推出了 Java 2袖珍版 (J2ME)來滿足消費電子和嵌入設(shè)備的需要。J2ME是為了那些使用有限的能源、有限的網(wǎng)絡(luò)連接(常常是無線連接)以及有限圖形用戶界面能力的設(shè)備開發(fā)的。J2ME針對硬件的數(shù)據(jù)處理能力、存儲容量、網(wǎng)絡(luò)連接能力等規(guī)定了Configuration的概念,把上述運(yùn)算功能有限、電力有限的嵌入式裝置定義在Connected Limited Device Configuration(CLDC)規(guī)格之中;而另外一種裝置則規(guī)范為Connected Device Configuration(CDC)規(guī)格。CLDC所使用的java虛擬機(jī)稱為KVM,而CDC所使用的則稱為CVM。J2ME的體系結(jié)構(gòu)如圖1所示。

圖1 java2 平臺

2.2 J2ME與Web的Http連接

Web由客戶與服務(wù)器組成。客戶是簡單由TCP/IP加上Web瀏覽器組成,WEB服務(wù)器由HTTP加后臺數(shù)據(jù)庫組成??蛻舻臑g覽器和服務(wù)器用TCP/IP的HTTP(超文本傳輸協(xié)議)建立連接,使得客戶與服務(wù)器二者的超媒體傳輸變得很容易。所有的客戶及WEB服務(wù)器統(tǒng)一使用TCP/IP,統(tǒng)一分配IP,使得客戶和服務(wù)器的邏輯連接變成簡單的點對點連接。URL(統(tǒng)一資源定位器)實現(xiàn)了單一文檔能在整個國際互聯(lián)網(wǎng)主機(jī)中的定位??蛻舻恼埱笸ㄟ^WEB服務(wù)器的CGI(公用網(wǎng)關(guān)接口)可以很好地與后臺的各種類型數(shù)據(jù)接口。

J2ME 提供了HTTP ,TCP 等高級Internet協(xié)議,使移動電話能直接訪問已有Internet 的全部信息, 通過它能讓用戶方便地實現(xiàn)手機(jī)網(wǎng)與Internet的互連和資源共享。

2.3 流技術(shù)

Java流在處理上分為字符流和字節(jié)流。字符流處理的單元為2個字節(jié)的Unicode字符,分別操作字符、字符數(shù)組或字符串,而字節(jié)流處理單元為1個字節(jié),操作字節(jié)和字節(jié)數(shù)組。Java內(nèi)用Unicode編碼存儲字符,字符流處理類負(fù)責(zé)將外部的其他編碼的字符流和java內(nèi)Unicode字符流之間的轉(zhuǎn)換。java對網(wǎng)絡(luò)數(shù)據(jù)的發(fā)送和接收處理,也借用了一般流處理的方法。JDK1.4中新增加了新的I/O流處理,其中緩沖區(qū)管理和通道(Channel)概念則是對網(wǎng)絡(luò)數(shù)據(jù)流的收發(fā)處理支持的強(qiáng)化。緩沖區(qū)管理中ByteBuffer類更好的支持了網(wǎng)絡(luò)數(shù)據(jù)流處理。在網(wǎng)絡(luò)連接中,通道代表了sockets的連接。我們正是利用字節(jié)流DataOutputStream來向Web服務(wù)器傳送消息,而利用字節(jié)流DataInputStream接收從服務(wù)器返回的信息,從而實現(xiàn)了手機(jī)共享Internet的資源。

3 系統(tǒng)的設(shè)計思想

手機(jī)相冊實際上是通過Http協(xié)議使手機(jī)與服務(wù)器和數(shù)據(jù)庫連接,使用流技術(shù)來傳送數(shù)據(jù)信息,使得手機(jī)用戶可以看到服務(wù)器上存放的數(shù)碼照片,服務(wù)器起到的是手機(jī)與照片資源之間通信的橋梁作用。

手機(jī)用戶將通過Internet訪問數(shù)據(jù)庫,經(jīng)過身份驗證后將需求告訴服務(wù)器,服務(wù)器把用戶請求的資源以流的形式進(jìn)行包裝,并傳送給手機(jī)用戶。J2ME在手機(jī)上接收流,并將數(shù)據(jù)重組為圖像,顯示在手機(jī)屏幕上。當(dāng)用戶發(fā)出結(jié)束命令,這時服務(wù)器將發(fā)出信號要求結(jié)束與服務(wù)器連接,提示用戶是否斷開網(wǎng)絡(luò),若用戶選擇斷開網(wǎng)絡(luò),則關(guān)閉網(wǎng)絡(luò)連接。由此可見本系統(tǒng)的關(guān)系圖如圖2所示。

圖2 體系結(jié)構(gòu)圖

4關(guān)鍵問題的解決

4.1手機(jī)與web服務(wù)器的連接

目前有多種與web服務(wù)器連接方式,為了使其使用方便和便于理解,本系統(tǒng)使用了HTTP的聯(lián)結(jié)方式。通過對HttpConnection類進(jìn)行編程可以實現(xiàn)手機(jī)與Web服務(wù)器的Http連接,利用DataOutputStream類可以把向服務(wù)器發(fā)送的命令封裝進(jìn)流中進(jìn)行傳送。手機(jī)端的部分連接代碼如下:

HttpConnection hpc = null;

DataOutputStream dos = null;

strIp = "http://127.0.0.1:8080 /Login.jsp ";

try {

hpc = (HttpConnection) Connector.open(strIp, Connector.READ_WRITE);

hpc.setRequestMethod(HttpConnection.POST);

hpc.setRequestProperty("Content-Type",

"application/x-www-form-urlencoded");

dos = new DataOutputStream(hpc.openDataOutputStream());

dos.write( ("no=" + stname).getBytes());

dos.write("&".getBytes());

dos.write( ("pass=" + stpass).getBytes());

dos.close();

……

}

通過以上代碼,可以實現(xiàn)連接web服務(wù)器,并且post出去兩個參數(shù),以便服務(wù)器驗證用戶身份。其他向服務(wù)器傳送命令的代碼類似。

當(dāng)MySearch.jsp得到MyGet參數(shù)時,JSP得到服務(wù)器上存放照片文件夾的圖像文件列表,將文件名逐一傳送到客戶端。

String jname=request.getParameter("MyGet");

if(jname.equals("IsOk")){

……

out.print(XXX.png); //循環(huán)打印文件名

……

}

在手機(jī)客戶端利用DataInputStream類接收數(shù)據(jù),再將的到的文件名顯示再手機(jī)屏幕上,以便用戶選擇瀏覽。其代碼如下:

HttpConnection hpc = null;

DataInputStream dis = null;

hpc = (HttpConnection) Connector.open(localUrl, Connector.READ_WRITE);

……

dis = new DataInputStream(hpc.openDataInputStream());

StringBuffer b = new StringBuffer();

int ch;

while ( (ch = dis.read()) != -1) {

……

}

……

4.2利用流傳輸文件及文件的再現(xiàn)

手機(jī)得到web服務(wù)器上的文件可以通過多種方式,例如利用XML進(jìn)行包裝,利用Socket技術(shù),利用流技術(shù)進(jìn)行傳送等。為了減少手機(jī)和服務(wù)器的負(fù)擔(dān),提高效率,減少代碼本系統(tǒng)采用流技術(shù)傳送圖像文件。在手機(jī)端利用InputStream類接收得到的圖像信息數(shù)據(jù)。其代碼如下:

public Image MyImage;

public String ImageName;

……

HttpConnection con = null;

InputStream ins = null;

String MyIp = "http://127.0.0.1:8080/"+ ImageName;

try {

con = (HttpConnection) Connector.open(MyIp, Connector.READ_WRITE);

……

ins = con.openDataInputStream();

MyImage = Image.createImage(ins);

}

……

向web服務(wù)器提出申請后,服務(wù)器會返回用戶請求的資源,圖像文件備包裝進(jìn)一個Stream發(fā)送給用戶。J2ME利用InputStream來接收輸入流,并利用Image的createImage方法將數(shù)據(jù)流轉(zhuǎn)換為Image類型,以便在手機(jī)上顯示。

5 總結(jié)

本文給出了一個基于J2ME 的個人相冊的設(shè)計和實現(xiàn),保證了用戶及時地通過移動終端訪問服務(wù)器上的照片。采用流作為數(shù)據(jù)交換的工具,實現(xiàn)了文件的遠(yuǎn)程傳遞和重組。。利用當(dāng)前使用最廣泛的HTTP 通信協(xié)議,將傳統(tǒng)的Internet 網(wǎng)站與移動終端相結(jié)合,驗證了建立移動個人相冊的可行性。并為實現(xiàn)基于J2ME 的小型移動圖像瀏覽系統(tǒng)提供了一種可行的方案。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

日前,OPPO宣布作為許可方加入知名專利池管理公司Access Advance LLC的視頻分發(fā)專利池(“VDP”, Video Distribution Patent),該池主要向全球主要的流媒體互聯(lián)網(wǎng)公司收取專利費。...

關(guān)鍵字: 流媒體 OPPO VDP池

本文將介紹基于米爾電子MYD-YM62X開發(fā)板(米爾基于TI AM62開發(fā)板)的部署流媒體服務(wù)實現(xiàn)監(jiān)控功能方案的開發(fā)測試。摘自優(yōu)秀創(chuàng)作者-HonestQiao

關(guān)鍵字: 流媒體 開發(fā)板 USB攝像頭

上海2025年4月23日 /美通社/ -- 2025年4月16日下午,美通社與界面財聯(lián)社聯(lián)合舉辦的媒體開放日活動在界面財聯(lián)社上海辦公區(qū)會議室舉行。界面財聯(lián)社黨委委員、副總裁,界面新聞高級副總裁,上海報業(yè)傳媒行業(yè)協(xié)會副會長...

關(guān)鍵字: AI 人工智能 流媒體 大數(shù)據(jù)

為增進(jìn)大家對嵌入式的認(rèn)識,本文將對嵌入式開發(fā)以及學(xué)習(xí)嵌入式需要注意的事項予以介紹。

關(guān)鍵字: 嵌入式 指數(shù) 嵌入式開發(fā)

中國上海,2025年4月7日 — 全球領(lǐng)先的嵌入式系統(tǒng)開發(fā)軟件解決方案供應(yīng)商IAR正式發(fā)布全新云就緒平臺,為嵌入式開發(fā)團(tuán)隊提供企業(yè)級的可擴(kuò)展性、安全性和自動化能力。該平臺于在德國紐倫堡舉辦的embedded world...

關(guān)鍵字: 自動化 嵌入式開發(fā) RISC-V

在嵌入式系統(tǒng)開發(fā)領(lǐng)域,VS Code(Visual Studio Code)作為一款輕量級但功能強(qiáng)大的代碼編輯器,正逐漸成為開發(fā)者的首選工具。本文將詳細(xì)介紹如何在VS Code上搭建嵌入式開發(fā)環(huán)境,并分享一些調(diào)試技巧。

關(guān)鍵字: VS Code 嵌入式開發(fā)

隨著汽車電子化、智能化程度的不斷提高,車載以太網(wǎng)(Automotive Ethernet)作為新一代車載網(wǎng)絡(luò)通信技術(shù),正逐漸成為汽車內(nèi)部通信的主干網(wǎng)絡(luò)。它以其高帶寬、低延遲和強(qiáng)抗干擾能力,為汽車提供了更加高效、可靠的數(shù)據(jù)...

關(guān)鍵字: 車載以太網(wǎng) 嵌入式開發(fā)

隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,嵌入式系統(tǒng)對實時性、低功耗和可擴(kuò)展性的要求越來越高。Zephyr RTOS(實時操作系統(tǒng))作為一款專為資源受限設(shè)備設(shè)計的開源RTOS,憑借其輕量級、模塊化和高可擴(kuò)展性,在嵌入式開發(fā)領(lǐng)域得到了廣泛...

關(guān)鍵字: 嵌入式開發(fā) Zephyr RTOS 物聯(lián)網(wǎng)

除了多年來一直是DIY技術(shù)愛好者的最愛之外,Pi 5與之前的版本相比,將事情提升到了一個新的水平。它擁有更快的CPU,改進(jìn)的圖形和更好的冷卻,同時仍然保持其緊湊和低功耗的設(shè)計。

關(guān)鍵字: 樹莓派5 CPU 流媒體

此外,使用AI流媒體數(shù)據(jù)為企業(yè)和行業(yè)提供了競爭優(yōu)勢。實時和流數(shù)據(jù)分析的AI允許及時,連續(xù)的流程管理最新的數(shù)據(jù),而不是傳統(tǒng)方式,并且以不同的間隔處理了幾批信息。帶有一個用于流和批處理數(shù)據(jù)的平臺的數(shù)據(jù)孤島是舊新聞,用自動化工...

關(guān)鍵字: AI 流媒體
關(guān)閉