說說封裝sdk的那些坑(上)

2021-08-03 06:06:09 字數 1073 閱讀 6008

這半個月一直在做一件事,公升級sdk的修改、打包、整合,移交給我的sdk原始碼是個半成品,效率低,邏輯混亂,好多**是直接複製貼上,連空格都沒對齊。強迫症犯了,拿過來直接重新改造。

public void onserviceconnected(componentname name, ibinder service)  catch (remoteexception e) 

}

mreceiver是dialogfragment成員變數,接收來自service的訊息:

private messenger mreceiver = new messenger(new handler()

super.handlemessage(msg);

}});

private messenger mmessenger = new messenger(new handler()

break;

case constant.download_start:

startdownload();

break;

case constant.network_exception:

if (mfileinfo != null)

break;}}

});

private void startdownload()

if (msender != null) catch (remoteexception e) }}

});task.ispause = false;

}

if (connection.getresponsecode() == 206)

if (ispause)

}log.i(tag, "threadid = "+mthreadinfo.getthreadid()+" isfinished");

// 標識執行緒執行完畢

isfinished = true;

checkallthreadfinished();

}

說說封裝sdk的那些坑(下)

之前介紹了修改sdk後的 大體架構,其實修改 倒不是什麼麻煩的事,無非實現一種新功能,下面說說真正讓人抓狂的事 封裝和整合sdk。首先要打包,如果是純 的sdk匯出成jar包就行了 像我這樣sdk裡還包含資源要打包aar。編譯成功用gradle直接打包成release包 模組名稱為downloads...

說說Socket的那些事兒 上

兩個計算機通訊的過程,就像兩個人打 一樣 socket 套接字 socket又稱 套接字 應用程式通常通過 套接字 向網路發出請求或者應答網路請求。為網路服務提供一種機制 網路通訊其實就是socket之間的通訊 資料在兩個socket之間通過io傳輸 socket是純c語言的,是跨平台的 http基...

WebRTC sdk 封裝踩過的那些坑

背景資訊 csdn第一篇部落格 思路 可選方案1 從頂層peerconnection介面啟用,此方案需要涉及大量ice及sdp資訊的交換,理解與流程梳理,成本高,放棄 綜合考慮,選擇方案2.也有從更底層的call層api進行sdk封裝的考慮,可以後續考察,可能靈活性強於mediaenging,工作量...