簡體   English   中英

從Android下載/上傳圖片

[英]Download/upload image from android

首先,我還沒有編寫任何代碼,我只是在設計/思考階段,所以我正在做一些有關如何做自己想做的事情的研究,這篇文章是在我開始之前獲得一些幫助的。編碼。

因此,我想開發一個應用程序,該應用程序需要一些信息以及圖像(最好是來自攝像機)的信息,然后將其上傳到測試計算機的數據庫中,然后再上傳至專用服務器。

我的想法是制作一些Web服務,包括傳輸服務,以便我可以從數據庫中下載圖像並將圖像上傳到我的數據庫,該數據庫是MongoDB No-SQL數據庫(No-RDBMS)。 該數據庫基於文檔,這使查詢變得超快,並且存儲二進制文件不再是問題。

但是,這是我的第一個問題: 使用網絡服務上傳/下載文件是否很好? 尤其是對於移動設備? 如果不是,我可以使用什么,如果不是問題,那么我應該使用什么框架(我在考慮Axis2)以及原因。 我將嘗試使用某些庫來盡量減小文件大小,以縮短傳輸時間。

第二個問題是在一天的特定時間批量上傳,還是在設備上完成操作后立即上傳文件,是否更好? ,我知道這是一個簡單的問題,但這是對啟蒙的追求,我想知道,尤其是在移動設備上,什么是最好的。

現在, 我應該使用哪種流進行上傳/下載? 我一直在閱讀,並將圖像轉換為字節數組會消耗大量CPU,並且我不希望我的應用程序運行緩慢,但這是最簡單的方法。 然后使用DataHandlers進行傳輸,但是看起來很復雜,但對CPU卻不是那么苛刻(如果我錯了,請對我在此處說的任何內容進行糾正),所以我不知道該用什么。

感謝您的寶貴時間,並感謝您閱讀本文,但我正在努力提高自己的技能,因此,我們將不勝感激。

編輯

我發現此線程對於我要執行的操作非常有用:

Is it good to upload/download a file using a web service? 

是的,您可以。使用Web服務,您可以輕松地從服務器上載/下載文件。 但是您還必須在服務器端進行加密(使用PHP,.net等。)。 這對您將來使用也很有用,只是您必須更改服務器的地址。

It is better to make a batch upload at specific times of day, or upload the files immediately after the operations are finished on the device?

您可以根據自己的需求和網絡可用性以及帶有要上傳文件的操作號來實現。 您可以在應用程序運行時在后台(使用AsyncTask,Service,Thread等)在后台執行此操作,因此我認為前端活動沒有任何開銷。

What kind of stream should I use for the upload/download?

這還取決於您如何維護服務器上的數據或操作服務器上的數據。 如果您在Web服務請求中使用直接文件(有一個apache庫)來上傳下載文件,我認為您不必為在ByteArray中轉換數據而進行復雜的工作(但我認為它是在后台發生的)。

希望現在您的工作完成。

如果是我,我會使用套接字進行通信。 在捕獲,標記等每個圖像之后,啟動一個新線程來執行上載-甚至是一項服務,因此,如果您的應用程序關閉,上載將繼續。 您可以跟蹤頂級欄桿ala市場的進度。 在開始上傳之前,您的手機可能會執行某種CRC校驗,然后在服務器執行完畢后讓服務器執行相同的CRC操作,因此您也需要進行錯誤檢查。 您可以將服務中的所有上傳排隊。

轉換為BYTE數組並不是一件大事。 如果您將整個過程排除在外,請選擇Esp。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM