999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

智能手機通過甩動完成資料快速傳遞方法的研究與實現

2013-12-31 00:00:00謝思健董懿楊昱昺
科技創新與應用 2013年18期

摘 要:Android智能手機是目前應用最廣泛的智能手機平臺。音樂、視頻播放是目前手機的通用軟件,雖然應用廣泛,但在音頻文件和視頻文件等共享方面還停留在傳統的文件拷貝上,費時費力。如果研發一種具備通過手機甩動,能快速傳遞資料方法的音樂、視頻播放器,將提高用戶手機文件共享的便利性。本文詳細介紹了手機甩動觸發事件的機理,并介紹了目前常用的兩種發送方法:利用服務器轉發和SOCKET的點對點傳送,為廣大Android智能手機愛好者提供寶貴的參考價值。

關鍵詞:Android;甩動發送;服務器;SOCKET

1 引言

Android是以Linux為基礎的開放源碼操作系統,主要用于便攜設備。作為谷歌企業戰略的重要組成部分,基于Android的各種移動設備已被廣大的用戶使用。因此使得基于Android平臺的開發得到了巨大的發展。

音樂、視頻播放是目前手機的通用軟件,雖然應用廣泛,但在音頻文件和視頻文件等共享方面還停留在傳統的文件拷貝上,費時費力。如研發一種具備通過手機甩動,能快速傳遞資料方法的音樂、視頻播放器,將提高用戶手機文件共享的便利性。

在Android手機平臺上實現兩臺媒體間的資料傳輸有很多途徑,但是方法就兩種。一種是一對多的傳輸,一種是點對點的傳輸。

一對多的傳輸,其實就是在兩臺媒體之間再找一個媒介,也就是設置一個服務器做中轉站,“中轉”要傳輸的資料。目前,通過STRUTS在TOMCAT服務器上構建一個“中轉站”已非難事,因此,關于文件傳輸的第一個方法是通過服務器來解決。

一對一的傳輸,就是兩個手機間直接傳輸,可通過SOCKET解決點對點傳輸問題。

2 實現方法

2.1 甩動方式的事件機制

甩動方式發送文件是通過調用設備中的加速度感應器來實現。通過建立實現Android設備中的SensorListener接口ShakeSensorActivity類,并在該類中添加加速度偵聽事件,通過判斷設備X、Y、Z方向的總晃動值,判斷是否需要觸發傳送事件,如圖1所示。

以音樂播放器模塊為例,如果以設備總晃動值100作為一個測試判斷點,那么當你甩動手機,總晃動值大于100時,在音樂播放界面時就Intent發送操作。

2.2 服務器方式傳輸原理

服務器方式傳輸原理如圖2所示,通過WLAN無線網絡,利用服務器完成手機間文件傳輸。

圖1 甩動事件機制類圖 圖2服務器方式傳送流程圖

通過Struts框架完成手機和服務器端的文件傳送軟件,服務器端代碼運行在Tomcat服務器,通過Http協議實現傳輸。

2.3 服務器方式傳輸設計

2.3.1 手機端和服務器設置在同一局域網內,編寫代碼實現手機端和服務器的連接。

2.3.2 編寫代碼,完成客戶端將歌曲的相關信息上傳到服務器的功能,核心代碼如下:

……

HttpPost hp=new HttpPost(uploadurl);

MultipartEntity me=new MultipartEntity();

……

if(hr.getStatusLine().getStatusCode()==HttpStatus.SC_OK){

Message msg=handler.obtainMessage();

msg.what=1;

msg.obj=“分享成功”;

handler.sendMessage(msg);

}else{

Message msg=handler.obtainMessage();

msg.what=1;

msg.obj=“分享失敗”;

handler.sendMessage(msg);

}

……

2.3 編寫代碼,完成服務器接收到歌曲,并提供給下一臺設備下載。

2.4 SOCKET方式傳輸原理

SOCKET方式傳輸原理是:將接收者的手機當作服務器,開啟服務器端程序,等待接收發送者的手機通過甩動并將需要發送的文件發送到接收者的手機上,具體見圖3所示。有時為了更方便操作,可將接收者通過廣播方式,將自己的IP地址進行廣播,發送方在接收到廣播信息后,記錄廣播者地址,當需要發送時,選擇該地址即可。

2.5 SOCKET方式傳輸設計

2.5.1 作為服務器端的手機獲取本機的IP地址。

2.5.2 作為傳輸端的手機輸入/選擇對方IP地址進行連接。

2.5.3 兩只手機連接成功進行文件傳輸。

傳輸端核心代碼:

……

if(socket.isConnected()){ handler.sendEmptyMessage(UPLOAD_ING);

reader = new DataInputStream(new BufferedInputStream(new FileInputStream(audioFile)));

out = new DataOutputStream(socket.getOutputStream());

out.writeInt(UP_LOAD);

out.writeUTF(fname);

int bufferSize = 2*1024;

buf = new byte[bufferSize];

int read = 0;

while((read = reader.read(buf)) != -1){

out.write(buf, 0, read);

}

handler.sendEmptyMessage(UPLOAD_SUCCESS);

}

……

3 測試結果

3.1 服務器方式傳輸測試

3.1.1 進入播放頁面甩動手機,選擇好友wjy發送。

3.1.2 歌曲上傳到服務器。

3.1.3 將用戶切換至剛才選擇的wjy,會出現好友分享成功提示。

3.2 SOCKET點對點方式傳輸測試

3.2.1 作為服務器端的手機獲取本機IP。

3.2.2 作為傳輸端的手機輸入對方IP進行連接。

4 結束語

智能手機通過甩動完成資料快速傳遞是利用Android手機中的加速度感應器實現。傳送文件有兩種途徑:一種為服務器傳送,這種方式相對來說穩定。一種為Socket點對點傳送,這種方式相對來說比較簡潔,設計者可根據需要選擇其中一種完成。

參考文獻

[1]王秀芳,楊陽.基于Android的YOBO在線音樂播放器[J].科學技術與工程,2011,11:2506-2509.

[2]張正政,林耀榮.基于Android系統的影音播放器開發[J].現代電子技術,2011,02:5-8.

作者簡介:謝思健(1991-),男,寧波大紅鷹學院信息工程學院,研究方向:軟件開發。

楊昱 (1969-),男,副教授,研究方向:軟件開發,文本檢索。

主站蜘蛛池模板: 直接黄91麻豆网站| 欧美翘臀一区二区三区| 欧美成人h精品网站| 99青青青精品视频在线| 国产精品原创不卡在线| 日韩在线永久免费播放| 四虎永久免费在线| 国产免费怡红院视频| 婷婷在线网站| 国产精品自拍合集| 黄色一级视频欧美| A级全黄试看30分钟小视频| 无码又爽又刺激的高潮视频| 91精品啪在线观看国产| 免费看美女自慰的网站| 欧美日韩中文国产va另类| 男女男免费视频网站国产| 片在线无码观看| 国产一级一级毛片永久| 亚洲天堂视频在线观看免费| 亚洲人妖在线| 成人一区专区在线观看| 欧美一级专区免费大片| 国产女人在线视频| 国产极品美女在线| 色综合天天综合中文网| 91热爆在线| 亚洲欧美日韩中文字幕在线一区| 欧美日韩国产成人在线观看| 国产无人区一区二区三区| 人妻丰满熟妇AV无码区| 久久综合色天堂av| 熟女日韩精品2区| 欧美日韩一区二区在线播放| 欧美专区日韩专区| 亚洲精品国产日韩无码AV永久免费网| 91久久偷偷做嫩草影院| 国产精品亚欧美一区二区| 精品天海翼一区二区| 91精品视频在线播放| 黄色免费在线网址| 国产精品男人的天堂| 91成人在线观看视频| 国内精品视频| 黄片在线永久| 亚洲欧美日韩成人在线| 亚洲综合色吧| 亚洲系列无码专区偷窥无码| 国产一区二区网站| 操国产美女| 手机在线看片不卡中文字幕| 日本午夜精品一本在线观看| 亚洲第一成年网| 国产天天色| 精品91视频| 国产欧美精品一区aⅴ影院| 欧美一区二区福利视频| 久久久精品国产SM调教网站| 国模粉嫩小泬视频在线观看| 国产在线观看一区二区三区| 四虎成人在线视频| 欧美日韩第二页| 亚洲自拍另类| 99尹人香蕉国产免费天天拍| 一级一级特黄女人精品毛片| 91精品亚洲| 国产靠逼视频| 亚洲va在线观看| 亚洲中文无码av永久伊人| 六月婷婷激情综合| 国产麻豆永久视频| 亚洲另类第一页| 在线无码私拍| 99视频精品在线观看| 亚洲另类色| 成人另类稀缺在线观看| 国产午夜无码专区喷水| 91小视频在线| 亚洲日韩精品无码专区97| 欧美日韩一区二区三区在线视频| 免费Aⅴ片在线观看蜜芽Tⅴ| 国产成人午夜福利免费无码r|