多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > 綜合技術 > [置頂] Android WiFiDirect 一個jar包搞定一切

[置頂] Android WiFiDirect 一個jar包搞定一切

來源:程序員人生   發布時間:2016-12-01 15:42:56 閱讀次數:2847次

概要:
本文主要介紹基于Android原生WiFidirect封裝的jar包。其中實現的要點有:
1,IP列表管理;
2,1行代碼配置WiFidirect;
3,實現了文本,文件,buffer的通訊傳遞;
4,自動連接與恢復(當利用強迫退出后,再次進入的自動連接進程)。
以上4點都是原生WiFidirect未實現的,相信對想基于WiFidirect進行開發的朋友會有所幫助。

想必對WiFidirect有些了解的朋友都知道,WiFidirect在Android4.0后得以支持,并且傳遞數度,距離都遠好過WiFi熱門與藍牙,并且開啟WiFidirect不影響正常的wifi上網。做近場通訊絕對是個好東西!

為了方便以后的開發,這里本人將全部WiFidirect通訊工作從WiFidirect的開啟、搜索、連接、傳遞信息都進行了封裝。基本做到了在項目中以極少的代碼較好的使用WiFidirect進行通訊。這里筆者也分享給大家。

正文:
1,系統功能描寫:
本SDK終究目的就是完成通訊,下圖能很好的說明(圖中結構僅供參考)。
這里寫圖片描述
2,接入與配置:
a,下載SDKjia包,地址:http://download.csdn.net/detail/coycleipenghui/9634551;
b,導入到項目中(FriendMusic為demo項目);
這里寫圖片描述
c,初始化配置;
(1)WifiDirectManager.getInstance().init() // 初始化SDK
(2)WifiDirectManager.getInstance().setFileSaveDir() //設置緩存路徑
具體代碼以下:

WifiDirectManager.getInstance().init(getActivity(), new OnPeersDataChangeListener() {//裝備變化通知接口 @Override public void onPeersDataChange() { //周圍裝備產生改變 } }, new OnGroupListChangeListener() { @Override public void onGroupListChange() { //組內裝備(已連接裝備)產生改變 } }, new OnReceiveDataListener() {//數據接收接 其中MyWifiP2pDevice 是指該數據來源裝備 @Override public void onReceiveText(final String text, final MyWifiP2pDevice myWifiP2pDevice) { //收到文本消息 } @Override public void onReceiveByte(final byte[] bytes, MyWifiP2pDevice myWifiP2pDevice) { //收到byte數組 } @Override public void onReceiveFile(final String s,final MyWifiP2pDevice myWifiP2pDevice,final String tag) { //收到文件 s為本地文件存儲路徑 } }); WifiDirectManager.getInstance().setFileSaveDir(Environment.getExternalStorageDirectory()+"/FriendMusic/musicCache");//設置文件緩存路徑

3,使用:
開啟WiFidirect:

WifiDirectManager.getInstance().open();

關閉WiFidirect:

WifiDirectManager.getInstance().close();

搜索周圍裝備:

WifiDirectManager.getInstance().startSearch();//搜索結果將通過OnPeersDataChangeListener監聽器觸發

在OnPeersDataChangeListener觸發后便可調用下面方法更新裝備列表。
//獲得周圍裝備:

WifiDirectManager.getInstance().getPeers();//返回值是ArrayList<MyWifiDirectDevice> 列表

獲得組中裝備

WifiDirectManager.getInstance().getGroup();//返回值是ArrayList<MyWifiDirectDevice> 列表

連接裝備
在搜索完成后會得到周圍裝備列表對象,這里傳入任意1裝備對象便可約請其加入組。

WifiDirectManager.getInstance().addGroups(myWifiP2pDevice);

發送文本消息:

WifiDirectManager.getInstance().sendTextByDevice(wifiP2pDevice,"msg");//傳入對方裝備對象和文本類容

發送文件:

WifiDirectManager.getInstance().sendFileByDevice(wifiP2pDevice,"file_path","filetag");//傳入裝備對象,文件路徑,和文件標簽。其中文件標簽是為了方面接收方在收到文件時可以對文件做基本的判斷,由用戶自定義。

發送byte數組:

WifiDirectManager.getInstance().sendBufferByDevice(wifiP2pDevice,new byte[10]);

4,總結:
根據本SDK本人制作了1個demo項目供大家參考。基于WiFidirect的音樂播放器,在連接后能夠查看好友的手機音樂歌單,能控制對方裝備進行播放(基于json文本傳輸),并且能在自己裝備上播放好友裝備的歌曲(基于文件傳輸)。個人覺得也是1款好玩的音樂app,合適好友之間1起玩。詳情可查看下1篇博客 基于WiFidirect的音樂播放器

下載地址:https://github.com/coyclei/FriendMusic
筆者能力有限,SDK中難免會出現1些毛病,還望大家多多包涵,并請及時向我反饋交換。謝謝!

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 色拍自拍亚洲综合在线 | 欧美一级aⅴ毛片 | 欧美午夜色大片在线观看免费 | 在线视频综合视频免费观看 | 一区二区三区免费视频播放器 | 国产精品久久久久影院免费 | 中文乱码视亚洲 | 欧美孕妇乱大交xxxx | 亚洲国产精品久久精品成人 | 日本一区二区视频免费播放 | 欧美色图校园春色 | 在线观看日本www | 欧美日韩国产成人综合在线 | 亚洲精品国自产拍影院 | 亚洲综合在线观看视频 | h网在线| 亚洲色图网站 | 亚洲都市春色系列小说类型 | 亚洲欧美中文字幕 | 秋霞理论最新三级理论最 | 国产视频 每日更新 | japanese性护士tube | 国产一区二区视频在线播放 | 亚洲视频中文字幕在线观看 | 亚洲视频中文 | 99久久精品国产麻豆 | 91精品欧美一区二区三区 | 91久久国产精品 | 爱爱免费网址 | 亚洲人成网站在线播放942一 | 精品国产综合区久久久久久 | 色综合在 | 欧美乱爱| 国产三级日产三级 | 午夜在线免费视频 | a视频免费在线观看 | 亚洲一级色 | 亚州精品一区二区三区 | 天堂网男人 | 欧美激情αv一区二区三区 欧美激情第二页 | 天天躁夜夜燥2021 |