(9)launcher3 之 外部 更換主題Theme APP demo 實現原理以及demo

來源:互聯網
上載者:User

標籤:blog   http   ar   sp   檔案   資料   2014   on   log   

先說下我的思路:

luancher3裡面更換表徵圖的邏輯如下:

先從APP資源套件裡查詢--資料庫查詢--其他地方查詢ICON

因此,我們只需要把 從資料庫擷取ICON 代碼提前到  從APP資源套件提取即可。


再來我們外部APP只需對Launcher.db的 ICON欄位進行 添加表徵圖,即可。再通知案頭去更新表徵圖,即可完成整個案頭的 表徵圖自動更換的效果。


這樣做的優點:

代碼修改量少,主題的APP無須跟Launcher3這個案頭APP有任何關聯。相當於外部應用。

(前面第8我已經稍微簡單介紹了下launcher3的內容提供者,需要寫入2個許可權)


具體思路比較簡單清晰。並且實現了。

有需要的可以留言,我可以給demo哈。



讀取按鈕:

通過內容提供者對Launcher.db資料庫進行讀取資訊並解析成List<shotCupInfo>對象,方便後面進行遍曆更新表徵圖到資料庫。


更新按鈕:點擊後,將根據前面擷取到的APP的ID進行指定更新Launcher.db的 ICON資料庫。在這裡我們會將SD卡裡面ICON轉為位元組數組,進行儲存到資料庫。


應用主題:通知案頭去重新整理。(這一步其實不用做的,因為當你進行第二步,更新操作的時候,訪問資料庫時候,案頭的資料庫註冊了觀察者監聽資料庫發生改變,則進行workspace表徵圖的更新。)




主題來源:MIUI佈景主題資源包解壓而來:

資源結構目錄如下

手機SD卡根目錄:_theme------------------下麵包含各個ZIP壓縮格式的主題包。

當我們啟動主題APP的時候,會自動檢測_theme該目錄下ZIP檔案,如果有存在就進行ZIP解壓,並刪除原來的ZIP檔案,在這裡我們進行了資源的解壓。

解壓目錄如下:

icon:放表徵圖資源:目錄結構為icon_res_drawble-xhdmi

wallpaper:放的是壁紙2張,一張為鎖屏,一張為預設主介面壁紙

preview:放的主題的,便於主題市場,進行擷取資源顯示給使用者看。


(以上主題包資源均來自MIUI主題的目錄結構。)





demo點擊應用主題後:更換表徵圖示範:

由於只是做測試,所有表徵圖也只是隨便替換幾個而已。功能實現了,後面的事情就好了。修修補補的事情了。





(9)launcher3 之 外部 更換主題Theme APP demo 實現原理以及demo

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.