2018年6月27日 星期三

Eclipse上輸入Picasso (連Maven都不用)

為了使用相較之下比較精簡的MD360Android,所以開始使用Picasso,(不然之前都使用Glide。)

okhttp和okio這兩個專案都有提供jar檔,可以直接下載下來輸入libs中使用。

GitHub內的Picasso專案,扣掉TestUnit Package外,其實就可以簡單拆解成四個項目:Picasso、Picasso-pollexor、Picasso-provider、Squareup-pollexor。





但再仔細觀察,這四個專案其實都沒有res內容,也就是說可以直接整併在同一個專案下。Squareup-pollexor甚至只是個純Java-client的專案。

Picasso專案內本身並不包含「Squareup-pollexor」的程式碼,是在gradle的builder中匯入,所以要使用搜尋的方式找到這個專案才可以。(直接使用Package的名稱,如果使用Pollexor或Thumbor,都有其他相同名稱的專案存在。)



因為都沒有使用到Resource檔的內容,本來應該編譯完就可以直接輸出一份jar做使用了!

(懶人說明)額外注意的是:最新的Picasso的Package名稱是「com.squareup.picasso3」,GitHub上很多使用Picasso的第三方專案都還在使用「com.squareup.picasso」,所以只要修改import名稱即可使用。


最新版本「Picasso3」的特色是:不能直接使用「Picasso類別」的static函數,必須要先從「PicassoProvider類別」的static函數「get」取得;但直接做一樣會出錯,因為PicassoProvider中沒有Context參數,而它是使用Provider去獲取Context參數,所以必須要在專案的AndroidManifest檔中加入PicassoContextProvider的設定值。

因為這篇文章是使用Eclipse,不搭配Gradle或Maven,所以參數檔的寫法要注意...

在PicassoProvider套件專案內可以找到一個AndroidManifest檔,裡面有這個Provider的設定寫法。

<application>
<provider
android:name=".PicassoContentProvider"
android:authorities="${applicationId}.com.squareup.picasso3"
android:exported="false"/>
</application>


但要注意,直接複製貼上會引來編譯器錯誤,必須要把含有「$」的「applicationId」直接刪除,然後「name」標籤後面要加上檔案路徑(修改為「com.squareup.picasso3.PicassoContentProvider」)。

2018年6月26日 星期二

Eclipse上的WorkingSet

我是在這篇文章中看到這個東西的使用方式......(不知道他老兄從哪裡看來的原文。)

每新建一個專案時,會有個「Working Sets」要大家選擇並輸入。

這東西的功能基本上就是把「PackageExplore」中的Project分類。

例如新增一個「SupportV4」類別,然後把AndroidSupportV4相關的Project都設定為這個WorkingSet,那新增完後會直接在「AndroidSupportV4」下找到這個新增的Project。

當然,說白了就只是把PackageExplore區的Project分類後做成可以「打開/關上」的形式,對開發(克服技術困難)的速度一點影響也沒有。

但開發時的心情跟管理程式碼的效率相信會好很多。


但如何管理已經存在的Project?Project上點右鍵,然後選擇「AssignWorkingSet」,就可以了。


基礎使用方式,建議翻翻上面的連結。