---恢復內容開始---
1,簡單說明
MTP,微軟公司規定的新的傳輸規則(字面本來應該是協議的,但是自己感覺更像是規則,制定了基本上的所有路線,剩下的是你想怎么選擇罷了,使用者完全沒有可能在它的框架里面再生成其他的東西)。MTP不但應用在USB(以USB端口傳輸數據的設備)方面,還應用在IP方面。不過主要還是在USB設備方面。現在很多手機都支持。
2,基本的工作原理
關於MTP的文檔,我會在參考文件處列出。僅供大家參考。
MTP協議本身,規定了USB設備的所有信息,文件讀取方式,傳輸方式,讀取方式甚至API的命名方式。
簡單的說,所有東西都用特定的數值規定。想要明白數值的意義,就需要查看MTP協議的內容。
剩下的就是通過API進行調用。
稍微用過Linux的,就基本上明白電腦是怎么讀取文件的。
基本上我們要讀取文件,都需要以下幾個要素。
>1,設備的信息
>2,設備的存儲的文件
>3,文件的路徑
>4,文件的屬性(大小,只讀等等)
>5,查看自身的內存大小,進去讀取
就像上述的一樣,我們是主動發起者,我們想干嘛,都是我們開始發起的,USB就是等個我們的命令。
我們發一個命令,它回復我們想要的東西。這樣就能減少移動設備的功能性。
(畢竟移動設備優勢在於小,太多的功能性,在物理上很難有變小的可能。
當然現在為了分擔主設備的運行,也有一些在設備本身添加功能。)
MTP協議也是基於上面的想法,使得主機(一般是指電腦)成為發起者,USB端是回應者。
以下【(API)】的地方,是指由相應的API存在
>連接設備,會進行初始化(API),登入設備(API),讀取設備的信息(API)
>然后在程序意義上開始連接設備(API),生成一個任務,以后所有的數據交流都是在這個任務有效的情況下產生的
>接下來,開始查看設備的存儲的文件(API)
>查看路徑(API)
>文件的屬性(API)
>讀取(API)
幾乎所有的操作都是通過API完成的,而且在讀取的時候都是通過文件包的方式進行讀取的。
之所以不寫出具體API名稱,是因為這些必須自己去詳讀,這里只是簡單介紹它。不過大家懂點英文,估計不看具體介紹也能看懂,使用。
基本上會跟以下的名詞打交道。
1,handle。這里直接可以解釋成“指向”。不管是devicehandle,還是objecthandle,都是指向設備,或者指向文件的意思
2,object。文件,文件夾
3,get。API中,獲取的意思。getXXXinfo,就是獲取信息,getXXX就是讀取了。
4,format。這個就需要看文檔了,對應相應的意思。
